diff --git a/sf_manufacturing/controllers/controllers.py b/sf_manufacturing/controllers/controllers.py index 0a5e2d0d..4f378fcc 100644 --- a/sf_manufacturing/controllers/controllers.py +++ b/sf_manufacturing/controllers/controllers.py @@ -317,23 +317,39 @@ class Manufacturing_Connect(http.Controller): 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) - 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 + # Part、Tool + if ChangeType == 'Part': + 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) + 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 + if ChangeType == 'Tool': + old_localtion = request.env['sf.shelf.location'].sudo().search( + [('barcode', '=', OldPosition)], limit=1) + equipment_id = request.env['maintenance.equipment'].sudo().search( + [('name', '=', NewPosition)], limit=1) + equipment_id.register_equipment_tool() + 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 + + # return json.JSONEncoder().encode(res) # else: # res = {'Succeed': False, 'ErrorCode': 201, 'Error': '未传RfidCode字段'}