Example #1
0
def syncCP4DB(request):
    if request.method == "POST":
        # 清空表
        PersonModel.objects.all().delete()
        ReporterModel.objects.all().delete()
        AssignModel.objects.all().delete()
        CaseBugModel.objects.all().delete()
        NoCaseBugModel.objects.all().delete()
        ServerBugModel.objects.all().delete()
        ClientBugModel.objects.all().delete()
        SOABugModel.objects.all().delete()
        InterfaceModel.objects.all().delete()

        ass_result = []
        rep_result = []
        nocasebug_result = []
        interface_result = []

        # 获取远程数据库数据
        util = myUtil()

        # 所有组内成员
        sql = "SELECT cu.lower_display_name,cu.lower_user_name FROM cwd_user cu LEFT JOIN cwd_membership cms ON cu.ID = cms.child_id where cms.parent_id = 29988;"
        result = util.getQueryResult(sql)

        ass1_sql = util.getSQLStatement('static/SQL/assignee1.sql')
        ass2_sql = util.getSQLStatement('static/SQL/assignee2.sql')
        ass3_sql = util.getSQLStatement('static/SQL/assignee3.sql')
        rep1_sql = util.getSQLStatement('static/SQL/reporter1.sql')
        rep2_sql = util.getSQLStatement('static/SQL/reporter2.sql')
        rep3_sql = util.getSQLStatement('static/SQL/reporter3.sql')
        nocasebug1_sql = util.getSQLStatement('static/SQL/nocasebug1.sql')
        nocasebug2_sql = util.getSQLStatement('static/SQL/nocasebug2.sql')
        nocasebug3_sql = util.getSQLStatement('static/SQL/nocasebug3.sql')
        interface_sql1 = util.getSQLStatement('static/SQL/interface_bug1.sql')
        interface_sql2 = util.getSQLStatement('static/SQL/interface_bug2.sql')
        interface_sql3 = util.getSQLStatement('static/SQL/interface_bug3.sql')
        ass1_result = util.getQueryResult(ass1_sql)
        rep1_result = util.getQueryResult(rep1_sql)
        ass2_result = util.getQueryResult(ass2_sql)
        ass3_result = util.getQueryResult(ass3_sql)
        rep2_result = util.getQueryResult(rep2_sql)
        rep3_result = util.getQueryResult(rep3_sql)
        interface1_result = util.getQueryResult(interface_sql1)
        interface2_result = util.getQueryResult(interface_sql2)
        interface3_result = util.getQueryResult(interface_sql3)

        # ===================================================================
        # no case bug
        nocasebug1_result = util.getQueryResult(nocasebug1_sql)
        nocasebug2_result = util.getQueryResult(nocasebug2_sql)
        nocasebug3_result = util.getQueryResult(nocasebug3_sql)

        for i in range(len(interface1_result)):
            interface_result.append(interface1_result[i])
        for i in range(len(interface2_result)):
            interface_result.append(interface2_result[i])
        for i in range(len(interface3_result)):
            interface_result.append(interface3_result[i])

        for i in range(len(interface_result)):
            interface = InterfaceModel(
                projectName=interface_result[i]['projectName'],
                issuekey=interface_result[i]['issuekey'],
                SUMMARY=interface_result[i]['SUMMARY'],
                REPORTER=interface_result[i]['REPORTER'],
                ASSIGNEE=interface_result[i]['ASSIGNEE'],
                PRIORITY=interface_result[i]['PRIORITY'],
                status=interface_result[i]['status'],
                resolution=interface_result[i]['resolution'],
                CREATED=interface_result[i]['CREATED'],
                UPDATED=interface_result[i]['UPDATED'],
            )
            interface.save()

        for i in range(len(nocasebug1_result)):
            nocasebug_result.append(nocasebug1_result[i])
        for i in range(len(nocasebug2_result)):
            nocasebug_result.append(nocasebug2_result[i])
        for i in range(len(nocasebug3_result)):
            nocasebug_result.append(nocasebug3_result[i])

        for i in range(len(nocasebug_result)):
            no = NoCaseBugModel(
                projectName=nocasebug_result[i]['projectName'],
                issuekey=nocasebug_result[i]['issuekey'],
                SUMMARY=nocasebug_result[i]['SUMMARY'],
                REPORTER=nocasebug_result[i]['REPORTER'],
                ASSIGNEE=nocasebug_result[i]['ASSIGNEE'],
                PRIORITY=nocasebug_result[i]['PRIORITY'],
                status=nocasebug_result[i]['status'],
                resolution=nocasebug_result[i]['resolution'],
                CREATED=nocasebug_result[i]['CREATED'],
                UPDATED=nocasebug_result[i]['UPDATED'],
            )
            no.save()

        # ===================================================================

        for i in range(len(ass1_result)):
            ass_result.append(ass1_result[i])
        for i in range(len(ass2_result)):
            ass_result.append(ass2_result[i])
        for i in range(len(ass3_result)):
            ass_result.append(ass3_result[i])

        for i in range(len(rep1_result)):
            rep_result.append(rep1_result[i])
        for i in range(len(rep2_result)):
            rep_result.append(rep2_result[i])
        for i in range(len(rep3_result)):
            rep_result.append(rep3_result[i])

        # 落地本地数据库
        for i in range(len(result)):
            p = PersonModel(lower_display_name=result[i]['lower_display_name'],
                            lower_user_name=result[i]['lower_user_name'])
            p.save()

        for i in range(len(ass_result)):
            ass = AssignModel(
                projectName=ass_result[i]['projectName'],
                issuekey=ass_result[i]['issuekey'],
                SUMMARY=ass_result[i]['SUMMARY'],
                REPORTER=ass_result[i]['REPORTER'],
                ASSIGNEE=ass_result[i]['ASSIGNEE'],
                PRIORITY=ass_result[i]['PRIORITY'],
                status=ass_result[i]['status'],
                resolution=ass_result[i]['resolution'],
                CREATED=ass_result[i]['CREATED'],
                UPDATED=ass_result[i]['UPDATED'],
            )
            ass.save()

        for i in range(len(rep_result)):
            rep = ReporterModel(
                projectName=rep_result[i]['projectName'],
                issuekey=rep_result[i]['issuekey'],
                SUMMARY=rep_result[i]['SUMMARY'],
                REPORTER=rep_result[i]['REPORTER'],
                ASSIGNEE=rep_result[i]['ASSIGNEE'],
                PRIORITY=rep_result[i]['PRIORITY'],
                status=rep_result[i]['status'],
                resolution=rep_result[i]['resolution'],
                CREATED=rep_result[i]['CREATED'],
                UPDATED=rep_result[i]['UPDATED'],
            )
            rep.save()

        return HttpResponse("同步完成!!")
    else:
        return HttpResponse('没有权限!')
