配置工单显示机床信息

This commit is contained in:
mgw
2023-01-29 17:47:36 +08:00
parent cfde389826
commit f6f782fe33
7 changed files with 64 additions and 137 deletions

6
.idea/vcs.xml generated
View File

@@ -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
View File

@@ -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>

View File

@@ -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': {

View File

@@ -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())

View File

@@ -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>&#32;</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)]}'/>

View File

@@ -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)]}'/>

View File

@@ -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>