1、优化手动获取编程的接口,添加获取编程完成之后进行用刀校验;2、处理 权限问题-工单详情缺少【时间跟踪】tab;3、用刀校验方法添加日志
This commit is contained in:
@@ -960,6 +960,13 @@ class MrpProduction(models.Model):
|
|||||||
productions_not_delivered.write(
|
productions_not_delivered.write(
|
||||||
{'state': 'progress', 'programming_state': '已编程', 'is_rework': False})
|
{'state': 'progress', 'programming_state': '已编程', 'is_rework': False})
|
||||||
|
|
||||||
|
# 对制造订单所以面的cnc工单的程序用刀进行校验
|
||||||
|
try:
|
||||||
|
logging.info(f'已更新制造订单:{productions_not_delivered}')
|
||||||
|
productions_not_delivered.production_cnc_tool_checkout()
|
||||||
|
except Exception as e:
|
||||||
|
logging.info(f'对cnc工单的程序用刀进行校验报错:{e}')
|
||||||
|
|
||||||
# 从cloud获取重新编程过的最新程序
|
# 从cloud获取重新编程过的最新程序
|
||||||
def get_new_program(self, processing_panel):
|
def get_new_program(self, processing_panel):
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -584,6 +584,12 @@
|
|||||||
position="after">
|
position="after">
|
||||||
<field name="duration" string="实际时长"/>
|
<field name="duration" string="实际时长"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
<xpath expr="//page[@name='time_tracking']" position="attributes">
|
||||||
|
<attribute name="groups">
|
||||||
|
mrp.group_mrp_manager,sf_base.group_sf_mrp_manager,sf_base.group_sf_equipment_user,sf_base.group_sf_order_user
|
||||||
|
</attribute>
|
||||||
|
</xpath>
|
||||||
|
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ class Sf_Mrs_Connect(http.Controller, MultiInheritController):
|
|||||||
|
|
||||||
# 对制造订单所以面的cnc工单的程序用刀进行校验
|
# 对制造订单所以面的cnc工单的程序用刀进行校验
|
||||||
try:
|
try:
|
||||||
|
logging.info(f'已更新制造订单:{productions}')
|
||||||
productions.production_cnc_tool_checkout()
|
productions.production_cnc_tool_checkout()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.info(f'对cnc工单的程序用刀进行校验报错:{e}')
|
logging.info(f'对cnc工单的程序用刀进行校验报错:{e}')
|
||||||
|
|||||||
@@ -170,6 +170,7 @@ class MrpProduction(models.Model):
|
|||||||
# 修改cnc程序的‘刀具状态’
|
# 修改cnc程序的‘刀具状态’
|
||||||
workorder_ids = self.env['mrp.workorder'].sudo().search([('production_id', 'in', self.ids)])
|
workorder_ids = self.env['mrp.workorder'].sudo().search([('production_id', 'in', self.ids)])
|
||||||
if invalid_tool:
|
if invalid_tool:
|
||||||
|
logging.info(f'无效刀:{invalid_tool}')
|
||||||
# 修改cnc程序的‘刀具状态’为 ‘无效刀’
|
# 修改cnc程序的‘刀具状态’为 ‘无效刀’
|
||||||
cnc_ids = self.env['sf.cnc.processing'].sudo().search(
|
cnc_ids = self.env['sf.cnc.processing'].sudo().search(
|
||||||
[('workorder_id', 'in', workorder_ids.ids), ('cutting_tool_name', 'in', invalid_tool)])
|
[('workorder_id', 'in', workorder_ids.ids), ('cutting_tool_name', 'in', invalid_tool)])
|
||||||
@@ -198,12 +199,14 @@ class MrpProduction(models.Model):
|
|||||||
# 修改制造订单 编程状态变为“编程中” 制造订单状态为‘返工’
|
# 修改制造订单 编程状态变为“编程中” 制造订单状态为‘返工’
|
||||||
self.write({'programming_state': '编程中', 'work_state': '编程中', 'state': 'rework'})
|
self.write({'programming_state': '编程中', 'work_state': '编程中', 'state': 'rework'})
|
||||||
if missing_tool_1:
|
if missing_tool_1:
|
||||||
|
logging.info(f'线边、机内缺刀:{missing_tool_1}')
|
||||||
# 修改 修改cnc程序的‘刀具状态’ 为 ‘缺刀’
|
# 修改 修改cnc程序的‘刀具状态’ 为 ‘缺刀’
|
||||||
cnc_ids = self.env['sf.cnc.processing'].sudo().search(
|
cnc_ids = self.env['sf.cnc.processing'].sudo().search(
|
||||||
[('workorder_id', 'in', workorder_ids.ids), ('cutting_tool_name', 'in', missing_tool_1)])
|
[('workorder_id', 'in', workorder_ids.ids), ('cutting_tool_name', 'in', missing_tool_1)])
|
||||||
if cnc_ids:
|
if cnc_ids:
|
||||||
cnc_ids.write({'tool_state': '1'})
|
cnc_ids.write({'tool_state': '1'})
|
||||||
if missing_tool_2 and not invalid_tool:
|
if missing_tool_2 and invalid_tool != []:
|
||||||
|
logging.info(f'库存缺刀:{missing_tool_2}')
|
||||||
# 调用CAM工单程序用刀计划创建方法
|
# 调用CAM工单程序用刀计划创建方法
|
||||||
cnc_ids = self.env['sf.cnc.processing'].sudo().search(
|
cnc_ids = self.env['sf.cnc.processing'].sudo().search(
|
||||||
[('workorder_id', 'in', workorder_ids.filtered(lambda a: a.production_id == self[0].id).ids),
|
[('workorder_id', 'in', workorder_ids.filtered(lambda a: a.production_id == self[0].id).ids),
|
||||||
@@ -211,4 +214,6 @@ class MrpProduction(models.Model):
|
|||||||
if cnc_ids:
|
if cnc_ids:
|
||||||
logging.info('调用CAM工单程序用刀计划创建方法!!!')
|
logging.info('调用CAM工单程序用刀计划创建方法!!!')
|
||||||
self.env['sf.cam.work.order.program.knife.plan'].sudo().create_cam_work_plan(cnc_ids)
|
self.env['sf.cam.work.order.program.knife.plan'].sudo().create_cam_work_plan(cnc_ids)
|
||||||
|
if not invalid_tool and not missing_tool_1:
|
||||||
|
logging.info('校验cnc用刀正常!!!')
|
||||||
logging.info('工单cnc程序用刀校验完成!!!')
|
logging.info('工单cnc程序用刀校验完成!!!')
|
||||||
|
|||||||
Reference in New Issue
Block a user