Example #2
0
def index(request):
    proInfo = {}
    personInfo = {}

    util = myUtil()
    sql = util.getSQLStatement('static/SQL/cpm.sql')
    sql_cpms = util.getSQLStatement('static/SQL/cpms.sql')
    sql_nocpm = util.getSQLStatement('static/SQL/nocpm.sql')

    result = util.getQueryResult(sql)
    result_cpms = util.getQueryResult(sql_cpms)
    result_nocpm = util.getQueryResult(sql_nocpm)

    # 三种SQL情况下的所有issue状态为BUG的放入一个列表中
    if result_cpms:
        for i in range(len(result_cpms)):
            result.append(result_cpms[i])
    if result_nocpm:
        for j in range(len(result_nocpm)):
            result.append(result_nocpm[j])

    # 获取所有项目名
    pName = util.getProName(result)

    # 获取状态以及各状态BUG数量
    allBugNum = 0
    inprogessNum = 0
    openBugNum = 0
    closedBugNum = 0
    resolvedBugNum = 0
    todayOpenBugNum = 0
    todayReopenBugNum = 0
    todayCloseBugNum = 0

    for i in range(len(pName)):
        status = util.getProStatus(result, pName[i])
        proInfo[pName[i]] = status
        # 所有项目的所有BUG总数
        allBugNum += status['total']
        openBugNum += status['Open']
        inprogessNum += status['InProgress']
        closedBugNum += status['Closed']
        resolvedBugNum += status['Resolved']
        todayOpenBugNum += status['todayOpen']
        todayReopenBugNum += status['todayReopen']
        todayCloseBugNum += status['todayClose']
        # status.append(util.getProStatus(result,pName[i]))

    # 个人BUG各状态数量
    allStatusNum = openStatusNum = closeStatusNum = resolvedStatusNum = inprogessStatusNum = 0

    sql_getperson = util.getSQLStatement('static/SQL/getPerson.sql')
    result_getperson = util.getQueryResult(sql_getperson)
    personName = util.getPerson(result_getperson)
    for k in range(len(personName)):
        status = util.getBugStatus(result_getperson, personName[k])
        personInfo[personName[k]] = status
        allStatusNum += status['total']
        openStatusNum += status['open']
        closeStatusNum += status['closed']
        resolvedStatusNum += status['resolved']
        inprogessStatusNum += status['inprogess']

    #
    return render_to_response(
        'index.html', {
            'proInfo': proInfo,
            'allBugNum': allBugNum,
            'openBugNum': openBugNum,
            'inprogressNum': inprogessNum,
            'closedBugNum': closedBugNum,
            'resolvedBugNum': resolvedBugNum,
            'todayOpenBugNum': todayOpenBugNum,
            'todayReopenBugNum': todayReopenBugNum,
            'todayCloseBugNum': todayCloseBugNum,
            'personInfo': personInfo,
            'allStatusNum': allStatusNum,
            'openStatusNum': openStatusNum,
            'closeStatusNum': closeStatusNum,
            'resolvedStatusNum': resolvedStatusNum,
            'inprogessStatusNum': inprogessStatusNum,
        })
