diff --git a/sf_manufacturing/controllers/controllers.py b/sf_manufacturing/controllers/controllers.py index e0e2a22c..16957d9d 100644 --- a/sf_manufacturing/controllers/controllers.py +++ b/sf_manufacturing/controllers/controllers.py @@ -683,9 +683,14 @@ class Manufacturing_Connect(http.Controller): request.env['center_control.interface.log'].sudo().create( {'content': ret, 'name': 'AutoDeviceApi/AGVStationState'}) logging.info('ret:%s' % ret) - if 'DeviceId' in ret and 'AtHome' in ret: - logging.info('DeviceId:%s, AtHome:%s' % (ret['DeviceId'], ret['AtHome'])) - request.env['sf.agv.site'].update_site_state({ret['DeviceId']: '占用' if ret['AtHome'] else '空闲'}) + ret = ret['param'] + params = {} + for i in range(len(ret)): + if 'DeviceId' in ret[i] and 'AtHome' in ret[i]: + logging.info('DeviceId:%s, AtHome:%s' % (ret[i]['DeviceId'], ret[i]['AtHome'])) + params[ret[i]['DeviceId']] = '占用' if ret[i]['AtHome'] else '空闲' + if params: + request.env['sf.agv.site'].update_site_state(params) except Exception as e: res = {'Succeed': False, 'ErrorCode': 202, 'Error': str(e)} logging.info('AGVDownProduct error:%s' % e)