Пример #1
0
class PowerLineVoltageArrayRoute(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO()

    def post(self):
        #if (request.data != ""):
        #    data = json.loads(request.data)
        #    token = data['token']
        #    user = self.userDao.verify_token(token, '')
        #    if (not user):
        #         return make_response(jsonify({'error': 'Unauthorized access'}), 401)
        args = parser.parse_args()
        voltage = args.get('voltage')
        linename = args.get('linename')
        rs = []
        if (linename == None):
            rs = self.dao.query_lineVoltage(voltage)
        else:
            rs = self.dao.query_lineVoltageBlur(voltage, linename)
        if rs == None:
            return make_response(
                jsonify({
                    'error': '根据电压等级查询线路信息失败',
                    'errorcode': 10000000
                }), 401)
        else:
            return json.dumps(obj=rs)

    def get(self):
        return self.post()
Пример #2
0
class PowerLineTypeRoute(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO()

    def post(self):
        #if (request.data != ""):
        #    data = json.loads(request.data)
        #    token = data['token']
        #    user = self.userDao.verify_token(token, '')
        #    if (not user):
        #         return make_response(jsonify({'error': 'Unauthorized access'}), 401)
        args = parser.parse_args()
        linename = args.get('linename')
        rs = []
        if (linename == None or linename == ''):
            rs = self.dao.query_lineTypes()
        else:
            rs = self.dao.query_lineTypesBlur(linename)

        if rs == None:
            return make_response(
                jsonify({
                    'error': '查询线路电压等级失败',
                    'errorcode': 10000000
                }), 401)
        else:
            return rs

    #else:
    #    return  make_response(jsonify({'error': 'Unauthorized access'}), 401)

    def get(self):
        return self.post()
Пример #3
0
    def ClassifyPhoto(self,towers,photoPath,date,basefolder):
        #纬度一度的差异 直接计算差异比坐标转换之后再计算虽然在精度上下降了,但是效率上得到了很大的提高
        # 综合考虑之后采用直接通过经度和纬度差异的方式进行计算
        unitLat = 111000.0
        photoCoordinate = self.GetPhotoCoordinate(photoPath)
        if photoCoordinate==None:
            return None
        dis = []
        for towerItem in towers:
            unitLng = unitLat*math.cos(math.radians(photoCoordinate['lat']))
            dLat = (towerItem['tower_lat']-photoCoordinate['lat'])*unitLat*(towerItem['tower_lat']-photoCoordinate['lat'])*unitLat
            dLng = (towerItem['tower_lng']-photoCoordinate['lng'])*unitLng*(towerItem['tower_lng']-photoCoordinate['lng'])*unitLng
            dis.append(math.sqrt(dLat+dLng))
        index = dis.index(min(dis))

        #将文件移动到对应的文件夹下
        daoLine=LinesDao()
        line=daoLine.query_line_fuzzy(towers[index]['tower_linename'])
        filename=os.path.basename(photoPath)

        #构建目标路径
        basePath = '\\'+str(line[0]['lines_voltage'])+'\\'+str(line[0]['lines_id'])+'\\'+str(towers[index]['tower_id'])+'\\'+date+'\\未分类\\'+filename
        distPath= basefolder+basePath

        #移动文件夹
        self.MoveFile(photoPath,distPath)
        return (basePath,index,line[0]['lines_id'])
Пример #4
0
class PowerLineVoltageRoute(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO

    def post(self):
        #if (request.data != ""):
        #    data = json.loads(request.data)
        #    token = data['token']
        #    user = self.userDao.verify_token(token, '')
        #    if (not user):
        #         return make_response(jsonify({'error': 'Unauthorized access'}), 401)
        args = parser.parse_args()
        voltage = args.get('voltage')
        rs = self.dao.query_lineVoltage(voltage)
        if rs == None:
            return make_response(jsonify({'error': 'Unauthorized access'}),
                                 401)
        else:
            return rs

    #else:
    #    return  make_response(jsonify({'error': 'Unauthorized access'}), 401)

    def get(self):
        return self.post()
Пример #5
0
class PowerLineSearchFuzzy(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO()

    def post(self):
        #if (request.data != ""):
        #    data = json.loads(request.data)
        #    token = data['token']
        #    user = self.userDao.verify_token(token, '')
        #    if (not user):
        #         return make_response(jsonify({'error': 'Unauthorized access'}), 401)
        args = parser.parse_args()

        linename = args.get('linename')
        rs = self.dao.query_line_fuzzy(linename)
        if rs == None:
            return make_response(
                jsonify({
                    'error': '根据线路名称查询线路信息失败',
                    'errorcode': 10000000
                }), 401)
        else:
            return json.dumps(rs)

    #else:
    #    return  make_response(jsonify({'error': 'Unauthorized access'}), 401)

    def get(self):
        return self.post()
Пример #6
0
class PowerLineListRoute(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO()

    def post(self):
        #if (request.data != ""):
        #    data = json.loads(request.data)
        #    token = data['token']
        #    user = self.userDao.verify_token(token, '')
        #    if (not user):
        #         return make_response(jsonify({'error': 'Unauthorized access'}), 401)
        rs = self.dao.query_lines()
        if rs == None:
            return make_response(
                jsonify({
                    'error': '查询线路信息失败',
                    'errorcode': 10000000
                }), 401)
        else:
            return rs

    #else:
    #    return  make_response(jsonify({'error': 'Unauthorized access'}), 401)

    def get(self):
        return self.post()
Пример #7
0
class PowerLineListPageRoute(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO()

    def post(self):
        #if (request.data != ""):
        #    data = json.loads(request.data)
        #    token = data['token']
        #    user = self.userDao.verify_token(token, '')
        #    if (not user):
        #         return make_response(jsonify({'error': 'Unauthorized access'}), 401)
        args = parser.parse_args()
        work_team = args.get('work_team')
        page_size = args.get('page_size')
        page_index = args.get('page_index')
        rs = self.dao.query_line_pages(work_team, page_size, page_index)
        if rs == None:
            return make_response(
                jsonify({
                    'error': '查询线路信息失败',
                    'errorcode': 10000000
                }), 401)
        else:
            return rs

    #else:
    #    return  make_response(jsonify({'error': 'Unauthorized access'}), 401)

    def get(self):
        return self.post()
Пример #8
0
class PowerLineTowerQueryRoute(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO()

    def post(self):
        if (request.data != ""):
            data = json.loads(request.data)
            token = data['token']
            user = self.userDao.verify_token(token, '')
            if (not user):
                return make_response(
                    jsonify({
                        'error': '用户不存在或登录过期',
                        'errorcode': 10000000
                    }), 400)
            if user == 1010301:
                return make_response(
                    jsonify({
                        'error': '登录过期',
                        'errorcode': user
                    }), 400)
            if user == 1010302:
                return make_response(
                    jsonify({
                        'error': '用户验证错误',
                        'errorcode': user
                    }), 400)

            args = parser.parse_args()
            voltage = args.get('voltage')
            work_team = args.get('work_team')
            line_name = args.get('line_name')
            page_size = args.get('page_size')
            page_index = args.get('page_index')
            rs = self.dao.query_line_condition(user, voltage, work_team,
                                               line_name, page_size,
                                               page_index)
            if rs == None:
                return make_response(
                    jsonify({
                        'error': '查询杆塔信息失败',
                        'errorcode': 10000000
                    }), 401)
            else:
                return rs
        else:
            return make_response(jsonify({'error': 'Unauthorized access'}),
                                 401)

    def get(self):
        return self.post()
Пример #9
0
 def post(self):
     if (request.data != ""):
         data = json.loads(request.data)
         token = data['token']
         args = parser.parse_args()
         voltage = args.get('voltage')
         work_team = args.get('work_team')
         line_name = args.get('line_name')
         page_size = args.get('page_size')
         user = self.userDao.verify_token(token, '')
         if (not user):
             return make_response(jsonify({'error': 'Unauthorized access'}),
                                  401)
         lineDao = LinesDao()
         rs = lineDao.query_tower_pages(user, voltage, work_team, line_name,
                                        page_size)
         if rs == None:
             return make_response(jsonify({'error': 'Unauthorized access'}),
                                  401)
         else:
             return rs
     else:
         return make_response(jsonify({'error': 'Unauthorized access'}),
                              401)
Пример #10
0
class PowerLineListPages(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO()

    def post(self):
        if (request.data != ""):
            data = json.loads(request.data)
            token = data['token']
            args = parser.parse_args()
            work_team = args.get('work_team')
            page_size = args.get('page_size')
            user = self.userDao.verify_token(token, '')
            user = self.userDao.verify_token(token, '')
            if (not user):
                return make_response(
                    jsonify({
                        'error': '用户不存在或登录过期',
                        'errorcode': 10000000
                    }), 400)
            if user == 1010301:
                return make_response(
                    jsonify({
                        'error': '登录过期',
                        'errorcode': user
                    }), 400)
            if user == 1010302:
                return make_response(
                    jsonify({
                        'error': '用户验证错误',
                        'errorcode': user
                    }), 400)

            rs = self.dao.query_line_pagesNumber(user, work_team, page_size)
            if rs == None:
                return make_response(
                    jsonify({
                        'error': '查询线路分页数失败',
                        'errorcode': 10000000
                    }), 401)
            else:
                return rs
        return make_response(jsonify({'error': '传入参数错误'}), 401)

    def get(self):
        return self.post()
Пример #11
0
class PowerLineAddRoute(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO()

    def post(self):
        if (request.data != ""):
            data = json.loads(request.data)
            token = data['token']
            lineInfo = data['line']
            user = self.userDao.verify_token(token, '')
            if (not user):
                return make_response(
                    jsonify({
                        'error': '用户不存在或登录过期',
                        'errorcode': 10000000
                    }), 400)
            if user == 1010301:
                return make_response(
                    jsonify({
                        'error': '登录过期',
                        'errorcode': user
                    }), 400)
            if user == 1010302:
                return make_response(
                    jsonify({
                        'error': '用户验证错误',
                        'errorcode': user
                    }), 400)

            line = Lines()
            line.lines_name = lineInfo[0]['lines_name']
            line.lines_construct_date = lineInfo[0]['lines_construct_date']
            line.lines_voltage = lineInfo[0]['lines_voltage']
            line.lines_work_team = lineInfo[0]['lines_work_team']
            line.lines_incharge = lineInfo[0]['lines_incharge']
            rs = self.dao.add_line(user, line)
            if rs == 3010901:
                return make_response(jsonify({'error': '没有权限添加线路'}), 401)
            else:
                return make_response(jsonify({'success': '添加线路成功'}), 200)
        return make_response(jsonify({'error': '传入参数错误'}), 401)

    def get(self):
        return self.post()
Пример #12
0
class PowerLineDeleteRoute(Resource):
    def __init__(self):
        self.dao = LinesDao()
        self.userDao = UserDAO()

    def post(self):
        if (request.data != ""):
            data = json.loads(request.data)
            token = data['token']
            user = self.userDao.verify_token(token, '')
            if (not user):
                return make_response(
                    jsonify({
                        'error': '用户不存在或登录过期',
                        'errorcode': 10000000
                    }), 401)
            if user == 1010301:
                return make_response(
                    jsonify({
                        'error': '登录过期',
                        'errorcode': user
                    }), 401)
            if user == 1010302:
                return make_response(
                    jsonify({
                        'error': '用户验证错误',
                        'errorcode': user
                    }), 400)

            args = parser.parse_args()
            lineid = args.get('lineid')
            rs = self.dao.query_line_delete(user, lineid)
            if rs != 1:
                return make_response(
                    jsonify({
                        'error': '根据线路id查询线路信息失败',
                        'error': 10000000
                    }), 401)
            else:
                return rs
        else:
            return make_response(jsonify({'error': '没有登录,无权限查询线路信息'}), 401)

    def get(self):
        return self.post()
Пример #13
0
 def __init__(self):
     self.dao = LinesDao()
     self.userDao = UserDAO