diff --git a/sf_manufacturing/controllers/controllers.py b/sf_manufacturing/controllers/controllers.py index 2c706063..63ca019a 100644 --- a/sf_manufacturing/controllers/controllers.py +++ b/sf_manufacturing/controllers/controllers.py @@ -307,7 +307,7 @@ class Manufacturing_Connect(http.Controller): logging.info('NCProgDolod error:%s' % e) return json.JSONEncoder().encode(res) - @http.route('/AutoDeviceApi/LocationChange', type='json', auth='sf_token', methods=['GET', 'POST'], csrf=False, + @http.route('/AutoDeviceApi/LocationChange', type='json', auth='none', methods=['GET', 'POST'], csrf=False, cors="*") def LocationChange(self, **kw): """ @@ -320,11 +320,34 @@ class Manufacturing_Connect(http.Controller): res = {'Succeed': True, 'Datas': []} datas = request.httprequest.data ret = json.loads(datas) - if ret: - print(ret) + RfidCode = ret['RfidCode'] + ChangeType = ret['ChangeType'] + OldDeciveId = ret['OldDeciveId'] + OldPosition = ret['OldPosition'] + NewDeciveId = ret['NewDeciveId'] + NewPosition = ret['NewPosition'] + OldDeciveStart = ret['OldDeciveStart'] + OldDeciveEnd = ret['OldDeciveEnd'] + workorder = request.env['mrp.workorder'].sudo().search( + [('rfid_code', '=', RfidCode)], limit=1) + if not workorder: + res = {'Succeed': False, 'ErrorCode': 202, 'Error': '未根据RfidCode找到该工单'} return json.JSONEncoder().encode(res) - else: - res = {'Succeed': False, 'ErrorCode': 201, 'Error': '未传RfidCode字段'} + old_localtion = request.env['sf.shelf.location'].sudo().search( + [('barcode', '=', OldPosition)], limit=1) + new_localtion = request.env['sf.shelf.location'].sudo().search( + [('barcode', '=', NewPosition)], limit=1) + if not new_localtion: + res = {'Succeed': False, 'ErrorCode': 202, 'Error': '没有该目标位置'} + return json.JSONEncoder().encode(res) + if old_localtion: + old_localtion.location_status = '空闲' + old_localtion.production_id = False + new_localtion.location_status = '占用' + new_localtion.production_id = workorder.production_id.id + # return json.JSONEncoder().encode(res) + # else: + # res = {'Succeed': False, 'ErrorCode': 201, 'Error': '未传RfidCode字段'} except Exception as e: res = {'Succeed': False, 'ErrorCode': 202, 'Error': e} logging.info('LocationChange error:%s' % e) diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index 3d28a3f0..4830b2fc 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -103,7 +103,6 @@ -