class ManagerBorrow(Resource): def __init__(self): self.dao = ManagerDAO() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] borrowList=data['borrow'] user = self.userDao.verify_token(token, '') if (not user): return make_response(jsonify({'error': 'Unauthorized access'}), 401) else: ret=[] for item in borrowList: rs=self.dao.manager_borrow(user,item['approver'],item['borrower'],item['borrow_team'],item['uav_id'],item['borrow_time'],item['return_time']) if rs==-1: return make_response(jsonify({'error': 'borrower not exist'}), 401) if rs==-2: return make_response(jsonify({'error': 'device not returned'}), 404) uav_dao = DeviceDAO() uav=uav_dao.query_index(int(item['uav_id'])) uavitem={} uavitem['device_type']=uav['device_type'] uavitem['device_id'] = uav['device_id'] uavitem['user_team'] = uav['user_team'] uavitem['return_date'] = item['return_time'] uavitem['approve'] = item['approver'] ret.append(uavitem) return json.dumps(ret) else: return make_response(jsonify({'error': 'Unauthorized access'}), 401)
class ManagerBorrowConfirm(Resource): def __init__(self): self.dao = ManagerDAO() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] borrowList=data['borrow'] if len(borrowList) <=0: return make_response(jsonify({'error': '没有提交借用设备','errorcode':10000000}), 401) user = self.userDao.verify_token(token, '') if (not user): return make_response(jsonify({'error': '用户不存在或登录过期', 'errorcode': 10000000}), 400) elif user == 1010301: return make_response(jsonify({'error': '登录过期', 'errorcode': user}), 400) elif user == 1010302: return make_response(jsonify({'error': '用户验证错误', 'errorcode': user}), 400) else: ret=[] for item in borrowList: borrower = item['borrower'] #borrowteam = item['team'] borrowtime = datetime.strptime(item['return_date'], '%Y-%m-%d').date() returntime = datetime.strptime(item['return_date'], '%Y-%m-%d').date() deviceid = item['id'] rs=self.dao.manager_borrow(user,borrower,None,deviceid,borrowtime,returntime) if rs==2051901 or rs==2051501: return make_response(jsonify({'error': '借用设备不存在或不属于本班组','errorcode':rs}), 401) if rs==2051902: return make_response(jsonify({'error': '借用设备不处于在库状态','errorcode':rs}), 401) if rs == 2051903: return make_response(jsonify({'error': '借用人不属于设备所属班组','errorcode':rs}), 401) if rs == 2051601 or rs==2051602 or rs==2051603 or rs==2051604 or rs==2051605: return make_response(jsonify({'error': '无权限借用设备','errorcode':rs}), 401) #ret = self.dao.manager_query_device(int(item['uav_id']),returntime.strftime('%Y-%m-%d'),item['borrower'],'') return make_response(jsonify({'success': '设备借用成功'}), 200) else: return make_response(jsonify({'error': '输入参数有误', 'errorcode': 10000000}), 401)