增加多种状态对编程记录的更改
This commit is contained in:
@@ -591,7 +591,8 @@ class MrpProduction(models.Model):
|
||||
logging.info('cron_get_programming_state error:%s' % e)
|
||||
|
||||
# 编程单更新
|
||||
def update_programming_state(self):
|
||||
# 增加触发时间参数
|
||||
def update_programming_state(self, trigger_time=None):
|
||||
try:
|
||||
manufacturing_type = 'rework'
|
||||
if self.is_scrap:
|
||||
@@ -613,6 +614,45 @@ class MrpProduction(models.Model):
|
||||
self.write({'is_rework': True})
|
||||
else:
|
||||
raise UserError(ret['message'])
|
||||
|
||||
# 增加对编程记录的更新
|
||||
cloud_programming = self._cron_get_programming_state()
|
||||
if manufacturing_type == 'rework':
|
||||
self.programming_record_ids.create({
|
||||
'number': len(self.programming_record_ids) + 1,
|
||||
'production_id': self.id,
|
||||
'reason': '返工',
|
||||
'programming_method': cloud_programming['programme_way'],
|
||||
'current_programming_count': cloud_programming['reprogramming_num'],
|
||||
'target_production_id': cloud_programming['production_order_no'],
|
||||
'apply_time': trigger_time,
|
||||
'send_time': cloud_programming['send_time'],
|
||||
})
|
||||
elif manufacturing_type == 'scrap':
|
||||
self.programming_record_ids.create({
|
||||
'number': len(self.programming_record_ids) + 1,
|
||||
'production_id': self.id,
|
||||
'reason': '报废',
|
||||
'programming_method': cloud_programming['programme_way'],
|
||||
'current_programming_count': cloud_programming['reprogramming_num'],
|
||||
'target_production_id': cloud_programming['production_order_no'],
|
||||
'apply_time': trigger_time,
|
||||
'send_time': cloud_programming['send_time'],
|
||||
})
|
||||
elif manufacturing_type == 'invalid_tool_rework':
|
||||
self.programming_record_ids.create({
|
||||
'number': len(self.programming_record_ids) + 1,
|
||||
'production_id': self.id,
|
||||
'reason': '无效功能刀具',
|
||||
'programming_method': cloud_programming['programme_way'],
|
||||
'current_programming_count': cloud_programming['reprogramming_num'],
|
||||
'target_production_id': cloud_programming['production_order_no'],
|
||||
'apply_time': trigger_time,
|
||||
'send_time': cloud_programming['send_time'],
|
||||
})
|
||||
else:
|
||||
logging.info('无对应状态,不需更新编程记录')
|
||||
|
||||
except Exception as e:
|
||||
logging.info('update_programming_state error:%s' % e)
|
||||
raise UserError("更新编程单状态失败,请联系管理员")
|
||||
@@ -1609,6 +1649,28 @@ class MrpProduction(models.Model):
|
||||
# 编程记录
|
||||
programming_record_ids = fields.One2many('sf.programming.record', 'production_id')
|
||||
|
||||
# 编程单更新
|
||||
def re_programming_update_programming_state(self):
|
||||
try:
|
||||
res = {'programming_no': self.programming_no,
|
||||
'manufacturing_type': ''}
|
||||
logging.info('res=%s:' % res)
|
||||
configsettings = self.env['res.config.settings'].get_values()
|
||||
config_header = Common.get_headers(self, configsettings['token'], configsettings['sf_secret_key'])
|
||||
url = '/api/intelligent_programming/reset_state_again'
|
||||
config_url = configsettings['sf_url'] + url
|
||||
ret = requests.post(config_url, json=res, data=None, headers=config_header)
|
||||
ret = ret.json()
|
||||
result = json.loads(ret['result'])
|
||||
logging.info('update_programming_state-ret:%s' % result)
|
||||
if result['status'] == 1:
|
||||
self.write({'is_rework': True})
|
||||
else:
|
||||
raise UserError(ret['message'])
|
||||
except Exception as e:
|
||||
logging.info('update_programming_state error:%s' % e)
|
||||
raise UserError("更新编程单状态失败,请联系管理员")
|
||||
|
||||
# 编程记录
|
||||
class sf_programming_record(models.Model):
|
||||
_name = 'sf.programming.record'
|
||||
|
||||
Reference in New Issue
Block a user