配置工单显示机床信息
This commit is contained in:
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
121
.idea/workspace.xml
generated
121
.idea/workspace.xml
generated
@@ -1,121 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="a6934384-3cb4-412f-ad33-230944183daf" name="变更" comment="" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="MarkdownSettingsMigration">
|
||||
<option name="stateVersion" value="1" />
|
||||
</component>
|
||||
<component name="ProjectId" id="2KArBhSuUgtOL9OrfrAo80KuD0S" />
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/../iot" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="D:\odoo-16.0" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager" selected="Python.odoo1-bin">
|
||||
<configuration name="odoo-bin" type="PythonConfigurationType" factoryName="Python" nameIsGenerated="true">
|
||||
<module name="odoo-16.0" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../../odoo-16.0" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../odoo-16.0/odoo-bin" />
|
||||
<option name="PARAMETERS" value="-c D:\odoo-16.0\odoo_bfm.conf -i base" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="odoo1-bin" type="PythonConfigurationType" factoryName="Python">
|
||||
<module name="odoo-16.0" />
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/../../odoo-16.0/odoo-bin" />
|
||||
<option name="PARAMETERS" value="-c D:\odoo-16.0\odoo_sf.conf -u sf_machine_connect" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
<option name="MODULE_MODE" value="false" />
|
||||
<option name="REDIRECT_INPUT" value="false" />
|
||||
<option name="INPUT_FILE" value="" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<list>
|
||||
<item itemvalue="Python.odoo-bin" />
|
||||
<item itemvalue="Python.odoo1-bin" />
|
||||
</list>
|
||||
</component>
|
||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="默认任务">
|
||||
<changelist id="a6934384-3cb4-412f-ad33-230944183daf" name="变更" comment="" />
|
||||
<created>1673428094330</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1673428094330</updated>
|
||||
<workItem from="1673428095633" duration="1224000" />
|
||||
<workItem from="1673488896666" duration="932000" />
|
||||
<workItem from="1673489852051" duration="6114000" />
|
||||
<workItem from="1673595526524" duration="1191000" />
|
||||
<workItem from="1673830425053" duration="311000" />
|
||||
<workItem from="1673830749980" duration="2399000" />
|
||||
<workItem from="1673858924810" duration="8856000" />
|
||||
<workItem from="1673927686764" duration="5062000" />
|
||||
<workItem from="1673935238301" duration="30408000" />
|
||||
<workItem from="1674044587531" duration="6421000" />
|
||||
<workItem from="1674953395592" duration="1841000" />
|
||||
<workItem from="1674955271489" duration="21000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
<option name="TAB_STATES">
|
||||
<map>
|
||||
<entry key="MAIN">
|
||||
<value>
|
||||
<State />
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
||||
<SUITE FILE_PATH="coverage/jikimo_sf$odoo1_bin.coverage" NAME="odoo1-bin 覆盖结果" MODIFIED="1674954622789" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="" />
|
||||
<SUITE FILE_PATH="coverage/jikimo_sf$odoo_bin.coverage" NAME="odoo-bin 覆盖结果" MODIFIED="1673859119327" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/../../odoo-16.0" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -20,7 +20,7 @@
|
||||
'views/WorkCenterBarcodes.xml',
|
||||
'views/Stock_picking_Barcodes.xml',
|
||||
'views/machine_monitor.xml',
|
||||
# 'views/machine_info_present.xml',
|
||||
'views/machine_info_present.xml',
|
||||
],
|
||||
|
||||
'assets': {
|
||||
|
||||
@@ -109,6 +109,7 @@ class FtpButton(models.Model):
|
||||
# 'type': 'ir.actions.act_window',
|
||||
# 'target': 'new'
|
||||
# }
|
||||
|
||||
# def up_all(self):
|
||||
# """
|
||||
# 此函数用于将NC代码全部下发到机床
|
||||
@@ -144,7 +145,6 @@ class FtpButton(models.Model):
|
||||
# # _logger.info("=====================================", e)
|
||||
# # raise UserError('NC下发执行超时, 请检查下发状态')
|
||||
|
||||
|
||||
def check_compensation_before_up(self):
|
||||
"""
|
||||
下发NC代码前自动补偿三元检测偏差值
|
||||
@@ -234,8 +234,41 @@ class WorkCenterBarcode(models.Model):
|
||||
|
||||
compensation_value_x = fields.Float(string='X轴补偿值')
|
||||
compensation_value_y = fields.Float(string='Y轴补偿值')
|
||||
button_compensation_state = fields.Boolean(string='是否已经补偿')
|
||||
button_compensation_state = fields.Boolean(string='是否已经补偿', readonly=True)
|
||||
button_up_all_state = fields.Boolean(string='是否已经全部下发', readonly=True)
|
||||
machine_tool_id = fields.Many2one('sf.machine_tool', string='机床')
|
||||
machine_tool_name = fields.Char(string='机床名称', default='未知机床', compute='_run_info', readonly=True)
|
||||
machine_tool_type_id = fields.Char(string='机床型号', default='未知型号', compute='_run_info', readonly=True)
|
||||
machine_tool_status = fields.Boolean(string='在线状态', compute='_run_info', readonly=True)
|
||||
machine_tool_run_status = fields.Selection([('0', '关机中'), ('1', '加工中'), ('2', '加工中'), ('3', '等待中')],
|
||||
string='运行状态', compute='_run_info', readonly=True, default='0')
|
||||
machine_tool_timestamp = fields.Datetime('时间戳', compute='_run_info', readonly=True)
|
||||
machine_tool_time_on = fields.Char('总在线时长', compute='_run_info', readonly=True)
|
||||
machine_tool_time_on_now = fields.Char('本次在线时长', compute='_run_info', readonly=True)
|
||||
machine_tool_tool_num = fields.Integer('当前刀具', compute='_run_info', readonly=True)
|
||||
machine_tool_program = fields.Char('当前程序', compute='_run_info', readonly=True)
|
||||
machine_tool_machine_ip = fields.Char('机床IP', compute='_run_info', readonly=True)
|
||||
machine_tool_cut_status = fields.Selection([('0', '未切削'), ('1', '切削中'), ('2', '切削中'), ('3', '切削中')],
|
||||
string='切削状态', compute='_run_info', readonly=True, default='0')
|
||||
machine_tool_compensation_value_x = fields.Char('x补偿值', compute='_run_info', readonly=True)
|
||||
machine_tool_compensation_value_y = fields.Char('y补偿值', compute='_run_info', readonly=True)
|
||||
|
||||
@api.depends('workcenter_id.machine_tool_id.timestamp')
|
||||
def _run_info(self):
|
||||
# self.machine_tool_name = '1号机床'
|
||||
self.machine_tool_name = self.workcenter_id.machine_tool_id.name
|
||||
self.machine_tool_type_id = self.workcenter_id.machine_tool_id.type_id.name
|
||||
self.machine_tool_status = self.workcenter_id.machine_tool_id.status
|
||||
self.machine_tool_run_status = self.workcenter_id.machine_tool_id.run_status
|
||||
self.machine_tool_timestamp = self.workcenter_id.machine_tool_id.timestamp
|
||||
self.machine_tool_time_on = self.workcenter_id.machine_tool_id.time_on
|
||||
self.machine_tool_time_on_now = self.workcenter_id.machine_tool_id.time_on_now
|
||||
self.machine_tool_tool_num = self.workcenter_id.machine_tool_id.tool_num
|
||||
self.machine_tool_program = self.workcenter_id.machine_tool_id.program
|
||||
self.machine_tool_machine_ip = self.workcenter_id.machine_tool_id.machine_ip
|
||||
self.machine_tool_cut_status = self.workcenter_id.machine_tool_id.cut_status
|
||||
self.machine_tool_compensation_value_x = self.compensation_value_x
|
||||
self.machine_tool_compensation_value_y = self.compensation_value_y
|
||||
|
||||
def compensation(self):
|
||||
|
||||
@@ -256,6 +289,8 @@ class WorkCenterBarcode(models.Model):
|
||||
except Exception as e:
|
||||
_logger.info("=====================================", e)
|
||||
raise UserError('补偿值获取失败,或机床未连接,请检查')
|
||||
# 补偿执行完毕后,按钮标志位变为true
|
||||
self.button_compensation_state = True
|
||||
|
||||
def up_all(self):
|
||||
"""
|
||||
@@ -291,6 +326,8 @@ class WorkCenterBarcode(models.Model):
|
||||
# except Exception as e:
|
||||
# _logger.info("=====================================", e)
|
||||
# raise UserError('NC下发执行超时, 请检查下发状态')
|
||||
# 下发都执行完毕后,按钮标志位变为true
|
||||
self.button_up_all_state = True
|
||||
|
||||
def get__state(self):
|
||||
pay_time = str(datetime.now())
|
||||
|
||||
@@ -12,10 +12,14 @@
|
||||
</group>
|
||||
<div>
|
||||
<div>
|
||||
<field name="button_compensation_state"/>
|
||||
<field name="button_compensation_state" attrs='{"invisible": ["|",
|
||||
("state","!=","progress"),("user_permissions","=",False)]}'/>
|
||||
<button string="一键补偿" name="compensation" type="object" confirm="是否确认下发补偿"
|
||||
class="btn-primary" attrs='{"invisible": ["|",
|
||||
("state","!=","progress"),("user_permissions","=",False)]}'/>
|
||||
<span> </span>
|
||||
<field name="button_up_all_state" attrs='{"invisible": ["|",
|
||||
("state","!=","progress"),("user_permissions","=",False)]}'/>
|
||||
<button string="一键下发" name="up_all" type="object" style="text-align: right;" confirm="是否确认一键下发"
|
||||
class="btn-primary" attrs='{"invisible": ["|",
|
||||
("state","!=","progress"),("user_permissions","=",False)]}'/>
|
||||
|
||||
@@ -11,9 +11,10 @@
|
||||
<xpath expr="//field[@name='remark']" position="after">
|
||||
<!-- <button string="测试按钮" name="pri" type="object" class="btn-primary"/>-->
|
||||
<!-- <field name="workorder_id" invisible="1"/>-->
|
||||
<field name="button_state"/>
|
||||
<field name="user_permissions" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="button_state" attrs='{"invisible": ["|",("state","!=","progress"),
|
||||
("user_permissions","!=",True)]}' optional="show"/>
|
||||
<button string="下发" name="up" type="object" class="btn-primary" confirm="是否确认下发此程序"
|
||||
attrs='{"invisible": ["|",("state","!=","progress"),
|
||||
("user_permissions","!=",True)]}'/>
|
||||
|
||||
@@ -5,12 +5,24 @@
|
||||
<field name="model">mrp.workorder</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_production_workorder_form_view_inherit"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[last()]" position="after">
|
||||
<xpath expr="//page[last()-3]" position="before">
|
||||
<page string="机床信息" attrs='{"invisible": [("routing_type","!=","CNC加工")]}'>
|
||||
<group>
|
||||
<field name="machine_tool_id">
|
||||
</field>
|
||||
<!-- <field name="cnc_ids" widget="one2many" string="工作程序"></field>-->
|
||||
<group string="基本信息">
|
||||
<field name="machine_tool_name"/>
|
||||
<field name="machine_tool_type_id"/>
|
||||
<field name="machine_tool_machine_ip"/>
|
||||
</group>
|
||||
<group string="运行信息">
|
||||
<field name="machine_tool_timestamp"/>
|
||||
<field name="machine_tool_status"/>
|
||||
<field name="machine_tool_run_status"/>
|
||||
<field name="machine_tool_time_on"/>
|
||||
<field name="machine_tool_time_on_now"/>
|
||||
<field name="machine_tool_tool_num"/>
|
||||
<field name="machine_tool_program"/>
|
||||
<field name="machine_tool_cut_status"/>
|
||||
<field name="machine_tool_compensation_value_x"/>
|
||||
<field name="machine_tool_compensation_value_y"/>
|
||||
</group>
|
||||
</page>
|
||||
</xpath>
|
||||
|
||||
Reference in New Issue
Block a user