def index(request): #7天更新频率统计 userList = Project_Order.objects.raw('''SELECT id,order_user FROM opsmanage_project_order GROUP BY order_user;''') userList = [ u.order_user for u in userList ] dateList = [ base.getDaysAgo(num) for num in xrange(0,7) ][::-1]#将日期反序 dataList = [] for user in userList: valueList = [] data = dict() for startTime in dateList: sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_project_order WHERE date_format(create_time,"%%Y%%m%%d") = {startTime} and order_user='******'""".format(startTime=startTime,user=user) userData = Project_Order.objects.raw(sql) if userData[0].count == 0 :valueList.append(random.randint(1, 10)) else:valueList.append(userData[0].count) data[user] = valueList dataList.append(data) #获取所有指派给自己需要审核的工单 orderNotice = Project_Order.objects.all().order_by('-id')[0:10] #月度更新频率统计 monthList = [ base.getDaysAgo(num)[0:6] for num in (0,30,60,90,120,150,180) ][::-1] monthDataList = [] for ms in monthList: startTime = int(ms+'01') endTime = int(ms+'31') data = dict() data['date'] = ms for user in userList: sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_project_order WHERE date_format(create_time,"%%Y%%m%%d") >= {startTime} and date_format(create_time,"%%Y%%m%%d") <= {endTime} and order_user='******'""".format(startTime=startTime,endTime=endTime,user=user) userData = Project_Order.objects.raw(sql) if userData[0].count == 0:data[user] = random.randint(1, 100) else:data[user] = userData[0].count monthDataList.append(data) #用户部署总计 allDeployList = [] for user in userList: data = dict() count = Project_Order.objects.filter(order_user=user).count() data['user'] = user data['count'] = count allDeployList.append(data) #获取资产更新日志 assetsLog = Log_Assets.objects.all().order_by('-id')[0:10] #获取所有项目数据 assets = Assets.objects.all().count() project = Project_Config.objects.all().count() cron = Cron_Config.objects.all().count() playbook = Ansible_Playbook.objects.all().count() projectTotal = { 'assets':assets, 'project':project, 'playbook':playbook, 'cron':cron } return render(request,'index.html',{"user":request.user,"orderList":dataList, "userList":userList,"dateList":dateList, "monthDataList":monthDataList,"monthList":monthList, "allDeployList":allDeployList,"assetsLog":assetsLog, "orderNotice":orderNotice,"projectTotal":projectTotal})
def getMonthOrderCount(self): #月度统计 monthList = [ base.getDaysAgo(num)[0:6] for num in (0, 30, 60, 90, 120, 150, 180) ][::-1] monthDataList = [] for ms in monthList: startTime = int(ms + '01') endTime = int(ms + '31') data = dict() data['date'] = ms for tp in [0, 1, 2, 3]: if tp == 1: order_type = 'code' elif tp == 0: order_type = 'sql' elif tp == 2: order_type = 'upload' elif tp == 3: order_type = 'download' sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_order_system WHERE date_format(create_time,"%%Y%%m%%d") >= {startTime} and date_format(create_time,"%%Y%%m%%d") <= {endTime} and order_type='{tp}'""".format( startTime=startTime, endTime=endTime, tp=tp) userData = Order_System.objects.raw(sql) if userData[0].count == 0: data[order_type] = random.randint(1, 100) else: data[order_type] = userData[0].count monthDataList.append(data) return monthDataList
def getMonthOrderCount(self): #月度统计 monthList = [ base.getDaysAgo(num)[0:6] for num in (0,30,60,90,120,150,180) ][::-1] monthDataList = [] for ms in monthList: startTime = int(ms+'01') endTime = int(ms+'31') data = dict() data['date'] = ms for tp in [0,1,2,3]: if tp == 1:order_type = 'code' elif tp==0:order_type = 'sql' elif tp==2:order_type = 'upload' elif tp==3:order_type = 'download' sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_order_system WHERE date_format(create_time,"%%Y%%m%%d") >= {startTime} and date_format(create_time,"%%Y%%m%%d") <= {endTime} and order_type='{tp}'""".format(startTime=startTime,endTime=endTime,tp=tp) userData = Order_System.objects.raw(sql) if userData[0].count == 0:data[order_type] = random.randint(1, 100) else:data[order_type] = userData[0].count monthDataList.append(data) return monthDataList
def index(request): #7天更新频率统计 userList = Project_Order.objects.raw( '''SELECT id,order_user FROM opsmanage_project_order GROUP BY order_user;''' ) userList = [u.order_user for u in userList] dateList = [base.getDaysAgo(num) for num in xrange(0, 7)][::-1] #将日期反序 dataList = [] for user in userList: valueList = [] data = dict() for startTime in dateList: sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_project_order WHERE date_format(create_time,"%%Y%%m%%d") = {startTime} and order_user='******'""".format( startTime=startTime, user=user) userData = Project_Order.objects.raw(sql) if userData[0].count == 0: valueList.append(random.randint(1, 10)) else: valueList.append(userData[0].count) data[user] = valueList dataList.append(data) #获取所有指派给自己需要审核的工单 orderNotice = Project_Order.objects.all().order_by('-id')[0:10] #月度更新频率统计 monthList = [ base.getDaysAgo(num)[0:6] for num in (0, 30, 60, 90, 120, 150, 180) ][::-1] monthDataList = [] for ms in monthList: startTime = int(ms + '01') endTime = int(ms + '31') data = dict() data['date'] = ms for user in userList: sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_project_order WHERE date_format(create_time,"%%Y%%m%%d") >= {startTime} and date_format(create_time,"%%Y%%m%%d") <= {endTime} and order_user='******'""".format( startTime=startTime, endTime=endTime, user=user) userData = Project_Order.objects.raw(sql) if userData[0].count == 0: data[user] = random.randint(1, 100) else: data[user] = userData[0].count monthDataList.append(data) #用户部署总计 allDeployList = [] for user in userList: data = dict() count = Project_Order.objects.filter(order_user=user).count() data['user'] = user data['count'] = count allDeployList.append(data) #获取资产更新日志 assetsLog = Log_Assets.objects.all().order_by('-id')[0:10] #获取所有项目数据 assets = Assets.objects.all().count() project = Project_Config.objects.all().count() cron = Cron_Config.objects.all().count() playbook = Ansible_Playbook.objects.all().count() projectTotal = { 'assets': assets, 'project': project, 'playbook': playbook, 'cron': cron } return render( request, 'index.html', { "user": request.user, "orderList": dataList, "userList": userList, "dateList": dateList, "monthDataList": monthDataList, "monthList": monthList, "allDeployList": allDeployList, "assetsLog": assetsLog, "orderNotice": orderNotice, "projectTotal": projectTotal })
def index(request): #7天更新频率统计 userList = Order_System.objects.raw( '''SELECT id,order_user FROM opsmanage_order_system where order_type=1 GROUP BY order_user;''' ) userList = [u.order_user for u in userList] dateList = [base.getDaysAgo(num) for num in xrange(0, 7)][::-1] #将日期反序 dataList = [] for user in userList: try: username = User.objects.get(id=user).username except: username = '******' valueList = [] data = dict() for startTime in dateList: sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_order_system WHERE order_type=1 and date_format(create_time,"%%Y%%m%%d") = {startTime} and order_user='******'""".format(startTime=startTime, user=user) userData = Order_System.objects.raw(sql) if userData[0].count == 0: valueList.append(random.randint(1, 10)) else: valueList.append(userData[0].count) data[username] = valueList dataList.append(data) #获取所有指派给自己需要审核的工单 orderNotice = Order_System.objects.filter().order_by('-id')[0:10] for order in orderNotice: if order.order_type == 1: order.order_url = '/deploy_order/status/{id}/'.format(id=order.id) order.order_content = order.project_order.order_content elif order.order_type == 0: order.order_url = '/db/sql/order/run/{id}/'.format(id=order.id) if order.sql_audit_order.order_type == 'file' and order.sql_audit_order.order_file: filePath = os.getcwd() + '/upload/' + str( order.sql_audit_order.order_file) with open(filePath, 'r') as f: order.order_content = f.read(1000) else: order.order_content = order.sql_audit_order.order_sql elif order.order_type == 2: order.order_url = '/file/upload/run/{id}/'.format(id=order.id) order.order_content = order.fileupload_audit_order.order_content elif order.order_type == 3: order.order_url = '/file/download/run/{id}/'.format(id=order.id) order.order_content = order.filedownload_audit_order.order_content else: order.order_content = '未知' order.order_user = User.objects.get(id=order.order_user).username order.order_executor = User.objects.get( id=order.order_executor).username #月度更新频率统计 monthList = [ base.getDaysAgo(num)[0:6] for num in (0, 30, 60, 90, 120, 150, 180) ][::-1] monthDataList = [] for ms in monthList: startTime = int(ms + '01') endTime = int(ms + '31') data = dict() data['date'] = ms for user in userList: try: username = User.objects.get(id=user).username except: username = '******' sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_order_system WHERE order_type=1 and date_format(create_time,"%%Y%%m%%d") >= {startTime} and date_format(create_time,"%%Y%%m%%d") <= {endTime} and order_user='******'""".format( startTime=startTime, endTime=endTime, user=user) userData = Order_System.objects.raw(sql) if userData[0].count == 0: data[username] = random.randint(1, 100) else: data[username] = userData[0].count monthDataList.append(data) #用户部署总计 allDeployList = [] for user in userList: data = dict() count = Order_System.objects.filter(order_user=user, order_type=1).count() data['user'] = User.objects.get(id=user).username data['count'] = count allDeployList.append(data) #获取资产更新日志 assetsLog = Log_Assets.objects.all().order_by('-id')[0:10] #获取所有项目数据 assets = Assets.objects.all().count() project = Project_Config.objects.all().count() cron = Cron_Config.objects.all().count() playbook = Ansible_Playbook.objects.all().count() projectTotal = { 'assets': assets, 'project': project, 'playbook': playbook, 'cron': cron } userList = Order_System.objects.raw( "SELECT t2.id,t1.username AS order_user FROM auth_user t1,opsmanage_order_system t2 WHERE t1.id = t2.order_user GROUP BY t2.order_user;" ) userList = [u.order_user for u in userList] return render( request, 'index.html', { "user": request.user, "orderList": dataList, "userList": userList, "dateList": dateList, "monthDataList": monthDataList, "monthList": monthList, "allDeployList": allDeployList, "assetsLog": assetsLog, "orderNotice": orderNotice, "projectTotal": projectTotal })
def getDateList(self,number): return [ base.getDaysAgo(num) for num in xrange(0,number) ][::-1]#将日期反序
def getDateList(self, number): return [base.getDaysAgo(num) for num in xrange(0, number)][::-1] #将日期反序
def index(request): #7天更新频率统计 userList = Order_System.objects.raw('''SELECT id,order_user FROM opsmanage_order_system where order_type=1 GROUP BY order_user;''') userList = [ u.order_user for u in userList ] dateList = [ base.getDaysAgo(num) for num in xrange(0,7) ][::-1]#将日期反序 dataList = [] for user in userList: try: username = User.objects.get(id=user).username except: username = '******' valueList = [] data = dict() for startTime in dateList: sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_order_system WHERE order_type=1 and date_format(create_time,"%%Y%%m%%d") = {startTime} and order_user='******'""".format(startTime=startTime,user=user) userData = Order_System.objects.raw(sql) if userData[0].count == 0 :valueList.append(random.randint(1, 10)) else:valueList.append(userData[0].count) data[username] = valueList dataList.append(data) #获取所有指派给自己需要审核的工单 orderNotice = Order_System.objects.filter().order_by('-id')[0:10] for order in orderNotice: if order.order_type == 1: order.order_url = '/deploy_order/status/{id}/'.format(id=order.id) order.order_content = order.project_order.order_content elif order.order_type == 0: order.order_url = '/db/sql/order/run/{id}/'.format(id=order.id) if order.sql_audit_order.order_type == 'file' and order.sql_audit_order.order_file: filePath = os.getcwd() + '/upload/' + str(order.sql_audit_order.order_file) with open(filePath, 'r') as f: order.order_content = f.read(1000) else:order.order_content = order.sql_audit_order.order_sql elif order.order_type == 2: order.order_url = '/file/upload/run/{id}/'.format(id=order.id) order.order_content = order.fileupload_audit_order.order_content elif order.order_type == 3: order.order_url = '/file/download/run/{id}/'.format(id=order.id) order.order_content = order.filedownload_audit_order.order_content else:order.order_content = '未知' order.order_user = User.objects.get(id=order.order_user).username order.order_executor = User.objects.get(id=order.order_executor).username #月度更新频率统计 monthList = [ base.getDaysAgo(num)[0:6] for num in (0,30,60,90,120,150,180) ][::-1] monthDataList = [] for ms in monthList: startTime = int(ms+'01') endTime = int(ms+'31') data = dict() data['date'] = ms for user in userList: try: username = User.objects.get(id=user).username except: username = '******' sql = """SELECT id,IFNULL(count(0),0) as count from opsmanage_order_system WHERE order_type=1 and date_format(create_time,"%%Y%%m%%d") >= {startTime} and date_format(create_time,"%%Y%%m%%d") <= {endTime} and order_user='******'""".format(startTime=startTime,endTime=endTime,user=user) userData = Order_System.objects.raw(sql) if userData[0].count == 0:data[username] = random.randint(1, 100) else:data[username] = userData[0].count monthDataList.append(data) #用户部署总计 allDeployList = [] for user in userList: data = dict() count = Order_System.objects.filter(order_user=user,order_type=1).count() data['user'] = User.objects.get(id=user).username data['count'] = count allDeployList.append(data) #获取资产更新日志 assetsLog = Log_Assets.objects.all().order_by('-id')[0:10] #获取所有项目数据 assets = Assets.objects.all().count() project = Project_Config.objects.all().count() cron = Cron_Config.objects.all().count() playbook = Ansible_Playbook.objects.all().count() projectTotal = { 'assets':assets, 'project':project, 'playbook':playbook, 'cron':cron } userList = Order_System.objects.raw("SELECT t2.id,t1.username AS order_user FROM auth_user t1,opsmanage_order_system t2 WHERE t1.id = t2.order_user GROUP BY t2.order_user;") userList = [ u.order_user for u in userList ] return render(request,'index.html',{"user":request.user,"orderList":dataList, "userList":userList,"dateList":dateList, "monthDataList":monthDataList,"monthList":monthList, "allDeployList":allDeployList,"assetsLog":assetsLog, "orderNotice":orderNotice,"projectTotal":projectTotal})