Example #3
0
def sync_CP4_db(request):
    if request.method == 'POST':
        Person.objects.all().delete()
        Products.objects.all().delete()
        Projects.objects.all().delete()
        AllIssues.objects.all().delete()
        AllReopenBugs.objects.all().delete()

        # 获取远程数据库数据
        util = myUtil()

        for re in util.getQueryResult(
                util.getSQLStatement('static/sql/main.sql')):
            main = AllIssues(
                productID=re['productID'],
                productName=re['productName'],
                projectID=re['projectID'],
                projectName=re['projectName'],
                MAIN_STATE=re['MAIN_STATE'],
                issuekey=re['issuekey'],
                issueID=re['ID'],
                SUMMARY=re['SUMMARY'],
                REPORTER=re['REPORTER'],
                ASSIGNEE=re['ASSIGNEE'],
                PRIORITY=re['PRIORITY'],
                issuestatus=re['issuestatus'],
                resolution=re['RESOLUTION'],
                CREATED=re['CREATED'],
                UPDATED=re['UPDATED'],
            )
            main.save()

        for re in util.getQueryResult(
                util.getSQLStatement('static/sql/Products.sql')):
            products = Products(
                product_id=re['ID'],
                product_name=re['pname'],
                product_key=re['pkey'],
            )
            products.save()

        for re in util.getQueryResult(
                util.getSQLStatement('static/sql/Projects.sql')):
            projects = Projects(
                project_name=re['NAME'],
                project_target=re['TARGET'],
                project_scope=re['SCOPE'],
                project_level=re['LEVEL'],
                project_type=re['TYPE'],
                project_main_state=re['MAIN_STATE'],
                project_id=re['JIRA_PROJECT_ID'],
                project_state=re['STATE'],
            )
            projects.save()

        for re in util.getQueryResult(
                util.getSQLStatement('static/sql/user_in_group.sql')):
            users = Person(
                lower_display_name=re['lower_display_name'],
                lower_user_name=re['lower_user_name'],
            )
            users.save()

        for re in util.getQueryResult(
                util.getSQLStatement('static/sql/bug_reopen_nums.sql')):
            reopens = AllReopenBugs(
                issueID=re['issueId'],
                reopenNum=re['reopenNum'],
            )
            reopens.save()

        set_pro_bug_reopen_nums()

        return HttpResponse(
            simplejson.dumps({
                'success': True,
                'message': '同步成功!',
            },
                             ensure_ascii=False))
    else:
        return HttpResponse(
            simplejson.dumps({
                'success': False,
                'message': '请求错误!',
            },
                             ensure_ascii=False))
