diff --git a/jikimo_workorder_exception/__init__.py b/jikimo_workorder_exception/__init__.py new file mode 100644 index 00000000..c3d410ea --- /dev/null +++ b/jikimo_workorder_exception/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import models +from . import controllers diff --git a/jikimo_workorder_exception/__manifest__.py b/jikimo_workorder_exception/__manifest__.py new file mode 100644 index 00000000..4c63ed6d --- /dev/null +++ b/jikimo_workorder_exception/__manifest__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +{ + 'name': '机企猫 工单异常记录', + 'version': '1.0', + 'summary': '记录工单的异常日志', + 'sequence': 1, + 'category': 'sf', + 'website': 'https://www.sf.jikimo.com', + 'depends': ['sf_manufacturing', 'sf_mrs_connect'], + 'data': [ + 'views/mrp_workorder_views.xml', + 'security/ir.model.access.csv', + ], + 'demo': [ + ], + 'license': 'LGPL-3', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/jikimo_workorder_exception/controllers/__init__.py b/jikimo_workorder_exception/controllers/__init__.py new file mode 100644 index 00000000..deec4a8b --- /dev/null +++ b/jikimo_workorder_exception/controllers/__init__.py @@ -0,0 +1 @@ +from . import main \ No newline at end of file diff --git a/jikimo_workorder_exception/controllers/main.py b/jikimo_workorder_exception/controllers/main.py new file mode 100644 index 00000000..6a17f958 --- /dev/null +++ b/jikimo_workorder_exception/controllers/main.py @@ -0,0 +1,89 @@ +from odoo import http, fields +from odoo.http import request +import json +import logging +from odoo.addons.sf_mrs_connect.controllers.controllers import Sf_Mrs_Connect +from odoo.addons.sf_manufacturing.controllers.controllers import Manufacturing_Connect + +_logger = logging.getLogger(__name__) + +class WorkorderExceptionConroller(http.Controller): + + @http.route('/AutoDeviceApi/BillError', type='json', auth='public', methods=['GET', 'POST'], csrf=False, + cors="*") + def workder_exception(self, **kw): + """ + 记录工单异常 + :param kw: + :return: + """ + _logger.info('workder_exception:%s' % kw) + try: + res = {'Succeed': True, 'ErrorCode': 0, 'Error': ''} + datas = request.httprequest.data + ret = json.loads(datas)['Datas'] + if not ret.get('RfidCode') or not ret.get('ErrorType'): + res = {'Succeed': False, 'ErrorCode': 400, 'Error': '参数错误'} + return json.JSONEncoder().encode(res) + + # 通过RfidCode获取就绪的CNC工单 + workorder = request.env['mrp.workorder'].sudo().search([ + ('rfid_code', '=', ret['RfidCode']), + ('routing_type', '=', 'CNC加工'), + ]) + if not workorder: + res = {'Succeed': False, 'ErrorCode': 401, 'Error': '无效的工单'} + return json.JSONEncoder().encode(res) + + # 创建工单异常记录,关联工单 + request.env['jikimo.workorder.exception'].sudo().create({ + 'workorder_id': workorder.id, + 'exception_code': ret.get('ErrorType'), + 'exception_content': ret.get('Error', '') + }) + + except Exception as e: + res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} + _logger.info('workder_exception error:%s' % e) + return json.JSONEncoder().encode(res) + + +class SfMrsConnectController(Sf_Mrs_Connect): + + @http.route('/api/cnc_processing/create', type='json', auth='sf_token', methods=['GET', 'POST'], csrf=False, + cors="*") + def get_cnc_processing_create(self, **kw): + """ + 更新工单异常记录【'YC001', 'YC004'】 + """ + res = super(SfMrsConnectController, self).get_cnc_processing_create(**kw) + # 如果有未完成的YC0001、YC0004异常记录,则标记为完成 + res = json.loads(res) + _logger.info('已进入工单异常:%s' % res) + if res.get('production_ids'): + try: + productions = request.env['mrp.production'].sudo().search([('id', 'in', res.get('production_ids'))]) + if productions.workorder_ids: + productions.workorder_ids.handle_exception(['YC0001', 'YC0004']) + except Exception as e: + _logger.info('更新工单异常记录失败:%s' % e) + return json.JSONEncoder().encode(res) + +class ManufactruingController(Manufacturing_Connect): + + @http.route('/AutoDeviceApi/FeedBackStart', type='json', auth='none', methods=['GET', 'POST'], csrf=False, + cors="*") + def button_Work_START(self, **kw): + """ + 更新工单异常记录【'YC0002', 'YC0003'】 + """ + res = super(ManufactruingController, self).button_Work_START(**kw) + res = json.loads(res) + _logger.info('已进入工单异常:%s' % res) + if res.get('workorder_id'): + try: + workorder = request.env['mrp.workorder'].sudo().browse(int(res.get('workorder_id'))) + workorder.handle_exception(['YC0002', 'YC0003']) + except Exception as e: + _logger.info('更新工单异常记录失败:%s' % e) + return json.JSONEncoder().encode(res) \ No newline at end of file diff --git a/jikimo_workorder_exception/models/__init__.py b/jikimo_workorder_exception/models/__init__.py new file mode 100644 index 00000000..9ab4d803 --- /dev/null +++ b/jikimo_workorder_exception/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +from . import jikimo_workorder_exception +from . import mrp_workorder diff --git a/jikimo_workorder_exception/models/jikimo_workorder_exception.py b/jikimo_workorder_exception/models/jikimo_workorder_exception.py new file mode 100644 index 00000000..19dd824b --- /dev/null +++ b/jikimo_workorder_exception/models/jikimo_workorder_exception.py @@ -0,0 +1,14 @@ +from odoo import models, fields + + +class JikimoWorkorderException(models.Model): + _name = 'jikimo.workorder.exception' + _description = '工单异常记录' + _order = 'id desc' + + workorder_id = fields.Many2one('mrp.workorder', string='工单') + exception_code = fields.Char('异常编码') + exception_content = fields.Char('反馈的异常/问题信息') + completion_time = fields.Datetime('处理完成时间') + state = fields.Selection([('pending', '进行中'), ('done', '已处理')], string='状态', default='pending') + \ No newline at end of file diff --git a/jikimo_workorder_exception/models/mrp_workorder.py b/jikimo_workorder_exception/models/mrp_workorder.py new file mode 100644 index 00000000..64f0dd8f --- /dev/null +++ b/jikimo_workorder_exception/models/mrp_workorder.py @@ -0,0 +1,40 @@ +from odoo import models, fields +import logging + +_logger = logging.getLogger(__name__) + +class MrpWorkorder(models.Model): + _inherit = 'mrp.workorder' + + exception_ids = fields.One2many('jikimo.workorder.exception', 'workorder_id', string='工单异常记录') + + def write(self, values): + if values.get('test_results') and self.exception_ids: + pending_exception = self.exception_ids.filtered( + lambda exc: exc.state == 'pending' and exc.exception_code == 'YC0005' + ) + if pending_exception: + pending_exception.write({ + 'completion_time': fields.Datetime.now(), + 'state': 'done' + }) + return super(MrpWorkorder, self).write(values) + + def handle_exception(self, exception_codes): + """ + 处理异常 + :param exception_codes: 需要处理的异常编码列表 + """ + if not isinstance(exception_codes, list): + exception_codes = [exception_codes] + if self.exception_ids: + _logger.info('workorder.exception_ids:%s' % self.exception_ids) + pending_exception = self.exception_ids.filtered( + lambda exc: exc.state == 'pending' and exc.exception_code in exception_codes + ) + _logger.info('pending_exception:%s' % pending_exception) + if pending_exception: + pending_exception.write({ + 'completion_time': fields.Datetime.now(), + 'state': 'done' + }) diff --git a/jikimo_workorder_exception/security/ir.model.access.csv b/jikimo_workorder_exception/security/ir.model.access.csv new file mode 100644 index 00000000..bbc066e4 --- /dev/null +++ b/jikimo_workorder_exception/security/ir.model.access.csv @@ -0,0 +1,2 @@ +"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" +"access_jikimo_workorder_exception","access.jikimo.workorder.exception","model_jikimo_workorder_exception","mrp.group_mrp_user",1,1,1,0 diff --git a/jikimo_workorder_exception/tests/__init__.py b/jikimo_workorder_exception/tests/__init__.py new file mode 100644 index 00000000..99feb117 --- /dev/null +++ b/jikimo_workorder_exception/tests/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import test_jikimo_workorder_exception diff --git a/jikimo_workorder_exception/tests/common.py b/jikimo_workorder_exception/tests/common.py new file mode 100644 index 00000000..bbc729db --- /dev/null +++ b/jikimo_workorder_exception/tests/common.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import fields, Command +from odoo.tests.common import TransactionCase, HttpCase, tagged, Form + +import json +import time +import base64 +from lxml import etree + +@tagged('post_install', '-at_install') +class TestJikimoWorkorderExceptionCommon(TransactionCase): + + def setUp(self): + super(TestJikimoWorkorderExceptionCommon, self).setUp() + # 获取名字为“1#自动生产线”的制造中心 + workcenter = self.env['mrp.workcenter'].search([('name', '=', '1#自动生产线')], limit=1) + # 创建一个产品 + product_product = self.env['product.product'].create({ + 'name': '测试产品', + 'type': 'product', + }) + uom_unit = self.env.ref('uom.product_uom_unit') + # 创建一个bom + self.bom = self.env['mrp.bom'].create({ + 'product_id': product_product.id, + 'product_tmpl_id': product_product.product_tmpl_id.id, + 'product_uom_id': uom_unit.id, + 'product_qty': 1.0, + 'type': 'normal', + }) + # 创建一个制造订单 + self.production = self.env['mrp.production'].create({ + 'name': 'Test Production', + 'product_id': product_product.id, + 'bom_id': self.bom.id, + 'company_id': self.env.ref('base.main_company').id, + }) + # 创建一个测试工单 + self.workorder = self.env['mrp.workorder'].create({ + 'name': 'Test order', + 'workcenter_id': workcenter.id, + 'product_uom_id': self.bom.product_uom_id.id, + 'production_id': self.production.id, + 'duration_expected': 1.0, + 'rfid_code': 'test-123456', + 'routing_type': 'CNC加工' + }) \ No newline at end of file diff --git a/jikimo_workorder_exception/tests/test_jikimo_workorder_exception.py b/jikimo_workorder_exception/tests/test_jikimo_workorder_exception.py new file mode 100644 index 00000000..69220947 --- /dev/null +++ b/jikimo_workorder_exception/tests/test_jikimo_workorder_exception.py @@ -0,0 +1,53 @@ +import json +from datetime import datetime +from odoo.addons.jikimo_workorder_exception.tests.common import TestJikimoWorkorderExceptionCommon + +class TestJikimoWorkorderException(TestJikimoWorkorderExceptionCommon): + + def test_create_exception_record(self): + exception_record = self.env['jikimo.workorder.exception'].create({ + 'workorder_id': self.workorder.id, + 'exception_code': 'YC0001', + 'exception_content': '无CNC编程' + }) + + self.assertTrue(exception_record) + self.assertEqual(exception_record.exception_content, '无CNC编程') + self.assertEqual(exception_record.workorder_id.id, self.workorder.id) + self.assertEqual(exception_record.exception_code, 'YC0001') + + def test_handle_exception(self): + exception_record = self.env['jikimo.workorder.exception'].create({ + 'workorder_id': self.workorder.id, + 'exception_code': 'YC0001', + 'exception_content': '无CNC编程' + }) + self.workorder.handle_exception('YC0001') + self.assertEqual(exception_record.state, 'done') + # 判断完成时间是否为当前分钟 + self.assertEqual(exception_record.completion_time.minute, datetime.now().minute) + + def test_handle_exception_with_invalid_code(self): + exception_record = self.env['jikimo.workorder.exception'].create({ + 'workorder_id': self.workorder.id, + 'exception_code': 'YC0001', + 'exception_content': '无CNC编程' + }) + self.workorder.handle_exception(['YC0002', 'YC0004']) + self.assertEqual(exception_record.state, 'pending') + self.assertEqual(exception_record.completion_time, False) + + + def test_handle_exception_with_test_results(self): + exception_record = self.env['jikimo.workorder.exception'].create({ + 'workorder_id': self.workorder.id, + 'exception_code': 'YC0005', + 'exception_content': '工单加工失败' + }) + self.workorder.write({ + 'test_results': '返工', + 'reason': 'cutter', + 'detailed_reason': '刀坏了', + }) + self.assertEqual(exception_record.state, 'done') + self.assertEqual(exception_record.completion_time.minute, datetime.now().minute) \ No newline at end of file diff --git a/jikimo_workorder_exception/views/mrp_workorder_views.xml b/jikimo_workorder_exception/views/mrp_workorder_views.xml new file mode 100644 index 00000000..e589adb4 --- /dev/null +++ b/jikimo_workorder_exception/views/mrp_workorder_views.xml @@ -0,0 +1,23 @@ + + + + + mrp.workorder.form + mrp.workorder + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jikimo_workorder_exception_notify/__init__.py b/jikimo_workorder_exception_notify/__init__.py new file mode 100644 index 00000000..77bbdbd3 --- /dev/null +++ b/jikimo_workorder_exception_notify/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import models + diff --git a/jikimo_workorder_exception_notify/__manifest__.py b/jikimo_workorder_exception_notify/__manifest__.py new file mode 100644 index 00000000..0b8c1013 --- /dev/null +++ b/jikimo_workorder_exception_notify/__manifest__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +{ + 'name': '机企猫 工单异常消息通知', + 'version': '1.0', + 'summary': '当产生工单异常时,发送消息通知', + 'sequence': 1, + 'category': 'sf', + 'website': 'https://www.sf.jikimo.com', + 'depends': ['jikimo_workorder_exception', 'jikimo_message_notify'], + 'data': [ + 'data/bussiness_node.xml', + 'data/template_data.xml', + # 'security/ir.model.access.csv', + ], + 'demo': [ + ], + 'license': 'LGPL-3', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/jikimo_workorder_exception_notify/data/bussiness_node.xml b/jikimo_workorder_exception_notify/data/bussiness_node.xml new file mode 100644 index 00000000..b772158b --- /dev/null +++ b/jikimo_workorder_exception_notify/data/bussiness_node.xml @@ -0,0 +1,17 @@ + + + + + 无功能刀具 + jikimo.workorder.exception + + + 无定位数据 + jikimo.workorder.exception + + + 加工失败 + jikimo.workorder.exception + + + \ No newline at end of file diff --git a/jikimo_workorder_exception_notify/data/template_data.xml b/jikimo_workorder_exception_notify/data/template_data.xml new file mode 100644 index 00000000..554ef2c2 --- /dev/null +++ b/jikimo_workorder_exception_notify/data/template_data.xml @@ -0,0 +1,38 @@ + + + + + 生产线无功能刀具提醒 + + jikimo.workorder.exception + + markdown + urgent + ### 生产线无功能刀具提醒 +单号:工单[{{workorder_id.production_id.name}}]({{url}}) +原因:生产线无加工程序用的{{function_tool_name}}名称功能刀具 + + + 工单无定位数据提醒 + + jikimo.workorder.exception + + markdown + urgent + ### 生产线无功能刀具提醒 +单号:工单[{{workorder_id.production_id.name}}]({{url}}) +原因:无装夹定位测量数据 + + + 工单加工失败提醒 + + jikimo.workorder.exception + + markdown + urgent + ### 工单加工失败提醒 +单号:工单[{{workorder_id.production_id.name}}]({{url}}) +原因:加工失败,工件下产线处理 + + + \ No newline at end of file diff --git a/jikimo_workorder_exception_notify/models/__init__.py b/jikimo_workorder_exception_notify/models/__init__.py new file mode 100644 index 00000000..76a90c74 --- /dev/null +++ b/jikimo_workorder_exception_notify/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +from . import jikimo_message_template +from . import jikimo_workorder_exception diff --git a/jikimo_workorder_exception_notify/models/jikimo_message_template.py b/jikimo_workorder_exception_notify/models/jikimo_message_template.py new file mode 100644 index 00000000..530cbb99 --- /dev/null +++ b/jikimo_workorder_exception_notify/models/jikimo_message_template.py @@ -0,0 +1,10 @@ +from odoo import models + + +class JikimoMessageTemplate(models.Model): + _inherit = "jikimo.message.template" + + def _get_message_model(self): + res = super(JikimoMessageTemplate, self)._get_message_model() + res.append('jikimo.workorder.exception') + return res \ No newline at end of file diff --git a/jikimo_workorder_exception_notify/models/jikimo_workorder_exception.py b/jikimo_workorder_exception_notify/models/jikimo_workorder_exception.py new file mode 100644 index 00000000..bbe69ab5 --- /dev/null +++ b/jikimo_workorder_exception_notify/models/jikimo_workorder_exception.py @@ -0,0 +1,61 @@ +from odoo import models, api +from odoo.addons.sf_base.commons.common import Common +import requests, logging + +_logger = logging.getLogger(__name__) + + +class JikimoWorkorderException(models.Model): + _name = 'jikimo.workorder.exception' + _inherit = ['jikimo.workorder.exception', 'jikimo.message.dispatch'] + + @api.model_create_multi + def create(self, vals_list): + res = super(JikimoWorkorderException, self).create(vals_list) + # 根据异常编码发送消息提醒 + try: + for rec in res: + if rec.exception_code == 'YC0001': + # 无CNC程序,调用cloud接口 + data = {'name': rec.workorder_id.production_id.programming_no, 'exception_code': 'YC0001'} + configsettings = self.env['res.config.settings'].sudo().get_values() + config_header = Common.get_headers(self, configsettings['token'], configsettings['sf_secret_key']) + url = '/api/message/workorder_exception' + config_url = configsettings['sf_url'] + url + data['token'] = configsettings['token'] + ret = requests.post(config_url, json=data, headers=config_header) + ret = ret.json() + _logger.info('无CNC程序异常消息推送接口:%s' % ret) + elif rec.exception_code == 'YC0002': + # 无功能刀具 + rec.add_queue('无功能刀具') + elif rec.exception_code == 'YC0003': + # 无定位数据 + rec.add_queue('无定位数据') + elif rec.exception_code == 'YC0004': + # 无FTP文件,调用cloud接口 + data = {'name': rec.workorder_id.programming_no, 'exception_code': 'YC0004'} + configsettings = self.env['res.config.settings'].sudo().get_values() + config_header = Common.get_headers(self, configsettings['token'], configsettings['sf_secret_key']) + url = '/api/message/workorder_exception' + config_url = configsettings['sf_url'] + url + data['token'] = configsettings['token'] + ret = requests.post(config_url, json=data, headers=config_header) + ret = ret.json() + _logger.info('无FTP文件异常消息推送接口:%s' % ret) + elif rec.exception_code == 'YC0005': + # 加工失败 + rec.add_queue('加工失败') + except Exception as e: + _logger.error('异常编码发送消息提醒失败:%s' % e) + return res + + def _get_message(self, message_queue_ids): + contents = super(JikimoWorkorderException, self)._get_message(message_queue_ids) + url = self.env['ir.config_parameter'].get_param('web.base.url') + action_id = self.env.ref('mrp.mrp_production_action').id + for index, content in enumerate(contents): + exception_id = self.env['jikimo.workorder.exception'].browse(message_queue_ids[index].res_id) + url = url + '/web#id=%s&view_type=form&action=%s' % (exception_id.workorder_id.production_id.id, action_id) + contents[index] = content.replace('{{url}}', url) + return contents diff --git a/jikimo_workorder_exception_notify/tests/__init__.py b/jikimo_workorder_exception_notify/tests/__init__.py new file mode 100644 index 00000000..318a4c8a --- /dev/null +++ b/jikimo_workorder_exception_notify/tests/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import test_jikimo_workorder_exception_notify diff --git a/jikimo_workorder_exception_notify/tests/common.py b/jikimo_workorder_exception_notify/tests/common.py new file mode 100644 index 00000000..5fefe6bf --- /dev/null +++ b/jikimo_workorder_exception_notify/tests/common.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. +from odoo import fields, Command +from odoo.tests.common import TransactionCase, HttpCase, tagged, Form + +import json +import time +import base64 +from lxml import etree + +@tagged('post_install', '-at_install') +class TestJikimoWorkorderExceptionNotifyCommonNotify(TransactionCase): + + def setUp(self): + super(TestJikimoWorkorderExceptionNotifyCommonNotify, self).setUp() + # 获取最后一个工单 + self.workorder = self.env['mrp.workorder'].search([], order='id desc', limit=1) + \ No newline at end of file diff --git a/jikimo_workorder_exception_notify/tests/test_jikimo_workorder_exception_notify.py b/jikimo_workorder_exception_notify/tests/test_jikimo_workorder_exception_notify.py new file mode 100644 index 00000000..85d304be --- /dev/null +++ b/jikimo_workorder_exception_notify/tests/test_jikimo_workorder_exception_notify.py @@ -0,0 +1,62 @@ +import json +from datetime import datetime +from odoo.addons.jikimo_workorder_exception_notify.tests.common import TestJikimoWorkorderExceptionNotifyCommonNotify + +class TestJikimoWorkorderExceptionNotify(TestJikimoWorkorderExceptionNotifyCommonNotify): + + def test_create_message_template(self): + self.assertTrue(self.env['jikimo.message.template'].search([ + ('name', '=', '生产线无功能刀具提醒'), + ('model', '=', 'jikimo.workorder.exception') + ])) + self.assertTrue(self.env['jikimo.message.template'].search([ + ('name', '=', '工单无定位数据提醒'), + ('model', '=', 'jikimo.workorder.exception') + ])) + self.assertTrue(self.env['jikimo.message.template'].search([ + ('name', '=', '加工失败'), + ('model', '=', 'jikimo.workorder.exception') + ])) + + + def test_create_message_queue(self): + exception_record = self.env['jikimo.workorder.exception'].create({ + 'workorder_id': self.workorder.id, + 'exception_code': 'YC0002', + 'exception_content': '无功能刀具' + }) + + bussiness_node = self.env['jikimo.message.bussiness.node'].search([ + ('name', '=', '无功能刀具'), + ('model', '=', 'jikimo.workorder.exception') + ]) + + message_template = self.env['jikimo.message.template'].search([ + ('bussiness_node_id', '=', bussiness_node.id), + ('model', '=', 'jikimo.workorder.exception') + ]) + + message_record = self.env['jikimo.message.queue'].search([ + ('res_id', '=', exception_record.id), + ('model', '=', 'jikimo.workorder.exception'), + ('message_status', '=', 'pending'), + ('message_template_id', '=', message_template.id) + ]) + self.assertTrue(message_record) + + + def test_get_message(self): + exception_record = self.env['jikimo.workorder.exception'].create({ + 'workorder_id': self.workorder.id, + 'exception_code': 'YC0002', + 'exception_content': '无功能刀具' + }) + message_queue_ids = self.env['jikimo.message.queue'].search([ + ('res_id', '=', exception_record.id), + ('model', '=', 'jikimo.workorder.exception'), + ('message_status', '=', 'pending') + ]) + message = self.env['jikimo.workorder.exception']._get_message(message_queue_ids) + self.assertTrue(message) + + diff --git a/sf_base/controllers/controllers.py b/sf_base/controllers/controllers.py index 71ed8f94..47c67322 100644 --- a/sf_base/controllers/controllers.py +++ b/sf_base/controllers/controllers.py @@ -38,3 +38,17 @@ class Manufacturing_Connect(http.Controller): res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} logging.info('get_maintenance_tool_groups_Info error:%s' % e) return json.JSONEncoder().encode(res) + + +class MultiInheritController(): + _sub_classes = [] + + def __init_subclass__(cls): + """ + 多继承,解决多个字类时方法调用super的问题 + """ + super().__init_subclass__() + if len(cls._sub_classes) > 0 and cls not in cls._sub_classes: + cls.__bases__ = (cls._sub_classes[-1],) + if cls not in cls._sub_classes: + cls._sub_classes.append(cls) diff --git a/sf_machine_connect/controllers/controllers.py b/sf_machine_connect/controllers/controllers.py index a65e97ef..ab03dff2 100644 --- a/sf_machine_connect/controllers/controllers.py +++ b/sf_machine_connect/controllers/controllers.py @@ -402,20 +402,45 @@ class Sf_Dashboard_Connect(http.Controller): try: plan_obj = request.env['sf.production.plan'].sudo() production_obj = request.env['mrp.production'].sudo() + work_order_obj = request.env['mrp.workorder'].sudo() line_list = ast.literal_eval(kw['line_list']) # print('line_list: %s' % line_list) for line in line_list: - # 工单计划量 - plan_data_total_counts = production_obj.search_count( - [('production_line_id.name', '=', line), ('state', 'not in', ['cancel']), - ('active', '=', True)]) - # 工单完成量 - plan_data_finish_counts = plan_obj.search_count( - [('production_line_id.name', '=', line), ('state', 'in', ['finished'])]) # # 工单计划量 - # plan_data_plan_counts = plan_obj.search_count( - # [('production_line_id.name', '=', line), ('state', 'not in', ['finished'])]) + # plan_data_total_counts = production_obj.search_count( + # [('production_line_id.name', '=', line), ('state', 'not in', ['cancel']), + # ('active', '=', True)]) + + # 工单计划量切换为CNC工单 + plan_data_total_counts = work_order_obj.search_count( + [('production_id.production_line_id.name', '=', line), + ('state', 'in', ['ready', 'progress', 'done']), ('routing_type', '=', 'CNC加工')]) + + # # 工单完成量 + # plan_data_finish_counts = plan_obj.search_count( + # [('production_line_id.name', '=', line), ('state', 'in', ['finished'])]) + + # 工单完成量切换为CNC工单 + plan_data_finish_counts = work_order_obj.search_count( + [('production_id.production_line_id.name', '=', line), + ('state', 'in', ['done']), ('routing_type', '=', 'CNC加工')]) + + # 超期完成量 + # 搜索所有已经完成的工单 + plan_data_overtime = work_order_obj.search([ + ('production_id.production_line_id.name', '=', line), + ('state', 'in', ['done']), + ('routing_type', '=', 'CNC加工') + ]) + + # 使用 filtered 进行字段比较 + plan_data_overtime_counts = plan_data_overtime.filtered( + lambda order: order.date_finished > order.date_planned_finished + ) + + # 获取数量 + plan_data_overtime_counts = len(plan_data_overtime_counts) # 查找符合条件的生产计划记录 plan_data = plan_obj.search([ @@ -517,7 +542,10 @@ class Sf_Dashboard_Connect(http.Controller): 'on_time_rate': on_time_rate, # 'detection_data': detection_data, 'detection_data': plan_data_finish_counts, - 'pass_rate': (plan_data_finish_counts - plan_data_fault_counts) / plan_data_finish_counts + 'pass_rate': (plan_data_finish_counts - plan_data_fault_counts) / plan_data_finish_counts, + 'plan_data_overtime_counts': plan_data_overtime_counts, + 'overtime_rate': plan_data_overtime_counts / plan_data_finish_counts + if plan_data_finish_counts > 0 else 0, } res['data'][line] = data @@ -1244,6 +1272,7 @@ class Sf_Dashboard_Connect(http.Controller): time_threshold = datetime.now() - timedelta(days=1) alarm_last_24_time = 0.0 + alarm_all_time = 0.0 def fetch_result_as_dict(cursor): """辅助函数:将查询结果转为字典""" @@ -1304,6 +1333,35 @@ class Sf_Dashboard_Connect(http.Controller): alarm_last_24_time += float(result[0]) else: alarm_last_24_time += 0.0 + + alarm_all_nums = [] + with conn.cursor() as cur: + cur.execute(""" + SELECT DISTINCT ON (alarm_start_time) alarm_time, alarm_start_time + FROM device_data + WHERE device_name = %s + AND alarm_start_time IS NOT NULL; + """, (item,)) + results = cur.fetchall() + for result in results: + alarm_all_nums.append(result[1]) + if result[0]: + if float(result[0]) >= 1000: + continue + alarm_all_time += float(result[0]) + else: + alarm_all_time += 0.0 + + # with conn.cursor() as cur: + # cur.execute(""" + # SELECT * FROM device_data + # WHERE device_name = %s + # AND total_count IS NOT NULL + # ORDER BY time ASC + # LIMIT 1; + # """, (item, )) + # total_count = fetch_result_as_dict(cur) + # 返回数据 res['data'][item] = { 'wait_time': last_all_time['run_time'] if last_all_time['run_time'] is not None else 0, @@ -1315,6 +1373,9 @@ class Sf_Dashboard_Connect(http.Controller): 'alarm_last_24_nums': len(list(set(alarm_last_24_nums))), 'idle_count': idle_count, 'first_online_time': first_online_duration, + 'alarm_all_time': alarm_all_time, + 'alarm_all_nums': len(list(set(alarm_all_nums))) + # 'total_count': total_count['total_count'] if total_count else 0 } conn.close() diff --git a/sf_maintenance/__manifest__.py b/sf_maintenance/__manifest__.py index 595a5d25..88c53ff8 100644 --- a/sf_maintenance/__manifest__.py +++ b/sf_maintenance/__manifest__.py @@ -11,6 +11,7 @@ 'security/group_security.xml', 'security/ir.model.access.csv', 'security/ir_rule_data.xml', + 'data/scheduled_actions.xml', 'views/maintenance_logs_views.xml', 'views/maintenance_equipment_oee_views.xml', 'views/maintenance_views.xml', diff --git a/sf_maintenance/data/scheduled_actions.xml b/sf_maintenance/data/scheduled_actions.xml new file mode 100644 index 00000000..f75b5263 --- /dev/null +++ b/sf_maintenance/data/scheduled_actions.xml @@ -0,0 +1,14 @@ + + + + 设备运行数据 + + code + model.get_running_datas() + 15 + minutes + -1 + + + + diff --git a/sf_maintenance/i18n/zh_CN.po b/sf_maintenance/i18n/zh_CN.po new file mode 100644 index 00000000..2cf42b3d --- /dev/null +++ b/sf_maintenance/i18n/zh_CN.po @@ -0,0 +1,3583 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * hr_maintenance +# * sf_maintenance +# * maintenance +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-10-17 01:14+0000\n" +"PO-Revision-Date: 2024-10-17 01:14+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_maintenance_oee_form +msgid "24H日志详情" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_axis_num__2轴 +msgid "2轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_axis_num__3轴 +msgid "3轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_axis_num__4轴 +msgid "4轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_axis_num__5轴 +msgid "5轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_axis_num__6轴 +msgid "6轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_axis_num__7轴 +msgid "7轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_axis_num__8轴 +msgid "8轴" +msgstr "" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_kanban +msgid "Category:" +msgstr "类别:" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_kanban +msgid "Model Number:" +msgstr "型号 :" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_kanban +msgid "Request to:" +msgstr "请求:" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_kanban +msgid "Serial Number:" +msgstr "序列号:" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "" +msgstr "" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "Canceled" +msgstr "取消" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "hours" +msgstr "小时" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid " " +msgstr "" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "Reporting" +msgstr "报告" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "Requests" +msgstr "请求" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "h " +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "i " +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "kg " +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "kw " +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "m " +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "m/S " +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "mm " +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "° " +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "μm " +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "倍 " +msgstr "" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.view_maintenance_equipment_category_kanban +msgid "Equipments:" +msgstr "设备:" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.view_maintenance_equipment_category_kanban +msgid "Maintenance:" +msgstr "维护:" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "为该别名创建新记录时,将对其进行评估以提供默认值的Python字典。" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__equipment_type__agv小车 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_category__equipment_type__agv小车 +msgid "AGV小车" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_W +msgid "AGV尺寸(宽)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_L +msgid "AGV尺寸(长)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_H +msgid "AGV尺寸(高)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_load_weight_max +msgid "AGV最大负载重量" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_weight +msgid "AGV本体总重量" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_power_requirements +msgid "AGV电源要求" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model,name:sf_maintenance.model_maintenance_equipment_agv_log +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__agv_logs +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "AGV运行日志" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_drive_mode +msgid "AGV驱动方式" +msgstr "" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_needaction +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_needaction +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_needaction +msgid "Action Needed" +msgstr "需要动作" + +#. modules: sf_maintenance, maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__active +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__active +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__active +msgid "Active" +msgstr "启用" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__activity_ids +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__activity_ids +msgid "Activities" +msgstr "活动" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__activity_exception_decoration +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "活动异常勋章" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__activity_state +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__activity_state +msgid "Activity State" +msgstr "活动状态" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__activity_type_icon +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__activity_type_icon +msgid "Activity Type Icon" +msgstr "活动类型图表" + +#. module: maintenance +#: model:ir.actions.act_window,name:maintenance.mail_activity_type_action_config_maintenance +#: model:ir.ui.menu,name:maintenance.maintenance_menu_config_activity_type +msgid "Activity Types" +msgstr "活动类型" + +#. module: maintenance +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_action +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_action_from_category_form +msgid "Add a new equipment" +msgstr "添加新设备" + +#. module: maintenance +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_category_action +msgid "Add a new equipment category" +msgstr "添加新设备类别" + +#. module: maintenance +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_request_action +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_request_action_cal +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_request_action_from_equipment +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_request_action_link +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_todo_request_action_from_dashboard +#: model_terms:ir.actions.act_window,help:maintenance.maintenance_request_action_reports +msgid "Add a new maintenance request" +msgstr "添加新的保养请求" + +#. module: maintenance +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_stage_action +#: model_terms:ir.actions.act_window,help:maintenance.maintenance_dashboard_action +msgid "Add a new stage in the maintenance request" +msgstr "在保养请求中添加新阶段" + +#. module: maintenance +#: model_terms:ir.actions.act_window,help:maintenance.maintenance_team_action_settings +msgid "Add a team in the maintenance request" +msgstr "在维护请求中添加团队" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_id +msgid "Alias" +msgstr "别名" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_contact +msgid "Alias Contact Security" +msgstr "安全联系人别名" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_name +msgid "Alias Name" +msgstr "别名" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_domain +msgid "Alias domain" +msgstr "域名别名" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_model_id +msgid "Aliased Model" +msgstr "模型别名" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "All" +msgstr "全部" + +#. module: maintenance +#: model:ir.model.constraint,message:maintenance.constraint_maintenance_equipment_serial_no +msgid "Another asset already exists with this serial number!" +msgstr "已经有资产用到该序列号" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__archive +msgid "Archive" +msgstr "存档" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_view_form +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_view_search +msgid "Archived" +msgstr "已归档" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_tree +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_tree +msgid "Assign To User" +msgstr "指派给用户" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Assigned" +msgstr "已指派" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__assign_date +msgid "Assigned Date" +msgstr "分配日期" + +#. module: hr_maintenance +#: model:ir.model.fields,field_description:hr_maintenance.field_maintenance_equipment__department_id +msgid "Assigned Department" +msgstr "分配部门" + +#. module: hr_maintenance +#: model:ir.model.fields,field_description:hr_maintenance.field_maintenance_equipment__employee_id +msgid "Assigned Employee" +msgstr "分配员工" + +#. module: hr_maintenance +#: model:ir.model.fields,field_description:hr_maintenance.field_res_users__equipment_count +msgid "Assigned Equipments" +msgstr "分配设备" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +msgid "Assigned to" +msgstr "分派给" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_attachment_count +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_attachment_count +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_attachment_count +msgid "Attachment Count" +msgstr "附件数量" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__knife_type__bt30 +msgid "BT30" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__knife_type__bt40 +msgid "BT40" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__knife_type__bt50 +msgid "BT50" +msgstr "" + +#. module: maintenance +#: model:ir.model.fields.selection,name:maintenance.selection__maintenance_request__kanban_state__blocked +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "Blocked" +msgstr "暂停" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__b_axis +msgid "B轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__C_tool_time +msgid "C-C换刀时间(s)" +msgstr "" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "Cancel" +msgstr "取消" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__category_id +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Category" +msgstr "类别" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__name +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_form +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_search +msgid "Category Name" +msgstr "类别名称" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__close_date +msgid "Close Date" +msgstr "关闭日期" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__color +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__color +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__color +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__color +msgid "Color Index" +msgstr "颜色索引" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__note +msgid "Comments" +msgstr "注释" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__company_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__company_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__company_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__company_id +msgid "Company" +msgstr "客户名称" + +#. module: maintenance +#: model:ir.ui.menu,name:maintenance.menu_maintenance_configuration +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "Configuration" +msgstr "配置" + +#. module: maintenance +#: model:ir.model.fields.selection,name:maintenance.selection__maintenance_request__maintenance_type__corrective +msgid "Corrective" +msgstr "纠正" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__cost +msgid "Cost" +msgstr "成本" + +#. modules: hr_maintenance, maintenance +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_request_view_form_inherit_hr +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_request_view_search_inherit_hr +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +msgid "Created By" +msgstr "创建人" + +#. modules: sf_maintenance, maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__create_uid +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__create_uid +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__create_uid +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__create_uid +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__create_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__create_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__create_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__create_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__create_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__create_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standard_image__create_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__create_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__create_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__create_uid +msgid "Created by" +msgstr "创建人" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__owner_user_id +msgid "Created by User" +msgstr "创建人" + +#. modules: sf_maintenance, maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__create_date +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__create_date +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__create_date +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__create_date +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__create_date +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__create_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__create_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__create_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__create_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__create_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standard_image__create_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__create_date +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__create_date +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__maintenance_open_count +msgid "Current Maintenance" +msgstr "当前维护" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "自定义退回消息" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__c_axis +msgid "C轴" +msgstr "" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__effective_date +msgid "" +"Date at which the equipment became effective. This date will be used to " +"compute the Mean Time Between Failure." +msgstr "设备生效的日期。该日期将用于计算平均故障间隔时间。" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__next_action_date +msgid "Date of the next preventive maintenance" +msgstr "下次预防维护日期" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_request__request_date +msgid "Date requested for the maintenance to happen" +msgstr "要求进行维护的日期" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_request__schedule_date +msgid "" +"Date the maintenance team plans the maintenance. It should not differ much " +"from the Request Date. " +msgstr "维护团队计划维护的日期。 它应该与请求日期不同。" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_request__close_date +msgid "Date the maintenance was finished. " +msgstr "维护完成日期。" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__period +msgid "Days between each preventive maintenance" +msgstr "预防维护间隔天数" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_defaults +msgid "Default Values" +msgstr "默认值" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_kanban +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_kanban +msgid "Delete" +msgstr "删除" + +#. module: hr_maintenance +#: model:ir.model.fields.selection,name:hr_maintenance.selection__maintenance_equipment__equipment_assign_to__department +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_equipment_view_form_inherit_hr +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_equipment_view_search_inherit_hr +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_equipment_view_tree_inherit_hr +msgid "Department" +msgstr "部门" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__description +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "Description" +msgstr "说明" + +#. modules: sf_maintenance, maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__display_name +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__display_name +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__display_name +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__display_name +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__display_name +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__display_name +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__display_name +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__display_name +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__display_name +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__display_name +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standard_image__display_name +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__display_name +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__display_name +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "Done" +msgstr "完成" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_kanban +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_kanban +msgid "Dropdown menu" +msgstr "下拉菜单" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__duration +msgid "Duration" +msgstr "时长" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_request__duration +msgid "Duration in hours." +msgstr "持续时长。" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_kanban +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_kanban +msgid "Edit..." +msgstr "编辑..." + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__effective_date +msgid "Effective Date" +msgstr "实际日期" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_form +msgid "Email Alias" +msgstr "电子邮箱别名" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_id +msgid "" +"Email alias for this equipment category. New emails will automatically " +"create a new equipment under this category." +msgstr "此设备类别的电子邮件别名。新邮件将自动在此类别下创建新设备。" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__email_cc +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "Email cc" +msgstr "邮件抄送" + +#. module: hr_maintenance +#: model:ir.model.fields,field_description:hr_maintenance.field_maintenance_request__employee_id +#: model:ir.model.fields.selection,name:hr_maintenance.selection__maintenance_equipment__equipment_assign_to__employee +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_equipment_view_form_inherit_hr +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_equipment_view_search_inherit_hr +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_equipment_view_tree_inherit_hr +msgid "Employee" +msgstr "员工" + +#. modules: hr_maintenance, maintenance +#: model:ir.model.fields,field_description:hr_maintenance.field_hr_employee__equipment_ids +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__equipment_count +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__equipment_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__equipment_ids +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_form +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Equipment" +msgstr "设备" + +#. module: maintenance +#: model:mail.message.subtype,description:maintenance.mt_mat_assign +#: model:mail.message.subtype,name:maintenance.mt_cat_mat_assign +#: model:mail.message.subtype,name:maintenance.mt_mat_assign +msgid "Equipment Assigned" +msgstr "分配的设备" + +#. module: maintenance +#: model:ir.actions.act_window,name:maintenance.hr_equipment_category_action +#: model:ir.ui.menu,name:maintenance.menu_maintenance_cat +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_form +msgid "Equipment Categories" +msgstr "设备类别" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__category_id +msgid "Equipment Category" +msgstr "设备类别" + +#. module: maintenance +#: model:res.groups,name:maintenance.group_equipment_manager +msgid "Equipment Manager" +msgstr "设备管理员" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__equipment_type +msgid "Equipment Type" +msgstr "" + +#. modules: hr_maintenance, maintenance +#: model:ir.actions.act_window,name:maintenance.hr_equipment_action +#: model:ir.actions.act_window,name:maintenance.hr_equipment_action_from_category_form +#: model:ir.model.fields,field_description:hr_maintenance.field_hr_employee__equipment_count +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__equipment_ids +#: model:ir.ui.menu,name:maintenance.menu_equipment_form +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "Equipments" +msgstr "设备" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__fold +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__fold +msgid "Folded in Maintenance Pipe" +msgstr "在保养管道中折叠" + +#. module: maintenance +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_request_action +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_request_action_cal +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_request_action_from_equipment +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_request_action_link +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_todo_request_action_from_dashboard +#: model_terms:ir.actions.act_window,help:maintenance.maintenance_request_action_reports +msgid "" +"Follow the process of the request and communicate with the collaborator." +msgstr "跟进请求的处理,并且和合作者沟通。" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_follower_ids +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_follower_ids +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_follower_ids +msgid "Followers" +msgstr "关注者" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_partner_ids +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_partner_ids +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_partner_ids +msgid "Followers (Partners)" +msgstr "关注者(业务伙伴)" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__activity_type_icon +#: model:ir.model.fields,help:maintenance.field_maintenance_request__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "完美的图标,例如FA任务" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Future Activities" +msgstr "未来活动" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Group by..." +msgstr "分组…" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__has_message +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__has_message +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__has_message +msgid "Has Message" +msgstr "有信息" + +#. module: maintenance +#: model:ir.model.fields.selection,name:maintenance.selection__maintenance_request__priority__3 +msgid "High" +msgstr "高" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +msgid "High-priority" +msgstr "高优先级" + +#. modules: sf_maintenance, maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__id +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standard_image__id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__id +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__id +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__id +msgid "ID" +msgstr "" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task" +" creation alias)" +msgstr "上级记录ID支持别名(例如:项目支持任务创建别名)" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__activity_exception_icon +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__activity_exception_icon +msgid "Icon" +msgstr "图标" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__activity_exception_icon +#: model:ir.model.fields,help:maintenance.field_maintenance_request__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "表示异常活动的图标。" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__message_needaction +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__message_needaction +#: model:ir.model.fields,help:maintenance.field_maintenance_request__message_needaction +msgid "If checked, new messages require your attention." +msgstr "确认后, 出现提示消息." + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__message_has_error +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__message_has_error +#: model:ir.model.fields,help:maintenance.field_maintenance_request__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "如果勾选此项, 某些消息将会产生传递错误。" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "如果设置,此内容将自动发送给未经授权的用户,而不是默认消息。" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__image_id +msgid "Image" +msgstr "" + +#. module: maintenance +#: model:ir.model.fields.selection,name:maintenance.selection__maintenance_request__kanban_state__normal +#: model:maintenance.stage,name:maintenance.stage_1 +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "In Progress" +msgstr "进行中" + +#. module: maintenance +#: model:maintenance.team,name:maintenance.equipment_team_maintenance +msgid "Internal Maintenance" +msgstr "内部维护" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "Internal Notes" +msgstr "内部说明" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_is_follower +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_is_follower +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_is_follower +msgid "Is Follower" +msgstr "关注者" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__kanban_state +msgid "Kanban State" +msgstr "看板状态" + +#. modules: sf_maintenance, maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment____last_update +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category____last_update +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request____last_update +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage____last_update +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team____last_update +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards____last_update +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log____last_update +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee____last_update +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail____last_update +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs____last_update +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standard_image____last_update +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards____last_update +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs____last_update +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num____last_update +msgid "Last Modified on" +msgstr "最后修改时间" + +#. modules: sf_maintenance, maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__write_uid +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__write_uid +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__write_uid +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__write_uid +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__write_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__write_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__write_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__write_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__write_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__write_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standard_image__write_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__write_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__write_uid +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__write_uid +msgid "Last Updated by" +msgstr "最后更新人" + +#. modules: sf_maintenance, maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__write_date +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__write_date +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__write_date +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__write_date +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__write_date +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__write_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__write_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__write_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__write_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__write_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standard_image__write_date +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__write_date +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__write_date +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__write_date +msgid "Last Updated on" +msgstr "最后更新时间" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Late Activities" +msgstr "最近的活动" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__location +msgid "Location" +msgstr "位置" + +#. module: maintenance +#: model:ir.ui.menu,name:maintenance.menu_m_reports_losses +msgid "Losses Analysis" +msgstr "损失分析" + +#. module: maintenance +#: model:ir.model.fields.selection,name:maintenance.selection__maintenance_request__priority__1 +msgid "Low" +msgstr "低" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_main_attachment_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_main_attachment_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_main_attachment_id +msgid "Main Attachment" +msgstr "主要附件" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__maintenance_ids +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__maintenance_ids +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_form +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "Maintenance" +msgstr "设备" + +#. module: maintenance +#: model:ir.ui.menu,name:maintenance.menu_m_request_calendar +msgid "Maintenance Calendar" +msgstr "保养日历" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__maintenance_count +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__maintenance_count +msgid "Maintenance Count" +msgstr "维修统计" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__maintenance_duration +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "Maintenance Duration" +msgstr "保养时长" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__maintenance_duration +msgid "Maintenance Duration in hours." +msgstr "数小时的维护持续时间。" + +#. module: maintenance +#: model:mail.activity.type,name:maintenance.mail_act_maintenance_request +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "Maintenance Request" +msgstr "保养请求" + +#. module: maintenance +#: model:mail.message.subtype,name:maintenance.mt_cat_req_created +msgid "Maintenance Request Created" +msgstr "已创建维护请求" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +msgid "Maintenance Request Search" +msgstr "维护请求搜索" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_stage_view_tree +msgid "Maintenance Request Stage" +msgstr "保养请求需求阶段" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_stage_view_search +msgid "Maintenance Request Stages" +msgstr "保养请求需求阶段" + +#. module: maintenance +#: model:mail.message.subtype,description:maintenance.mt_req_created +msgid "Maintenance Request created" +msgstr "已创建维护请求" + +#. module: maintenance +#: model:ir.actions.act_window,name:maintenance.hr_equipment_request_action +#: model:ir.actions.act_window,name:maintenance.hr_equipment_request_action_cal +#: model:ir.actions.act_window,name:maintenance.hr_equipment_request_action_from_equipment +#: model:ir.actions.act_window,name:maintenance.hr_equipment_request_action_link +#: model:ir.actions.act_window,name:maintenance.hr_equipment_todo_request_action_from_dashboard +#: model:ir.actions.act_window,name:maintenance.maintenance_request_action_reports +#: model:ir.ui.menu,name:maintenance.maintenance_request_reporting +#: model:ir.ui.menu,name:maintenance.menu_m_request_form +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "Maintenance Requests" +msgstr "保养请求" + +#. module: maintenance +#: model:ir.model,name:maintenance.model_maintenance_stage +msgid "Maintenance Stage" +msgstr "保养阶段" + +#. module: maintenance +#: model:ir.ui.menu,name:maintenance.menu_maintenance_stage_configuration +msgid "Maintenance Stages" +msgstr "保养阶段" + +#. module: sf_maintenance +#: model:ir.actions.act_window,name:sf_maintenance.action_view_maintenance_standards_tree +msgid "Maintenance Standards" +msgstr "" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__maintenance_team_id +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_view_form +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_view_tree +msgid "Maintenance Team" +msgstr "保养团队" + +#. module: maintenance +#: model:ir.actions.act_window,name:maintenance.maintenance_dashboard_action +#: model:ir.model,name:maintenance.model_maintenance_team +#: model:ir.ui.menu,name:maintenance.menu_maintenance_teams +msgid "Maintenance Teams" +msgstr "保养团队" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__maintenance_type +msgid "Maintenance Type" +msgstr "保养类型" + +#. module: maintenance +#: model:ir.actions.server,name:maintenance.maintenance_requests_cron_ir_actions_server +#: model:ir.cron,cron_name:maintenance.maintenance_requests_cron +msgid "Maintenance: generate preventive maintenance requests" +msgstr "维护:生成预防性维护请求" + +#. module: hr_maintenance +#: model:ir.model.fields,field_description:hr_maintenance.field_res_users__equipment_ids +msgid "Managed Equipments" +msgstr "管理设备" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_has_error +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_has_error +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_has_error +msgid "Message Delivery error" +msgstr "消息传递错误" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_ids +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_ids +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_ids +msgid "Messages" +msgstr "消息" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__model +msgid "Model" +msgstr "模型" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__my_activity_date_deadline +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "我的活动截止时间" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "My Equipments" +msgstr "我的设备" + +#. modules: hr_maintenance, maintenance +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_request_view_search_inherit_hr +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +msgid "My Maintenances" +msgstr "我的维护" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__name +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_tree +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "Name" +msgstr "名称" + +#. module: maintenance +#: model:maintenance.stage,name:maintenance.stage_0 +msgid "New Request" +msgstr "新的请求" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__activity_date_deadline +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "下一活动截止日期" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__activity_summary +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__activity_summary +msgid "Next Activity Summary" +msgstr "下一活动摘要" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__activity_type_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__activity_type_id +msgid "Next Activity Type" +msgstr "下一活动类型" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "Next Preventive Maintenance" +msgstr "下次预防保养" + +#. module: maintenance +#: model:ir.model.fields.selection,name:maintenance.selection__maintenance_request__priority__2 +msgid "Normal" +msgstr "正常" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__note +msgid "Note" +msgstr "笔记" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_needaction_counter +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_needaction_counter +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_needaction_counter +msgid "Number of Actions" +msgstr "动作数量" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__todo_request_count +msgid "Number of Requests" +msgstr "请求数量" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__todo_request_count_block +msgid "Number of Requests Blocked" +msgstr "已阻止请求的数量" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__todo_request_count_date +msgid "Number of Requests Scheduled" +msgstr "已计划请求的数量" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__todo_request_count_unscheduled +msgid "Number of Requests Unscheduled" +msgstr "未计划请求的数量" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__todo_request_count_high_priority +msgid "Number of Requests in High Priority" +msgstr "高优先级的请求数量" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__message_has_error_counter +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__message_has_error_counter +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__message_has_error_counter +msgid "Number of errors" +msgstr "错误数" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__message_needaction_counter +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__message_needaction_counter +#: model:ir.model.fields,help:maintenance.field_maintenance_request__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "需要作业消息数量" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__message_has_error_counter +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__message_has_error_counter +#: model:ir.model.fields,help:maintenance.field_maintenance_request__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "发送错误的消息数量" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "无论是否回复,所有的接收的邮件都将附上一条线索(记录)选配的ID。如果设置了,这个将完全阻止新记录的创建。" + +#. module: hr_maintenance +#: model:ir.model.fields.selection,name:hr_maintenance.selection__maintenance_equipment__equipment_assign_to__other +msgid "Other" +msgstr "其他" + +#. module: maintenance +#: model:ir.ui.menu,name:maintenance.menu_m_reports_oee +msgid "Overall Equipment Effectiveness (OEE)" +msgstr "整体设备效率OEE" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__owner_user_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_user_id +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_tree +msgid "Owner" +msgstr "所有者" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_parent_model_id +msgid "Parent Model" +msgstr "上级模型" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "上级记录ID" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not" +" necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"父级模型拥有别名。拥有别名参考的模型不一定是alias_model_id给出的模型 (例如:project(parent_model) 和任务 " +"(模型))" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following channels\n" +msgstr "" +"政策是通过邮件网关在单据上提交一个消息\n" +"- everyone: 任何人都可以提交\n" +"- partners: 只有认证过的合作伙伴\n" +"- followers: 只有相关单据或下列频道成员的跟随者\n" + +#. module: maintenance +#: model:ir.model.fields.selection,name:maintenance.selection__maintenance_request__maintenance_type__preventive +msgid "Preventive" +msgstr "预防措施" + +#. modules: sf_maintenance, maintenance +#. odoo-python +#: code:addons/maintenance/models/maintenance.py:0 +#: code:addons/sf_maintenance/models/sf_maintenance.py:0 +#: code:addons/sf_maintenance/models/sf_maintenance.py:0 +#, python-format +msgid "Preventive Maintenance - %s" +msgstr "预防保养 - %s" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "Preventive Maintenance Frequency" +msgstr "预防保养频次" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__priority +msgid "Priority" +msgstr "优先级" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "Product Information" +msgstr "产品信息" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +msgid "Ready" +msgstr "就绪" + +#. module: maintenance +#: model:ir.model.fields.selection,name:maintenance.selection__maintenance_request__kanban_state__done +msgid "Ready for next stage" +msgstr "下一阶段就绪" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_kanban +msgid "Record Colour" +msgstr "记录颜色" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__alias_force_thread_id +msgid "Record Thread ID" +msgstr "记录线索ID" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "Reopen Request" +msgstr "重开请求" + +#. module: maintenance +#: model:maintenance.stage,name:maintenance.stage_3 +msgid "Repaired" +msgstr "已维修" + +#. module: maintenance +#: model:ir.ui.menu,name:maintenance.maintenance_reporting +#: model:ir.ui.menu,name:maintenance.menu_m_reports +msgid "Reporting" +msgstr "报表" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__request_ids +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_kanban +msgid "Request" +msgstr "请求" + +#. module: maintenance +#: model:mail.message.subtype,name:maintenance.mt_req_created +msgid "Request Created" +msgstr "已创建请求" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__request_date +msgid "Request Date" +msgstr "请求日期" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__done +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__done +msgid "Request Done" +msgstr "请求完成" + +#. module: maintenance +#. odoo-python +#: code:addons/maintenance/models/maintenance.py:0 +#, python-format +msgid "Request planned for %s" +msgstr "需求计划 %s" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "Requested By" +msgstr "请求人" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_kanban +msgid "Requested by :" +msgstr "由谁请求:" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__todo_request_ids +msgid "Requests" +msgstr "请求" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment_category__technician_user_id +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "Responsible" +msgstr "负责人" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__activity_user_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__activity_user_id +msgid "Responsible User" +msgstr "负责用户" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "Scheduled" +msgstr "安排" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__schedule_date +msgid "Scheduled Date" +msgstr "安排的日期" + +#. module: maintenance +#: model:maintenance.stage,name:maintenance.stage_4 +msgid "Scrap" +msgstr "报废" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__scrap_date +msgid "Scrap Date" +msgstr "报废日期" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_view_search +msgid "Search" +msgstr "搜索" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_stage__sequence +msgid "Sequence" +msgstr "序号" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__serial_no +msgid "Serial Number" +msgstr "序列号" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_request__archive +msgid "" +"Set archive to true to hide the maintenance request without deleting it." +msgstr "将归档设置为真以隐藏维护请求,而不是删除它。" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Show all records which has next action date is before today" +msgstr "显示所有的在今天之前的下一个行动日期的记录" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__stage_id +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +msgid "Stage" +msgstr "阶段" + +#. module: maintenance +#: model:ir.actions.act_window,name:maintenance.hr_equipment_stage_action +msgid "Stages" +msgstr "阶段" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standard_image__standard_id +msgid "Standard" +msgstr "" + +#. module: maintenance +#: model:mail.message.subtype,name:maintenance.mt_req_status +msgid "Status Changed" +msgstr "状态已经更改" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__activity_state +#: model:ir.model.fields,help:maintenance.field_maintenance_request__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"基于活动的状态 \n" +" 逾期:已经超过截止日期 \n" +" 现今:活动日期是当天 \n" +" 计划:未来活动。" + +#. module: maintenance +#: model:mail.message.subtype,description:maintenance.mt_req_status +msgid "Status changed" +msgstr "状态已变更" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__name +msgid "Subjects" +msgstr "主题" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__T_tool_time +msgid "T-T换刀时间(s)" +msgstr "" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__maintenance_team_id +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_view_search +msgid "Team" +msgstr "团队" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__member_ids +msgid "Team Members" +msgstr "团队成员" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_team__name +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_view_form +msgid "Team Name" +msgstr "团队名称" + +#. module: maintenance +#: model:ir.actions.act_window,name:maintenance.maintenance_team_action_settings +msgid "Teams" +msgstr "团队" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__technician_user_id +#: model:ir.model.fields,field_description:maintenance.field_maintenance_request__user_id +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Technician" +msgstr "技术员" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming" +" email that does not reply to an existing record will cause the creation of " +"a new record of this model (e.g. a Project Task)" +msgstr "" +"相应于这个别名对应的模型(Odoo单据种类)。任何一封不属于对某个已存在的记录的到来邮件,将导致此模块中新记录的创建(例如,一个新的项目任务)。" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "邮件别名的名称,例如,如果您要收取 的EMail,别名就要设为:\"jobs\"" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment_category__alias_user_id +msgid "" +"The owner of records created upon receiving emails on this alias. If this " +"field is not set the system will attempt to find the right owner based on " +"the sender (From) address, or will use the Administrator account if no " +"system user is found for that address." +msgstr "" +"基于此别名接收到的邮件,创建记录的所有人。若此字段没有设置,系统将试图根据发送者(From)地址来查找正确的所有者,如果对于那个地址没有系统用户被发现,将使用系统管理员账户。" + +#. module: maintenance +#: model:res.groups,comment:maintenance.group_equipment_manager +msgid "The user will be able to manage equipments." +msgstr "用户将能够管理设备。" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "To Do" +msgstr "待办" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Today Activities" +msgstr "今天的活动" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "Top Priorities" +msgstr "顶级优先级" + +#. module: maintenance +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_action +#: model_terms:ir.actions.act_window,help:maintenance.hr_equipment_action_from_category_form +msgid "" +"Track equipments and link it to an employee or department.\n" +" You will be able to manage allocations, issues and maintenance of your equipment." +msgstr "" +"跟踪设备并将其链接到员工或部门\n" +" 您将能够管理设备的分配,问题和维护。" + +#. module: maintenance +#: model:ir.model.fields,help:maintenance.field_maintenance_equipment__activity_exception_decoration +#: model:ir.model.fields,help:maintenance.field_maintenance_request__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "记录的异常活动类型。" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "T型槽尺寸:" +msgstr "" + +#. modules: hr_maintenance, maintenance +#: model_terms:ir.ui.view,arch_db:hr_maintenance.maintenance_equipment_view_kanban_inherit_hr +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Unassigned" +msgstr "未分派" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Under Maintenance" +msgstr "处于保养中" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Unread Messages" +msgstr "未读消息" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_search +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_kanban +msgid "Unscheduled" +msgstr "未安排" + +#. module: hr_maintenance +#: model:ir.model.fields,field_description:hr_maintenance.field_maintenance_equipment__equipment_assign_to +msgid "Used By" +msgstr "用于" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "Used in location" +msgstr "使用地点" + +#. module: hr_maintenance +#: model:ir.model,name:hr_maintenance.model_res_users +msgid "User" +msgstr "用户" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__partner_id +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_search +msgid "Vendor" +msgstr "供应商" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__partner_ref +msgid "Vendor Reference" +msgstr "供应商参考" + +#. module: maintenance +#: model:ir.model.fields.selection,name:maintenance.selection__maintenance_request__priority__0 +msgid "Very Low" +msgstr "非常低" + +#. module: maintenance +#: model:ir.model.fields,field_description:maintenance.field_maintenance_equipment__warranty_date +msgid "Warranty Expiration Date" +msgstr "质量保证到期日期" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__x_axis +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "X轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__X_precision +msgid "X轴定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__precision_max +msgid "X轴定位精度max(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__precision_min +msgid "X轴定位精度min(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__X_axis_rapid_traverse_speed +msgid "X轴快速进给速度(mm/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__X_precision_repeat +msgid "X轴重复定位精度(mm)" +msgstr "" + +#. module: maintenance +#. odoo-python +#: code:addons/maintenance/models/maintenance.py:0 +#, python-format +msgid "" +"You cannot delete an equipment category containing equipments or maintenance" +" requests." +msgstr "对于已经有相关设备或者修理请求的设备种类不能被删除" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__y_axis +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "Y轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__Y_precision +msgid "Y轴定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__Y_axis_rapid_traverse_speed +msgid "Y轴快速进给速度(mm/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__Y_precision_repeat +msgid "Y轴重复定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__z_axis +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "Z轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__Z_precision +msgid "Z轴定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_balance_mode_for_Z +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "Z轴平衡方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__Z_axis_rapid_traverse_speed +msgid "Z轴快速进给速度(mm/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__Z_precision_repeat +msgid "Z轴重复定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__a_axis +msgid "a轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__a_precision +msgid "a轴定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__a_axis_rapid_traverse_speed +msgid "a轴快速进给速度(mm/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__a_precision_repeat +msgid "a轴重复定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__b_precision +msgid "b轴定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__b_axis_rapid_traverse_speed +msgid "b轴快速进给速度(mm/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__b_precision_repeat +msgid "b轴重复定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__c_precision +msgid "c轴定位精度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__c_axis_rapid_traverse_speed +msgid "c轴快速进给速度(mm/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__c_precision_repeat +msgid "c轴重复定位精度(mm)" +msgstr "" + +#. modules: sf_maintenance, maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "days" +msgstr "天数" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.maintenance_team_view_form +msgid "e.g. Internal Maintenance" +msgstr "例如,内部维护" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +msgid "e.g. LED Monitor" +msgstr "例如:LED显示器" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_category_view_form +msgid "e.g. Monitors" +msgstr "例如:显示器" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_form +msgid "e.g. Screen not working" +msgstr "例如:屏幕不工作" + +#. modules: sf_maintenance, maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_view_form +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "hours" +msgstr "小时" + +#. module: maintenance +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_graph +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_pivot +#: model_terms:ir.ui.view,arch_db:maintenance.hr_equipment_request_view_tree +msgid "maintenance Request" +msgstr "保养请求" + +#. module: maintenance +#: model:ir.ui.menu,name:maintenance.menu_maintenance_title +msgid "maintenance.menu_maintenance_title" +msgstr "设备" + +#. module: sf_maintenance +#: model:ir.model,name:sf_maintenance.model_maintenance_standard_image +msgid "maintenance.standard.image" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__alarm_level__一级 +msgid "一级(严重)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__alarm_level__三级 +msgid "三级(轻微)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__number_of_axles__三轴 +msgid "三轴" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_maintenance_standards_form +msgid "上传图片" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__overhaul_date +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "下次预防检修" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__lead_screw +msgid "丝杆" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "主轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__spindle_center_distance +msgid "主轴中心至立柱滑轨面距离(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__heightened_way +msgid "主轴加高方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__spindle_peak_power +msgid "主轴峰值功率(kw)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__spindle_peak_torque +msgid "主轴峰值扭矩(n/m)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__spindle_continuous_power +msgid "主轴持续功率(kw)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__spindle_sustained_torque +msgid "主轴持续扭矩(n/m)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "主轴最高转速(r/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__torque +msgid "主轴点击扭矩(n/m)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__motor_power +msgid "主轴电机功率(kw)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "主轴端面-工作台距离(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__distance_max +msgid "主轴端面至工作台面距离MAX(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__distance_min +msgid "主轴端面至工作台面距离MIN(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__taper_type_id +msgid "主轴锥孔型号" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__taper +msgid "主轴锥度(°)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__state +msgid "事件/状体" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__state +msgid "事件/状态" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__alarm_level__二级 +msgid "二级(中等)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__number_of_axles__五轴 +msgid "五轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__run_code +msgid "任务指令代码" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__run_type +msgid "任务类型" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__run_last +msgid "任务终点" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__run_first +msgid "任务起点" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__heightened_way__sifudianji +msgid "伺服电机驱动" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__equipment_maintenance_standards__maintenance_type__保养 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_log_detail__state__保养 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_logs__state__保养 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_request__sf_maintenance_type__保养 +msgid "保养" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__eq_maintenance_ids +msgid "保养设备" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_installation_method__倒挂式 +msgid "倒挂式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_parking_accuracy +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "停车精度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__permissible_inertial_torque +msgid "允许惯性扭矩(kg-m²)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__permissible_load_torque +msgid "允许负载扭矩(N-m)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_charge_mode +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "充电方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__detect_measurement_mode__光栅尺 +msgid "光栅尺" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__number_of_axles__六轴 +msgid "六轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_log_detail__state__关机 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_logs__state__关机 +msgid "关机" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__offline_time +msgid "关机时长" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__offline_time +msgid "关机时长(小时)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__offline_nums +msgid "关机次数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__equipment_type__其他 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_category__equipment_type__其他 +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "其他" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "其他参数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__image_lq_id +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "冷却方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__date_of_manufacture +msgid "出厂日期" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "刀具" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__tool_diameter_max +msgid "刀具刀径max(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__tool_diameter_min +msgid "刀具刀径min(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__tool_quality_max +msgid "刀具最大质量(kg)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__tool_long_max +msgid "刀具最大长度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__tool_full_diameter_max +msgid "刀具满刀最大直径(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__tool_speed +msgid "刀具速度(m/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__tool_perimeter_diameter_max +msgid "刀具邻空刀最大直径(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__number_of_knife_library +msgid "刀库数量(把)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__knife_type +msgid "刀把类型" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_resolution +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "分辨率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__created_user_id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__created_user +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_search +msgid "创建人" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_tree +msgid "创建时间" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__supplier_id +msgid "制造商" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_move_motor_power +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "前移电机功率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_move_motor_speed_ratio +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "前移电机速比" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__function_type +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__function_type +msgid "功能类型" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_log_detail__state__加工 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_logs__state__加工 +msgid "加工" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__production_name +msgid "加工工单" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__work_time +msgid "加工时长" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__work_time +msgid "加工时长(小时)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "加工能力" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "加工行程(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__axis_ids +msgid "动作范围" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_Lifting_height +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "升降高度(max)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__history_logs_detail +msgid "历史运行日志详情" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_pressurized_air +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "压缩空气" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__original_value +msgid "原值" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__images +msgid "反馈图片" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_zoom_objective_magnification +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "变焦物镜倍率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_gripping_of_workpieces_W +msgid "可抓取工件(宽)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_gripping_of_workpieces_L +msgid "可抓取工件(长)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_gripping_of_workpieces_H +msgid "可抓取工件(高)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__work_rate +msgid "可用率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__work_rate +msgid "可用率(%)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__name +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__name +msgid "名称" +msgstr "" + +#. module: hr_maintenance +#: model:ir.model,name:hr_maintenance.model_hr_employee +msgid "员工信息" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__Period +msgid "周期/频次(天)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__brand_id +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__brand +msgid "品牌" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__type_id +msgid "品牌型号" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__number_of_axles__四轴 +msgid "四轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__rotary_cutting_feed_rate +msgid "回转切削进给速度(mm/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__alarm_way__图文报警 +msgid "图文报警" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__machine_tool_picture +msgid "图片" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__axis_driven_type +msgid "坐标轴驱动类型" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__type_id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__type_id +msgid "型号" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "基础参数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_installation_method__壁挂式 +msgid "壁挂式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__alarm_way__声光报警 +msgid "声光报警" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__operator +msgid "处理人" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__remark +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__remark +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__note +msgid "备注" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__function_type__fhjgzx +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_logs__function_type__fhjgzx +msgid "复合加工中心" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_security +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "安全防护" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_installation_method +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "安装方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__state +msgid "实时状态" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__detect_measurement_mode__容栅 +msgid "容栅" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_navigation_mode +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "导航方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__guide_rail +msgid "导轨" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__state__封存(报废) +msgid "封存(报废)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_radius_of_the_boom +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "展臂半径" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__workpiece_load +msgid "工件最大负载(kg)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__workorder +msgid "工件编码/任务单号" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__workbench_W +msgid "工作台宽度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "工作台尺寸(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__workbench_L +msgid "工作台长度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__workbench_H +msgid "工作台高度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_working_distance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "工作距离" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_search +msgid "已归档" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__state_zc__已注册 +msgid "已注册" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__sequence +msgid "序号" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__begin_time +msgid "开始时间" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__online_time +msgid "开机时长" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__online_time +msgid "开机时长(小时)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_log_detail__state__待机 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_logs__state__待机 +msgid "待机" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__idle_time +msgid "待机时长" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__idle_time +msgid "待机时长(小时)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__idle_nums +msgid "待机次数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__idle_rate +msgid "待机率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__idle_rate +msgid "待机率(%)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__factory_id +msgid "所属工厂" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__AGV_charge_mode__手动 +msgid "手动" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "抓取工件最大尺寸" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__alarm_way +msgid "报警方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__alarm_level +msgid "报警级别" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_control_mode +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "控制方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__control_system_id +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "控制系统" +msgstr "数控系统" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_hoist_motor_power +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "提升电机功率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_magnification +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "放大倍率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_log_detail__state__故障 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_logs__state__故障 +msgid "故障" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__fault_code +msgid "故障代码" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__state__故障停机 +msgid "故障停机" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__fault_process +msgid "故障处理方法" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__fault_alarm_info +msgid "故障报警信息" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__alarm_time +msgid "故障报警时间" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__fault_time +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__fault_duration +msgid "故障时长" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__fault_time +msgid "故障时长(小时)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__fault_nums +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__fault_nums +msgid "故障次数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__recovery_time +msgid "故障消除时间" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__fault_rate +msgid "故障率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__fault_rate +msgid "故障率(%)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__fault_type +msgid "故障类型" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__alarm_way__文本提示报警 +msgid "文本提示报警" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_search +msgid "日常机床保养" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__log_id +msgid "日志" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__detail_ids +msgid "日志详情" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__time +msgid "日期/事件" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__day_logs_detail +msgid "日运行日志详情" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__time +msgid "时间" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__is_binding +msgid "是否绑定机床" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最大" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最大(max)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_gradeability_max +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最大爬坡度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__angle_max +msgid "最大角度+(°)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__weight +msgid "最大负载(kg)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最大负载重量" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最大速度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__velocity +msgid "最大速度(°/s)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最小" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最小(min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_ground_clearance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最小离地高度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__angle_min +msgid "最小角度-(°)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_turning_radius +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最小转弯半径" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "最小速度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__active +msgid "有效" +msgstr "启用" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__state_zc__未注册 +msgid "未注册" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "本体总重量" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__name +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__equipment_id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__equipment_id +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__maintenance_equipment_id +msgid "机台号" +msgstr "设备名称" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__MTcode +msgid "机台编码" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_robot_axis_num__equipment_id +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__equipment_type__机器人 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_category__equipment_type__机器人 +msgid "机器人" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_operating_temperature +msgid "机器人环境温度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_operating_humidity +msgid "机器人环境湿度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model,name:sf_maintenance.model_sf_robot_axis_num +msgid "机器人轴参数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__machine_tool_id +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__equipment_type__机床 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_category__equipment_type__机床 +msgid "机床" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__machine_tool_W +msgid "机床宽度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "机床尺寸(mm)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "机床注册" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__state +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__state +msgid "机床状态" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__machine_tool_category +msgid "机床类型" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__run_time +msgid "机床累计运行时长" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__machine_tool_L +msgid "机床长度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__machine_tool_H +msgid "机床高度(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_standards__fault_type__机械类 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__fault_type__机械类 +msgid "机械类" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_load_weight_max +msgid "机械臂最大负载重量" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_weight +msgid "机械臂本体总重量" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_axis_num +msgid "机械臂轴数" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_maintenance_oee_form +msgid "查看24H日志" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_velocity +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "标准速度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_velocity_max +msgid "标准速度(最大)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_velocity_min +msgid "标准速度(最小)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_request_view_form +msgid "标记已完成" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__equipment_maintenance_standards__maintenance_type__检修 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_log_detail__state__检修 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_logs__state__检修 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_request__sf_maintenance_type__检修 +msgid "检修" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__overhaul_duration +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "检修时长" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__overhaul_ids +msgid "检修设备" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_x_axis +msgid "检测X轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_y_axis +msgid "检测Y轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_z_axis +msgid "检测Z轴" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__equipment_type__检测设备 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_category__equipment_type__检测设备 +msgid "检测设备" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_load_weight_max +msgid "检测设备最大负载重量" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_weight +msgid "检测设备本体总重量" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_operating_temperature +msgid "检测设备环境温度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_operating_humidity +msgid "检测设备环境湿度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__T_trough_wide +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "槽宽(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__T_trough_num +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "槽数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__T_trough_distance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "槽距(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__state__正常 +msgid "正常" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__incomplete_value +msgid "残值" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__heightened_way__youyagang +msgid "油压缸驱动" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__registration_date +msgid "注册日期" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__state_zc +msgid "注册状态" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_measurement_mode +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "测量方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_precision +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "测量精度" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "测量范围(max)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_measurement_length +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "深孔测量长度(max)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.actions.act_window,help:sf_maintenance.hr_equipment_action1 +msgid "添加一个设备" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.actions.act_window,help:sf_maintenance.hr_equipment_request_action1 +msgid "添加维保计划" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__detect_measurement_mode__激光干涉仪 +msgid "激光干涉仪" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.actions.act_window,help:sf_maintenance.action_equipment_maintenance_standards +msgid "点击下方的创建按钮来添加设备维保标准。" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_object_field_of_view_max +msgid "物方视场(最大)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_object_field_of_view_min +msgid "物方视场(最小)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "物方视场:" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_operating_temperature +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "环境温度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_operating_humidity +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "环境湿度" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "电机参数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_standards__fault_type__电气类 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__fault_type__电气类 +msgid "电气类" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_power_requirements +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "电源要求" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__production_line +msgid "目的生产线" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__straight_cutting_feed_rate +msgid "直线切削进给速度(mm/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__linear_axis_guides_type +msgid "直线轴导轨类型" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_request_view_form +msgid "确认维保计划" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__detect_measurement_mode__磁栅 +msgid "磁栅" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_transfer_mode +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "移载方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_standards__fault_type__程序类 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__fault_type__程序类 +msgid "程序类" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__state__空闲 +msgid "空闲" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_category__equipment_type_code +msgid "简写" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__fault_type +msgid "类别" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__maintenance_type +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_category__equipment_type +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__type +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_search +msgid "类型" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__type__type1 +msgid "类型1" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__type__type2 +msgid "类型2" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "精度参数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_standards__fault_type__系统类 +#: model:ir.model.fields.selection,name:sf_maintenance.selection__sf_maintenance_logs__fault_type__系统类 +msgid "系统类" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__end_time +msgid "结束时间" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "维保" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_request_view_form +msgid "维保人" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standard_image__image +msgid "维保图片" +msgstr "" + +#. module: sf_maintenance +#: model:res.groups,name:sf_maintenance.sf_group_equipment_user +msgid "维保岗" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_request_view_form +msgid "维保日期" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__maintenance_standards +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_request_view_form +msgid "维保标准" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_request__sf_maintenance_type +msgid "维保类别" +msgstr "" + +#. module: sf_maintenance +#: model:ir.actions.act_window,name:sf_maintenance.hr_equipment_request_action1 +#: model:ir.model,name:sf_maintenance.model_maintenance_request +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__maintenance_request_ids +#: model:ir.ui.menu,name:sf_maintenance.menu_m_request_form1 +msgid "维保计划" +msgstr "保养请求" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__remark +msgid "维保记录" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model,name:sf_maintenance.model_maintenance_standards +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__maintenance_standards_ids +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_request__maintenance_standards +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__name +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_form +msgid "维保项目" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__code +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__code +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_search +msgid "编码" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__code_location +msgid "编码位置" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__robot_installation_method__置地式 +msgid "置地式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.actions.act_window,name:sf_maintenance.action_maintenance_equipment_image +#: model:ir.ui.menu,name:sf_maintenance.maintenance_equipment_image_form +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_maintenance_equipment_image_tree +msgid "能力特征库" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__AGV_charge_mode__自动 +msgid "自动" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__code +msgid "行业编码" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_direction_travel +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "行走方向" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__state__计划维保 +msgid "计划维保" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_agv_log__equipment_id +msgid "设备" +msgstr "" + +#. module: sf_maintenance +#: model:ir.actions.act_window,name:sf_maintenance.action_maintenance_oee +#: model:ir.model,name:sf_maintenance.model_maintenance_equipment_oee +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__equipment_oee_ids +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__equipment_oee_id +#: model:ir.ui.menu,name:sf_maintenance.menu_maintenance_oee +#: model_terms:ir.actions.act_window,help:sf_maintenance.action_maintenance_oee +msgid "设备OEE" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__name +#: model:ir.model.fields,field_description:sf_maintenance.field_sf_maintenance_logs__maintenance_equipment_oee_id +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "设备oee" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__eq_maintenance_id +msgid "设备保养标准" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "设备参数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__name +msgid "设备名称" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__machine_tool_picture +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__machine_tool_picture +msgid "设备图片" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "设备尺寸(mm)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_W +msgid "设备尺寸(宽)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_L +msgid "设备尺寸(长)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_H +msgid "设备尺寸(高)" +msgstr "" + +#. module: sf_maintenance +#: model:res.groups,name:sf_maintenance.sf_group_equipment_manager +msgid "设备总监" +msgstr "" + +#. module: sf_maintenance +#: model:ir.actions.act_window,name:sf_maintenance.action_maintenance_logs +#: model:ir.model,name:sf_maintenance.model_sf_maintenance_logs +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__sf_maintenance_logs_ids +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__sf_maintenance_logs_ids +#: model:ir.ui.menu,name:sf_maintenance.menu_maintenance_logs +#: model_terms:ir.actions.act_window,help:sf_maintenance.action_maintenance_logs +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_maintenance_logs_form +msgid "设备故障日志" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model,name:sf_maintenance.model_maintenance_equipment +msgid "设备机床刀库" +msgstr "设备保养" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__overhaul_id +msgid "设备检修标准" +msgstr "" + +#. modules: sf_maintenance, maintenance +#: model:ir.actions.act_window,name:sf_maintenance.hr_equipment_action1 +#: model:ir.ui.menu,name:maintenance.menu_m_dashboard +#: model:ir.ui.menu,name:sf_maintenance.menu_equipment_form1 +msgid "设备清单" +msgstr "驾驶舱" + +#. module: maintenance +#: model:ir.ui.menu,name:maintenance.menu_m_request +msgid "设备管理" +msgstr "维保" + +#. module: sf_maintenance +#: model:ir.model,name:sf_maintenance.model_maintenance_equipment_category +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__maintenance_equipment_category_id +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_search +msgid "设备类别" +msgstr "维护设备类别" + +#. module: sf_maintenance +#: model:ir.actions.act_window,name:sf_maintenance.action_equipment_maintenance_standards +#: model:ir.model,name:sf_maintenance.model_equipment_maintenance_standards +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__equipment_maintenance_standards_ids +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_request__equipment_maintenance_id +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_standards__equipment_maintenance_standards_id +#: model:ir.ui.menu,name:sf_maintenance.menu_equipment_maintenance_standards +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_form +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_equipment_maintenance_standards_tree +msgid "设备维保标准" +msgstr "" + +#. module: sf_maintenance +#. odoo-python +#: code:addons/sf_maintenance/models/sf_maintenance_requests.py:0 +#, python-format +msgid "设备维保标准不能为空,请选择后再保存" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.view_maintenance_standards_form +msgid "设备维保项目" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee__equipment_code +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_log_detail__equipment_code +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment_oee_logs__equipment_code +msgid "设备编码" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model,name:sf_maintenance.model_maintenance_equipment_oee_logs +msgid "设备运行日志" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model,name:sf_maintenance.model_maintenance_equipment_oee_log_detail +msgid "设备运行日志详情" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__date_of_warranty +msgid "质保截至日期" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.actions.act_window,help:sf_maintenance.hr_equipment_action1 +msgid "" +"跟踪设备并将其链接到员工或部门。\n" +" 您将能够管理设备的分配、问题和维护。" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.actions.act_window,help:sf_maintenance.hr_equipment_request_action1 +msgid "跟进请求的处理,并且和合作者沟通。" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__function_type__cxjgzx +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_logs__function_type__cxjgzx +msgid "车削加工中心" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "轨道尺寸" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_track_dimensions_W +msgid "轨道尺寸(宽)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_track_dimensions_L +msgid "轨道尺寸(长)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_track_dimensions_H +msgid "轨道尺寸(高)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_veer_motor_power +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "转向电机功率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_veer_motor_speed_ratio +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "转向电机速比" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__rotate_speed +msgid "转速" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__number_of_axles +msgid "轴数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_goods_W +msgid "载货尺寸(宽)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_goods_L +msgid "载货尺寸(长)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_goods_H +msgid "载货尺寸(高)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "载货尺寸MAX(mm)" +msgstr "" + +#. module: sf_maintenance +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "进给参数" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__feed_speed +msgid "进给速度(mm/min)" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_job_duration +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "连续作业时长" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_equipment_maintenance_standards__maintenance_equipment_ids +msgid "适用设备" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_communication_mode +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "通讯方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__date_of_purchase +msgid "采购日期" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_repeatable_positioning_accuracy +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "重复定位精度" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__function_type__zxjgzx +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment_oee_logs__function_type__zxjgzx +msgid "钻铣加工中心" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__detect_locking_mode +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "锁紧方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__overhaul_period +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "预防检修频次" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__robot_drive_mode +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "驱动方式" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_drive_motor_power +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "驱动电机功率" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields,field_description:sf_maintenance.field_maintenance_equipment__AGV_drive_motor_speed_ratio +#: model_terms:ir.ui.view,arch_db:sf_maintenance.sf_hr_equipment_view_form +msgid "驱动电机速比" +msgstr "" + +#. module: sf_maintenance +#: model:ir.model.fields.selection,name:sf_maintenance.selection__maintenance_equipment__heightened_way__chilunjia +msgid "齿轮架驱动" +msgstr "" diff --git a/sf_maintenance/models/sf_maintenance_oee.py b/sf_maintenance/models/sf_maintenance_oee.py index a88bc27e..0889fdb5 100644 --- a/sf_maintenance/models/sf_maintenance_oee.py +++ b/sf_maintenance/models/sf_maintenance_oee.py @@ -88,6 +88,69 @@ class SfMaintenanceEquipmentOEE(models.Model): begin_time = fields.Date('开始时间') end_time = fields.Date('结束时间') + def get_running_datas(self): + base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') + url_time = base_url + '/api/RunningTimeDetail' + cnc_list_obj = self.env['maintenance.equipment'].sudo().search( + [('function_type', '!=', False), ('active', '=', True)]) + machine_list = list(map(lambda x: x.code, cnc_list_obj)) + # print('machine_list: %s' % machine_list) + + data_time = { + "machine_list": str(machine_list) + } + # 发送POST请求 + response_time = requests.post(url_time, json={}, data=data_time) + # print(response_time.json()) + if response_time.status_code == 200: + result_time = response_time.json() + if result_time['status'] == 1: + real_dict = result_time['data'] + for key in real_dict: + # print(key) + equipment_obj = self.env['maintenance.equipment.oee'].sudo().search([('equipment_code', '=', key)]) + if real_dict[key]['power_on_time'] == 0: + equipment_obj.online_time = 0 + equipment_obj.idle_time = 0 + equipment_obj.idle_rate = 0 + equipment_obj.work_rate = 0 + equipment_obj.fault_time = 0 + equipment_obj.fault_rate = 0 + equipment_obj.fault_nums = 0 + equipment_obj.idle_nums = 0 + equipment_obj.work_time = 0 + else: + equipment_obj.online_time = round(convert_to_seconds(real_dict[key]['power_on_time']) / 3600, 2) + equipment_obj.work_time = round(convert_to_seconds(real_dict[key]['cut_time']) / 3600, 2) + equipment_obj.fault_nums = real_dict[key]['alarm_all_nums'] + equipment_obj.idle_nums = real_dict[key]['idle_count'] + equipment_obj.fault_time = round((float(real_dict[key]['alarm_all_time']) if real_dict[key][ + 'alarm_all_time'] else 0) / 3600, 2) + equipment_obj.idle_time = float(equipment_obj.online_time) - float( + equipment_obj.work_time) if equipment_obj.online_time and equipment_obj.work_time else 0 + equipment_obj.idle_rate = round( + float(equipment_obj.idle_time) / ( + float(equipment_obj.online_time) if equipment_obj.online_time else 1) * 100, 2) + equipment_obj.work_rate = round( + float(equipment_obj.work_time) / ( + float(equipment_obj.online_time) if equipment_obj.online_time else 1) * 100, 2) + + equipment_obj.fault_rate = round( + float(equipment_obj.fault_time) / ( + float(equipment_obj.online_time) if equipment_obj.online_time else 1) * 100, 2) + + # 获取当前时间的时间戳 + current_timestamp = datetime.datetime.now().timestamp() + # 机床上线时间段 + first_online_duration = current_timestamp - int(equipment_obj.equipment_id.first_online_time.timestamp()) + + if equipment_obj.online_time: + equipment_obj.offline_time = round((first_online_duration - float(equipment_obj.online_time)) / 3600, 2) + else: + equipment_obj.offline_time = False + # equipment_obj.offline_time = equipment_obj.equipment_id.first_online_time - ( + # float(equipment_obj.online_time) if equipment_obj.online_time else 0) + # 获取日志详情 def get_day_logs(self): base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') @@ -150,12 +213,11 @@ class SfMaintenanceEquipmentOEE(models.Model): self.fault_nums = real_dict['alarm_last_24_nums'] self.idle_nums = real_dict['idle_count'] self.work_time = round( - (convert_to_seconds(real_dict['cut_time']) - convert_to_seconds(real_dict['cut_24_time'])) / 3600, + (convert_to_seconds(real_dict['cut_time']) - convert_to_seconds( + real_dict['cut_24_time'])) / 3600, 2) self.offline_time = 24 - (float(self.online_time) if self.online_time else 0) - - if response.status_code == 200: result = response.json() print('============', result) diff --git a/sf_maintenance/views/maintenance_equipment_oee_views.xml b/sf_maintenance/views/maintenance_equipment_oee_views.xml index 98d6dec5..a78408e6 100644 --- a/sf_maintenance/views/maintenance_equipment_oee_views.xml +++ b/sf_maintenance/views/maintenance_equipment_oee_views.xml @@ -79,12 +79,12 @@ - - - -