Esempio n. 1
0
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})
Esempio n. 2
0
 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
Esempio n. 3
0
 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       
Esempio n. 4
0
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
        })
Esempio n. 5
0
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
        })
Esempio n. 6
0
 def getDateList(self,number):
     return  [ base.getDaysAgo(num) for num in xrange(0,number) ][::-1]#将日期反序
Esempio n. 7
0
 def getDateList(self, number):
     return [base.getDaysAgo(num)
             for num in xrange(0, number)][::-1]  #将日期反序
Esempio n. 8
0
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})