申请编程需求
This commit is contained in:
55
sf_manufacturing/wizard/sf_programming_reason.py
Normal file
55
sf_manufacturing/wizard/sf_programming_reason.py
Normal file
@@ -0,0 +1,55 @@
|
||||
from odoo import models, fields, api
|
||||
|
||||
class sf_programming_reason(models.TransientModel):
|
||||
_name = 'sf.programming.reason'
|
||||
_description = '重新编程原因'
|
||||
|
||||
production_id = fields.Many2one('mrp.production')
|
||||
reason = fields.Text('重新编程原因')
|
||||
reprogramming_count = fields.Integer(string='重新编程次数')
|
||||
programming_state = fields.Char(string='编程状态')
|
||||
|
||||
@api.model
|
||||
def default_get(self, fields):
|
||||
res = super(sf_programming_reason, self).default_get(fields)
|
||||
if self._context.get('active_id'):
|
||||
production = self.env['mrp.production'].browse(self._context.get('active_id'))
|
||||
res.update({
|
||||
'reprogramming_count': production._cron_get_programming_state()['reprogramming_num'],
|
||||
'programming_state': production.programming_state, # 假设制造订单模型中有这个字段
|
||||
})
|
||||
return res
|
||||
|
||||
def action_confirm(self):
|
||||
print('self.production_id.programming_state:', self.production_id.programming_state)
|
||||
self.production_id.update_programming_state()
|
||||
self.production_id.write(
|
||||
{'programming_state': '编程中', 'work_state': '编程中'})
|
||||
|
||||
cloud_programming = self.production_id._cron_get_programming_state()
|
||||
|
||||
self.production_id.programming_record_ids.create({
|
||||
'number': len(self.production_id.programming_record_ids) + 1,
|
||||
'production_id': self.production_id.id,
|
||||
'reason': self.reason,
|
||||
'programming_method': cloud_programming['programme_way'],
|
||||
'current_programming_count': cloud_programming['reprogramming_num'],
|
||||
'target_production_id': cloud_programming['production_order_no'],
|
||||
'apply_time': self._context.get('apply_time'),
|
||||
'send_time': cloud_programming['programming_time'],
|
||||
})
|
||||
|
||||
# 返回弹窗提示“已下达编程任务和消息,请等待编程单下发”
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'sf.programming.reason',
|
||||
'view_mode': 'form',
|
||||
'target': 'new',
|
||||
'context': {
|
||||
'default_production_id': self.production_id.id,
|
||||
'active_id': self.production_id.id,
|
||||
},
|
||||
'view_id': self.env.ref('sf_manufacturing.sf_programming_reason_message_view').id,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user