예제 #1
0
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)
예제 #2
0
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)