def add_photo(self, user, photo): usrDao = UserDAO() roles = usrDao.get_role(user) if '3' in roles: session_power.add(photo) session_power.commit() return 1 else: return -1
def add_tower(self, user, tower): usrDao = UserDAO() roles = usrDao.get_role(user) if '3' in roles: session_power.add(tower) session_power.commit() return 1 else: return -1
def add_lines(self, user, lines): usrDao = UserDAO() roles = usrDao.get_role(user) if '3' in roles: for item in lines: session_power.add(item) session_power.commit() return 1 else: return -1
class UAVBatteryModify(Resource): def __init__(self): self.dao = BatteryDAO() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] if (request.data != ""): data = json.loads(request.data) token = data['token'] battery = data['battery'] battery_dict = json.loads(json.dumps(battery)) battery_obj = Battery() battery_obj.battery_id = battery_dict[0]['battery_id'] battery_obj.battery_ver = battery_dict[0]['battery_ver'] battery_obj.battery_type = battery_dict[0]['battery_type'] battery_obj.battery_fact = battery_dict[0]['battery_fact'] battery_obj.battery_date = battery_dict[0]['battery_date'] battery_obj.user_team = battery_dict[0]['user_team'] user = self.userDao.verify_token(token, '') if (not user): return make_response( jsonify({'error': 'Unauthorized access'}), 401) rs = self.dao.modify_battery(user, battery_obj) if rs == 1: return make_response( jsonify({'success': 'add device success'}), 200) else: return make_response( jsonify({'failed': 'add device failed'}), 401) else: return make_response(jsonify({'error': 'Unauthorized access'}), 401) user = self.userDao.verify_token(token, '') if (not user): return make_response(jsonify({'error': 'Unauthorized access'}), 401) rs = self.dao.modify_battery_status(user, battery_id, status) if rs == 1: return make_response( jsonify({'success': 'modify device status success'}), 200) else: return make_response( jsonify({'failed': 'modify device status failed'}), 401) else: return make_response(jsonify({'error': 'Unauthorized access'}), 401) def get(self): return self.post()
def add_photo(self, user, photo): usrDao = UserDAO() roles = usrDao.get_role(user) if '3' in roles: self.session_power.add(photo) try: self.session_power.commit() except: self.session_power.rollback() return 1 else: return 3030701
def update_tower(self, user, tower): usrDao = UserDAO() roles = usrDao.get_role(user) if '3' in roles: self.session_power.merge(tower) try: self.session_power.commit() except: self.session_power.rollback() return 1 else: return 3020501
def add_line(self, user, line): usrDao = UserDAO() roles = usrDao.get_role(user) if '3' in roles: self.session_power.add(line) try: self.session_power.commit() except: self.session_power.rollback() return 1 else: return 3010901
class UserList(Resource): def __init__(self): 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() department = args.get('department') team = args.get('team') page_index = args.get('page_index') page_size = args.get('page_size') rs = self.userDao.query_users(user, department, team, page_index, page_size) if rs == None: return make_response( jsonify({ 'error': '无权限查询用户信息', 'errorcode': 10000000 }), 401) else: return rs else: return make_response( jsonify({ 'error': '输入参数有误', 'errorcode': 10000000 }), 401) def get(self): return self.post()
def add_photos(self, user, photos): usrDao = UserDAO() roles = usrDao.get_role(user) if '3' in roles: for item in photos: self.session_power.add(item) try: self.session_power.commit() except: self.session_power.rollback() return 1 else: return 3030901
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 ManagerListPages(Resource): def __init__(self): self.dao = ManagerDAO() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) args = parser.parse_args() token = data['token'] user = self.userDao.verify_token(token, '') if (not user): return make_response(jsonify({'error': 'Unauthorized access'}), 401) else: args = parser.parse_args() device_type=args.get('device_type') manager_status=args.get('manager_status') device_version=args.get('device_ver') page_index = args.get('page_index') page_size = args.get('page_size') rs=self.dao.query_condition(user,device_version,None,device_type,manager_status,None,None,page_index,page_size) return json.dumps(rs) else: return make_response(jsonify({'error': 'Unauthorized access'}), 401) def get(self): return(self.post())
class UAVPadTypes(Resource): def __init__(self): self.dao = PadDao() 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): 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) return self.dao.query_type() def get(self): return self.post()
class UAVFaultStatistics(Resource): def __init__(self): self.dao = FaultDao() 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_statistics(user) 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()
class FaultReportUpdate(Resource): def __init__(self): self.dao = FaultReportDao() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] report = data['report'] reportdict = json.loads(json.dumps(report)) report = FaultReport() report.__dict__ = reportdict[0] user = self.userDao.verify_token(token, '') if (not user): return make_response(jsonify({'error': 'Unauthorized access'}), 401) if self.dao.update(user, report) == 1: return make_response(jsonify({'success': 'Update success'}), 200) else: return make_response(jsonify({'error': 'Unauthorized update'}), 401) else: return make_response(jsonify({'error': 'Unauthorized access'}), 401) def get(self): return self.post()
class UAVFaultAdd(Resource): def __init__(self): self.dao = FaultDao() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] faultdict = data['fault'] fault = Fault() fault.device_id = faultdict[0]['device_id'] fault.device_ver = faultdict[0]['device_ver'] fault.fault_date = faultdict[0]['fault_date'] fault.fault_reason = faultdict[0]['fault_reason'] fault.fault_deal = faultdict[0]['fault_deal'] fault.fault_finished = faultdict[0]['fault_finished'] user = self.userDao.verify_token(token, '') if (not user): return make_response(jsonify({'error': 'Unauthorized access'}), 401) rs = self.dao.add_fault(user, fault) 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()
class UAVFaultList(Resource): def __init__(self): self.dao = FaultDao() 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() page_index = args.get('page_index') page_size = args.get('page_size') device_ver = args.get('device_ver') return self.dao.query_list(user, device_ver, page_index, page_size) else: return make_response(jsonify({'error': 'Unauthorized access'}), 401) def get(self): return self.post()
class UAVDeviceStatus(Resource): def __init__(self): self.dao = DeviceDAO() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] device_id = data['device_id'] status = data['status'] user = self.userDao.verify_token(token, '') if (not user): return make_response(jsonify({'error': 'Unauthorized access'}), 401) rs = self.dao.modify_device_status(user, device_id, status) if rs == 1: return make_response( jsonify({'success': 'modify device status success'}), 200) else: return make_response( jsonify({'failed': 'modify device status failed'}), 401) else: return make_response(jsonify({'error': 'Unauthorized access'}), 401) def get(self): return self.post()
class ManagerListPageNum(Resource): def __init__(self): self.dao = ManagerDAO() 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) elif user == 1010301: return make_response(jsonify({'error': '登录过期', 'errorcode': user}), 400) elif user == 1010302: return make_response(jsonify({'error': '用户验证错误', 'errorcode': user}), 400) else: args = parser.parse_args() device_type=args.get('device_type') device_status=args.get('device_status') device_ver=args.get('device_ver') page_size = args.get('page_size') rs=self.dao.query_pages(user,device_type,device_ver,device_status,page_size) return rs else: return make_response(jsonify({'error': '输入参数有误', 'errorcode': 10000000}), 401) def get(self): return(self.post())
class PowerLineTowerPagesRoute(Resource): def __init__(self): self.dao = TowerDao() self.userDao = UserDAO() 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) def get(self): return self.post()
class ManagerHistorySearch(Resource): def __init__(self): self.dao = ManagerDAO() 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) elif user == 1010301: return make_response(jsonify({'error': '登录过期', 'errorcode': user}), 400) elif user == 1010302: return make_response(jsonify({'error': '用户验证错误', 'errorcode': user}), 400) else: args = parser.parse_args() page_size = args.get('page_size') page_index = args.get('page_index') sttime = datetime.strptime(args.get('start_time'),'%Y-%m-%d').date() endtime=datetime.strptime(args.get('end_time'),'%Y-%m-%d').date() rs=self.dao.query_time(user,page_index,page_size,sttime,endtime) return rs else: return make_response(jsonify({'error': '输入参数有误', 'errorcode': 10000000}), 401) def get(self): return(self.post())
class ManagerReturnConfirm(Resource): def __init__(self): self.dao = ManagerDAO() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] returnList=data['return'] 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 returnList: returntime = datetime.strptime(item['return_date'], '%Y-%m-%d').date() deviceid = item['id'] device_cond= item['condition'] rs=self.dao.manager_return(user,deviceid,returntime,device_cond) if rs==2052101: return make_response(jsonify({'error': '设备没有被借用','errorcode':rs}), 401) if rs==2052102: return make_response(jsonify({'error': '设备不存在或不是本班组设备','errorcode':rs}), 401) if rs == 2052103: return make_response(jsonify({'error': '设备无权限归还','errorcode':rs}), 401) return make_response(jsonify({'success': '设备归还成功','errorcode':rs}), 200) else: return make_response(jsonify({'error': '输入参数有误', 'errorcode': 10000000}), 401)
class UAVBatteryList(Resource): def __init__(self): self.dao = BatteryDAO() 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() battery_status = args.get('battery_status') battery_type = args.get('battery_type') page_index = args.get('page_index') page_size = args.get('page_size') return self.dao.query_condition(user, None, None, battery_type, battery_status, page_index, page_size) else: return make_response(jsonify({'error': 'Unauthorized access'}), 401) def get(self): return self.post()
class UserGetID(Resource): def __init__(self): self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] user_id = data['user_id'] 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.userDao.get_user_byId(user_id) if rs == None: return make_response( jsonify({ 'error': '无权限查询用户信息', 'errorcode': 10000000 }), 401) else: return rs else: return make_response( jsonify({ 'error': '输入参数有误', 'errorcode': 10000000 }), 401) def get(self): return self.post()
class UAVFaultScrap(Resource): def __init__(self): self.dao = FaultDao() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] fault_list = data['fault_id'] 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 = 1 for item in fault_list: rs = self.dao.scrap_fault(user, item) if rs == 2061001: return make_response( jsonify({ 'error': '报废设备不存在', 'errorcode': rs }), 401) elif rs == 2060801: return make_response( jsonify({ 'error': '报废设备不存在', 'errorcode': rs }), 401) if rs == -1: return make_response( jsonify({ 'error': '报废设备不存在', 'errorcode': rs }), 401) else: return make_response(jsonify({'success': '报废处理成功'}), 200) else: return make_response(jsonify({'error': 'Unauthorized access'}), 401) def get(self): return self.post()
class UserLogStatistic(Resource): def __init__(self): self.logDao = UserLogDAO() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] deparment = None sttiem = None endtime = None if (data['department'] != None): deparment = data['department'] if (data['sttime'] != ""): sttiem = datetime.datetime.strptime(data['sttime'], '%Y-%m-%d').date() if (data['endtime'] != ""): endtiem = datetime.datetime.strptime(data['endtime'], '%Y-%m-%d').date() 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.logDao.queryStatistic(deparment, sttiem, endtime) if rs == 1011501: return make_response( jsonify({ 'error': '获取登录日志信息失败', 'errorcode': 10000000 }), 401) else: return rs else: return make_response( jsonify({ 'error': '输入参数有误', 'errorcode': 10000000 }), 401) def get(self): return self.post()
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': '用户不存在或登录过期', '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=[] borrower = borrowList['borrower'] #borrowteam=borrowList['borrow_team'] borrowtime = datetime.strptime(borrowList['borrow_time'], '%Y-%m-%d').date() returntime = None device_idList = borrowList['uav_id'] #单次扫描的时候调用的 #for item in borrowList: # borrowtime=datetime.strptime(item['borrow_time'],'%Y-%m-%d').date() # returntime = datetime.strptime(item['return_time'], '%Y-%m-%d').date() # rs=self.dao.manager_borrow(user,item['borrower'],item['borrow_team'],item['uav_id'],borrowtime,returntime) # if rs==-1: # return make_response(jsonify({'error': 'device not exist'}), 401) # if rs==-2: # return make_response(jsonify({'error': 'device not returned'}), 404) # if rs == -3: # return make_response(jsonify({'error': 'borrower not returned'}), 405) # if rs == -4: # return make_response(jsonify({'error': 'approver not exist'}), 406) # ret = self.dao.manager_query_device(int(item['uav_id']),returntime.strftime('%Y-%m-%d'),item['borrower'],'') #return json.dumps(ret) #同时借用多个,建议前端修改调用这个接口 tmplist=[] for item in device_idList: # borrowtime=datetime.strptime(item['borrow_time'],'%Y-%m-%d').date() # returntime = datetime.strptime(item['return_time'], '%Y-%m-%d').date() mngr = Manager() mngr.borrow_date = borrowtime mngr.return_date = returntime mngr.device_id = item mngr.borrower_name = borrower tmplist.append(mngr) rs = self.dao.manager_borrowList(user,tmplist) if len(rs)==0: return make_response(jsonify({'error': '设备被借用或设备不存在','errorcode':10000000}), 401) else: return json.dumps(rs) else: return make_response(jsonify({'error': '输入参数有误', 'errorcode': 10000000}), 401)
class TeamUsers(Resource): def __init__(self): 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) rs = self.userDao.get_teamUser(user) if rs == 1011501: return make_response( jsonify({ 'error': '获取班组管理员失败', 'errorcode': 10000000 }), 401) else: return rs else: return make_response( jsonify({ 'error': '输入参数有误', 'errorcode': 10000000 }), 401) def get(self): return self.post()
class UAVApprovalAgree(Resource): def __init__(self): self.dao = ApprovalDao() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] user = self.userDao.verify_token(token, '') approvaldict = data['approval'] approval = Approval() approval.apply_person = approvaldict[0]['apply_person'] approval.approval_team = approvaldict[0]['approval_team'] approval.device_ver = approvaldict[0]['device_ver'] approval.device_number = approvaldict[0]['device_number'] approval.battery_ver = approvaldict[0]['battery_ver'] approval.battery_number = approvaldict[0]['battery_number'] approval.pad_ver = approvaldict[0]['pad_ver'] approval.pad_number = approvaldict[0]['pad_number'] approval.approval_person = user.user_id 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.approval_aggree(user, approval) if rs == 2080401: return make_response( jsonify({ 'error': '没有权限进行审批', 'errorcode': 2080401 }), 401) if rs == 1: return make_response(jsonify({'success': '审批通过'}), 200) else: return make_response( jsonify({ 'error': '输入参数有误', 'errorcode': 10000000 }), 401) def get(self): return self.post()
class UAVPadModify(Resource): def __init__(self): self.dao = PadDao() self.userDao = UserDAO() def post(self): if (request.data != ""): data = json.loads(request.data) token = data['token'] pad = data['pad'] pad_dict = json.loads(json.dumps(pad)) pad_obj = Pad() pad_obj.pad_id = pad_dict[0]['pad_id'] pad_obj.pad_ver = pad_dict[0]['pad_ver'] pad_obj.pad_type = pad_dict[0]['pad_type'] pad_obj.pad_fact = pad_dict[0]['pad_fact'] pad_obj.pad_date = datetime.strptime(pad_dict[0]['pad_date'], '%Y-%m-%d').date() pad_obj.user_team = pad_dict[0]['user_team'] pad_obj.pad_use_dpartment = pad_dict[0]['use_department'] 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.modify_pad(user, pad_obj) if rs == 1: return make_response(jsonify({'success': '修改设备成功'}), 200) else: return make_response( jsonify({ 'failed': '无权限修改设备', 'errorcode': rs }), 401) else: return make_response( jsonify({ 'error': '输入参数有误', 'errorcode': 10000000 }), 401) def get(self): return self.post()
def query_tower_pages(self, user, voltage, work_team, line_name, page_size): q = self.session_power.query(Lines) usrDao = UserDAO() roles = usrDao.get_role(user) if voltage: q = q.filter(Lines.lines_voltage == voltage) if work_team: q = q.filter(Lines.lines_work_team == work_team) if line_name: q = q.filter(Lines.lines_name == line_name) lines = q.filter(Lines.deleted == 0).all() linenames = [] for line in lines: linenames.append(line.lines_name) towersNum = self.session_power.query(Towers).filter( Towers.tower_linename.in_(linenames)).count() / page_size + 1 item = {} item['pages'] = towersNum return item