Example #4
0
def sync_CP4_db(request):
    if request.method == 'POST':
        Person.objects.all().delete()
        Products.objects.all().delete()
        Projects.objects.all().delete()
        AllIssues.objects.all().delete()
        AllReopenBugs.objects.all().delete()

        # 获取远程数据库数据
        util = myUtil()

        for re in util.getQueryResult(util.getSQLStatement('static/sql/main.sql')):
            main = AllIssues(
                productID = re['productID'],
                productName = re['productName'],
                projectID = re['projectID'],
                projectName = re['projectName'],
                MAIN_STATE = re['MAIN_STATE'],
                issuekey = re['issuekey'],
                issueID = re['ID'],
                SUMMARY = re['SUMMARY'],
                REPORTER = re['REPORTER'],
                ASSIGNEE = re['ASSIGNEE'],
                PRIORITY = re['PRIORITY'],
                issuestatus = re['issuestatus'],
                resolution = re['RESOLUTION'],
                CREATED = re['CREATED'],
                UPDATED = re['UPDATED'],
            )
            main.save()

        for re in util.getQueryResult(util.getSQLStatement('static/sql/Products.sql')):
            products = Products(
                product_id = re['ID'],
                product_name = re['pname'],
                product_key = re['pkey'],
            )
            products.save()

        for re in util.getQueryResult(util.getSQLStatement('static/sql/Projects.sql')):
            projects = Projects(
                project_name = re['NAME'],
                project_target = re['TARGET'],
                project_scope = re['SCOPE'],
                project_level = re['LEVEL'],
                project_type = re['TYPE'],
                project_main_state = re['MAIN_STATE'],
                project_id = re['JIRA_PROJECT_ID'],
                project_state = re['STATE'],
            )
            projects.save()

        for re in util.getQueryResult(util.getSQLStatement('static/sql/user_in_group.sql')):
            users = Person(
                lower_display_name = re['lower_display_name'],
                lower_user_name = re['lower_user_name'],
            )
            users.save()

        for re in util.getQueryResult(util.getSQLStatement('static/sql/bug_reopen_nums.sql')):
            reopens = AllReopenBugs(
                issueID = re['issueId'],
                reopenNum = re['reopenNum'],
            )
            reopens.save()

        set_pro_bug_reopen_nums()

        return HttpResponse(simplejson.dumps(
            {
                'success':True,
                'message':'同步成功!',
            },ensure_ascii=False)
        )
    else:
        return HttpResponse(simplejson.dumps(
            {
                'success':False,
                'message':'请求错误!',
            },ensure_ascii=False)
        )
Example #5
0
def syncCP4DB(request):
    if request.method=="POST":
        # 清空表
        PersonModel.objects.all().delete()
        ReporterModel.objects.all().delete()
        AssignModel.objects.all().delete()
        CaseBugModel.objects.all().delete()
        NoCaseBugModel.objects.all().delete()
        ServerBugModel.objects.all().delete()
        ClientBugModel.objects.all().delete()
        SOABugModel.objects.all().delete()
        InterfaceModel.objects.all().delete()

        ass_result = []
        rep_result = []
        nocasebug_result = []
        interface_result = []

        # 获取远程数据库数据
        util = myUtil()



        # 所有组内成员
        sql = "SELECT cu.lower_display_name,cu.lower_user_name FROM cwd_user cu LEFT JOIN cwd_membership cms ON cu.ID = cms.child_id where cms.parent_id = 29988;"
        result = util.getQueryResult(sql)

        ass1_sql = util.getSQLStatement('static/SQL/assignee1.sql')
        ass2_sql = util.getSQLStatement('static/SQL/assignee2.sql')
        ass3_sql = util.getSQLStatement('static/SQL/assignee3.sql')
        rep1_sql = util.getSQLStatement('static/SQL/reporter1.sql')
        rep2_sql = util.getSQLStatement('static/SQL/reporter2.sql')
        rep3_sql = util.getSQLStatement('static/SQL/reporter3.sql')
        nocasebug1_sql = util.getSQLStatement('static/SQL/nocasebug1.sql')
        nocasebug2_sql = util.getSQLStatement('static/SQL/nocasebug2.sql')
        nocasebug3_sql = util.getSQLStatement('static/SQL/nocasebug3.sql')
        interface_sql1 = util.getSQLStatement('static/SQL/interface_bug1.sql')
        interface_sql2 = util.getSQLStatement('static/SQL/interface_bug2.sql')
        interface_sql3 = util.getSQLStatement('static/SQL/interface_bug3.sql')
        ass1_result = util.getQueryResult(ass1_sql)
        rep1_result = util.getQueryResult(rep1_sql)
        ass2_result = util.getQueryResult(ass2_sql)
        ass3_result = util.getQueryResult(ass3_sql)
        rep2_result = util.getQueryResult(rep2_sql)
        rep3_result = util.getQueryResult(rep3_sql)
        interface1_result = util.getQueryResult(interface_sql1)
        interface2_result = util.getQueryResult(interface_sql2)
        interface3_result = util.getQueryResult(interface_sql3)

        # ===================================================================
        # no case bug
        nocasebug1_result = util.getQueryResult(nocasebug1_sql)
        nocasebug2_result = util.getQueryResult(nocasebug2_sql)
        nocasebug3_result = util.getQueryResult(nocasebug3_sql)

        for i in range(len(interface1_result)):
            interface_result.append(interface1_result[i])
        for i in range(len(interface2_result)):
            interface_result.append(interface2_result[i])
        for i in range(len(interface3_result)):
            interface_result.append(interface3_result[i])

        for i in range(len(interface_result)):
            interface = InterfaceModel(
                projectName = interface_result[i]['projectName'],
                issuekey = interface_result[i]['issuekey'],
                SUMMARY = interface_result[i]['SUMMARY'],
                REPORTER = interface_result[i]['REPORTER'],
                ASSIGNEE = interface_result[i]['ASSIGNEE'],
                PRIORITY = interface_result[i]['PRIORITY'],
                status = interface_result[i]['status'],
                resolution = interface_result[i]['resolution'],
                CREATED = interface_result[i]['CREATED'],
                UPDATED = interface_result[i]['UPDATED'],
            )
            interface.save()

        for i in range(len(nocasebug1_result)):
            nocasebug_result.append(nocasebug1_result[i])
        for i in range(len(nocasebug2_result)):
            nocasebug_result.append(nocasebug2_result[i])
        for i in range(len(nocasebug3_result)):
            nocasebug_result.append(nocasebug3_result[i])

        for i in range(len(nocasebug_result)):
            no = NoCaseBugModel(
                projectName = nocasebug_result[i]['projectName'],
                issuekey = nocasebug_result[i]['issuekey'],
                SUMMARY = nocasebug_result[i]['SUMMARY'],
                REPORTER = nocasebug_result[i]['REPORTER'],
                ASSIGNEE = nocasebug_result[i]['ASSIGNEE'],
                PRIORITY = nocasebug_result[i]['PRIORITY'],
                status = nocasebug_result[i]['status'],
                resolution = nocasebug_result[i]['resolution'],
                CREATED = nocasebug_result[i]['CREATED'],
                UPDATED = nocasebug_result[i]['UPDATED'],
            )
            no.save()

        # ===================================================================


        for i in range(len(ass1_result)):
            ass_result.append(ass1_result[i])
        for i in range(len(ass2_result)):
            ass_result.append(ass2_result[i])
        for i in range(len(ass3_result)):
            ass_result.append(ass3_result[i])

        for i in range(len(rep1_result)):
            rep_result.append(rep1_result[i])
        for i in range(len(rep2_result)):
            rep_result.append(rep2_result[i])
        for i in range(len(rep3_result)):
            rep_result.append(rep3_result[i])

        # 落地本地数据库
        for i in range(len(result)):
            p = PersonModel(
                lower_display_name = result[i]['lower_display_name'],
                lower_user_name = result[i]['lower_user_name']
            )
            p.save()

        for i in range(len(ass_result)):
            ass = AssignModel(
                projectName = ass_result[i]['projectName'],
                issuekey = ass_result[i]['issuekey'],
                SUMMARY = ass_result[i]['SUMMARY'],
                REPORTER = ass_result[i]['REPORTER'],
                ASSIGNEE = ass_result[i]['ASSIGNEE'],
                PRIORITY = ass_result[i]['PRIORITY'],
                status = ass_result[i]['status'],
                resolution = ass_result[i]['resolution'],
                CREATED = ass_result[i]['CREATED'],
                UPDATED = ass_result[i]['UPDATED'],
            )
            ass.save()

        for i in range(len(rep_result)):
            rep = ReporterModel(
                projectName = rep_result[i]['projectName'],
                issuekey = rep_result[i]['issuekey'],
                SUMMARY = rep_result[i]['SUMMARY'],
                REPORTER = rep_result[i]['REPORTER'],
                ASSIGNEE = rep_result[i]['ASSIGNEE'],
                PRIORITY = rep_result[i]['PRIORITY'],
                status = rep_result[i]['status'],
                resolution = rep_result[i]['resolution'],
                CREATED = rep_result[i]['CREATED'],
                UPDATED = rep_result[i]['UPDATED'],
            )
            rep.save()

        return HttpResponse("同步完成!!")
    else:
        return HttpResponse('没有权限!')
Example #6
0
def index(request):
    proInfo = {}
    personInfo = {}

    util = myUtil()
    sql = util.getSQLStatement('static/SQL/cpm.sql')
    sql_cpms = util.getSQLStatement('static/SQL/cpms.sql')
    sql_nocpm = util.getSQLStatement('static/SQL/nocpm.sql')



    result = util.getQueryResult(sql)
    result_cpms = util.getQueryResult(sql_cpms)
    result_nocpm = util.getQueryResult(sql_nocpm)



    # 三种SQL情况下的所有issue状态为BUG的放入一个列表中
    if result_cpms:
        for i in range(len(result_cpms)):
            result.append(result_cpms[i])
    if result_nocpm:
        for j in range(len(result_nocpm)):
            result.append(result_nocpm[j])

    # 获取所有项目名
    pName = util.getProName(result)

    # 获取状态以及各状态BUG数量
    allBugNum = 0
    inprogessNum = 0
    openBugNum = 0
    closedBugNum = 0
    resolvedBugNum = 0
    todayOpenBugNum = 0
    todayReopenBugNum =0
    todayCloseBugNum = 0

    for i in range(len(pName)):
        status = util.getProStatus(result,pName[i])
        proInfo[pName[i]] = status
        # 所有项目的所有BUG总数
        allBugNum += status['total']
        openBugNum += status['Open']
        inprogessNum += status['InProgress']
        closedBugNum += status['Closed']
        resolvedBugNum += status['Resolved']
        todayOpenBugNum += status['todayOpen']
        todayReopenBugNum += status['todayReopen']
        todayCloseBugNum += status['todayClose']
        # status.append(util.getProStatus(result,pName[i]))



    # 个人BUG各状态数量
    allStatusNum = openStatusNum = closeStatusNum = resolvedStatusNum = inprogessStatusNum = 0

    sql_getperson = util.getSQLStatement('static/SQL/getPerson.sql')
    result_getperson = util.getQueryResult(sql_getperson)
    personName = util.getPerson(result_getperson)
    for k in range(len(personName)):
        status = util.getBugStatus(result_getperson,personName[k])
        personInfo[personName[k]] = status
        allStatusNum += status['total']
        openStatusNum += status['open']
        closeStatusNum += status['closed']
        resolvedStatusNum += status['resolved']
        inprogessStatusNum += status['inprogess']



    #
    return render_to_response('index.html',{
        'proInfo':proInfo,
        'allBugNum':allBugNum,
        'openBugNum':openBugNum,
        'inprogressNum':inprogessNum,
        'closedBugNum':closedBugNum,
        'resolvedBugNum':resolvedBugNum,
        'todayOpenBugNum':todayOpenBugNum,
        'todayReopenBugNum':todayReopenBugNum,
        'todayCloseBugNum':todayCloseBugNum,

        'personInfo':personInfo,
        'allStatusNum':allStatusNum,
        'openStatusNum':openStatusNum,
        'closeStatusNum':closeStatusNum,
        'resolvedStatusNum':resolvedStatusNum,
        'inprogessStatusNum':inprogessStatusNum,
    })