示例#1
0
def check_high_image():
    print("In function check_high_image")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    print("Received check_code " + str(check_code))
    resp_data = {"code": 10000, "data": {"image_list": []}}
    cache_cascade_record = gl.get_value("final_record")
    cache_sys_file = gl.get_value("sys_file")
    image_id_list = {}
    for item in cache_cascade_record:
        if check_code == item.project_code:
            if item.risk_level == "3" and item.state != "5":
                tmp_image_id_list = str(item.images_file_id).split(",")
                for ele in tmp_image_id_list:
                    # image_id_list[ele] = 0
                    image_id_list[ele] = {"note": item.note, "check_name": item.project_name}
    for ele in cache_sys_file:
        if str(ele.id) in image_id_list.keys():
            image_url = ele.upload_host + ele.directory + ele.name
            resp_data["data"]["image_list"].append({"image_url": image_url, "check_name":
                image_id_list[str(ele.id)]["check_name"], "note": image_id_list[str(ele.id)]["note"]})
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#2
0
def check_major_ls_info():
    print("In function check_major_ls_info")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    major_name = request.form.get("major_name")
    cache_cascade_record = gl.get_value("final_record")
    print("Received check_code: " + str(check_code))
    cache_final_tag = gl.get_value("final_tag")
    sys_file = gl.get_value("sys_file")
    image_id_list = {}
    contained_check_map = {}

    resp_data = {"code": 10000, "data": {"risk_num": 0, "risk_level_ratio": {"1": 0, "2": 0, "3": 0}, "image_list": []}}
    for item in cache_cascade_record:
        if check_code == item.project_code:
            if item.major_name == major_name:
                resp_data["data"]["risk_num"] += 1
                resp_data["data"]["risk_level_ratio"][str(item.risk_level)] += 1
                if str(item.risk_level) == "3":
                    cur_img_id = str(item.images_file_id).split(",")[0]
                    image_id_list[cur_img_id] = {}
                    image_id_list[cur_img_id]["note"] = item.note
                    # resp_data["data"]["image_list"].append({"image_url"})
    for ele in sys_file:
        if str(ele.id) in image_id_list.keys():
            image_url = ele.upload_host + ele.directory + ele.name
            resp_data["data"]["image_list"].append({"image_url": image_url, "note": image_id_list[str(ele.id)][
                "note"]})

    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#3
0
def check_major_ls_major_ratio():
    print("In function check_major_ls_major_ratio")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    print("Received check_code: " + str(check_code))
    resp_data = {"code": 10000, "data": {}}
    cache_cascade_record = gl.get_value("final_record")
    cache_final_tag = gl.get_value("final_tag")
    contained_check_map = {}

    major_map = {}
    cnt_check_num = 0
    for item in cache_cascade_record:
        if check_code == item.project_code:
            cnt_check_num += 1
            if item.major_name not in major_map.keys():
                major_map[item.major_name] = 0
            major_map[item.major_name] += 1
    if cnt_check_num == 0:
        resp_data["code"] = -1
    resp_data["data"] = major_map
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#4
0
def check_major_ls_note_top_10():
    print("In function check_major_ls_note_top_10")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    cache_cascade_record = gl.get_value("final_record")
    print("Received check_code: " + str(check_code))
    cache_final_tag = gl.get_value("final_tag")
    contained_check_map = {}

    resp_data = {"code": 10000, "data": {}}
    risk_note_map = {}
    for item in cache_cascade_record:
        if check_code == item.project_code:
            if item.note not in risk_note_map.keys():
                risk_note_map[item.note] = {"appear_time": 0}
            risk_note_map[item.note]["appear_time"] += 1
    res = sorted(risk_note_map.items(), key=lambda d: d[1]["appear_time"], reverse=True)
    idx = 0
    for ele in res:
        resp_data["data"][ele[0]] = ele[1]
        idx += 1
        if idx == 10:
            break
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#5
0
def check_major_stage():
    print("In function check_major_stage")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    major = request.form.get("major")
    print("Received check_code " + str(check_code))
    print("Received major " + str(major))
    cache_cascade_record = gl.get_value("final_record")
    resp_data = {"code": 10000, "data": {}}
    for item in cache_cascade_record:
        if check_code == item.project_code:
            if major == "all" or major == item.major_name:
                # stage = "not defined stage" if item.stage == '' else item.stage
                stage = ''
                if item.stage == '':
                    stage = "未定义"
                else:
                    stage = item.stage.split("阶段")[0]
                if item.major_name not in resp_data["data"].keys():
                    resp_data["data"][item.major_name] = {}
                if stage not in resp_data["data"][item.major_name].keys():
                    resp_data["data"][item.major_name][stage] = 0
                resp_data["data"][item.major_name][stage] += 1
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#6
0
def check_rule():
    print("In function check_rule")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    print("Received check_code " + str(check_code))
    cache_cascade_record = gl.get_value("final_record")
    resp_data = {"code": 10000, "data": {}}
    risk_rule_map = {}
    for item in cache_cascade_record:
        if check_code == item.project_code:
            rule_name = item.rule_name if item.rule_name is not None else ''
            clause = item.clause if item.clause is not None else ''
            clause_contact = item.clause_contact if item.clause_contact is not None else ''
            if rule_name not in risk_rule_map.keys():
                risk_rule_map[rule_name] = {"appear_time": 0, "clause": clause
                    , "clause_contact": clause_contact}
            risk_rule_map[rule_name]["appear_time"] += 1
    res = sorted(risk_rule_map.items(), key=lambda d: d[1]["appear_time"], reverse=True)
    idx = 0
    for ele in res:
        resp_data["data"][ele[0]] = ele[1]
        idx += 1
        if idx == 10:
            break
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#7
0
def check_ls_table():
    print("In function check_ls_table")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    print("Received check_code: " + str(check_code))
    resp_data = {"code": 10000, "data": {}}
    cache_cascade_record = gl.get_value("final_record")
    cache_final_tag = gl.get_value("final_tag")
    # contained_check_map = {}
    # # 找到所有在此项目下的检查
    # for item in cache_final_tag:
    #     if item.check_tag == check_name:
    #         contained_check_map[item.code] = 0
    cnt = 0
    resp_data["data"]["record_list"] = []
    for item in cache_cascade_record:
        if item.project_code == check_code:
            tmp_dict = {}
            tmp_dict["create_time"] = str(item.create_time)
            tmp_dict["system_name"] = item.system_name
            tmp_dict["major_name"] = item.major_name
            tmp_dict["note"] = item.note
            tmp_dict["stage"] = item.stage
            tmp_dict["area"] = item.area
            if str(item.risk_level) == "3":
                tmp_dict["risk_level"] = "高"
            elif str(item.risk_level) == "2":
                tmp_dict["risk_level"] = "中"
            elif str(item.risk_level) == "1":
                tmp_dict["risk_level"] = "低"
            else:
                tmp_dict["risk_level"] = "未定"
            tmp_dict["rule_name"] = item.rule_name
            tmp_dict["clause"] = item.clause
            tmp_dict["clause_contact"] = item.clause_contact
            resp_data["data"]["record_list"].append(tmp_dict)
            cnt += 1
            if cnt == 10:
                break
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#8
0
def analysis_risk_level():
    print("In function analysis_risk_level")
    start_t = datetime.now()
    level = request.form.get("level")
    object1 = request.form.get("object1")
    object2 = request.form.get("object2")
    object1_list = object1.split(",")
    object2_list = object2.split(",")
    object1_map = {}
    object2_map = {}
    for item in object1_list:
        object1_map[item] = 0
    for item in object2_list:
        object2_map[item] = 0
    print("Received level " + str(level))
    print("Received object1 " + str(object1))
    print("Received object2 " + str(object2))
    resp_data = {
        "code": 10000,
        "data": {
            "object1": {
                "risk_level": {
                    "1": 0,
                    "2": 0,
                    "3": 0
                }
            },
            "object2": {
                "risk_level": {
                    "1": 0,
                    "2": 0,
                    "3": 0
                }
            }
        }
    }
    cache_cascade_record = gl.get_value("cache_cascade_record")
    for item in cache_cascade_record:
        if item.headquarter_tag in object1_map.keys(
        ) or item.region_tag in object1_map.keys(
        ) or item.project_tag in object1_map.keys(
        ) or item.project_code in object1_map.keys():
            resp_data["data"]["object1"]["risk_level"][str(
                item.risk_level)] += 1
        if item.headquarter_tag in object2_map.keys(
        ) or item.region_tag in object2_map.keys(
        ) or item.project_tag in object2_map.keys(
        ) or item.project_code in object2_map.keys():
            resp_data["data"]["object2"]["risk_level"][str(
                item.risk_level)] += 1
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#9
0
def check_major_ls_risk_num():
    print("In function check_major_ls_risk_num")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    print("Received check_code: " + str(check_code))
    resp_data = {"code": 10000, "data": {"risk_num": 0}}
    cache_cascade_record = gl.get_value("final_record")
    cache_final_tag = gl.get_value("final_tag")
    contained_check_map = {}

    risk_num_cnt = 0
    for item in cache_cascade_record:
        if check_code == item.project_code:
            risk_num_cnt += 1
    resp_data["data"]["risk_num"] = risk_num_cnt
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#10
0
def analysis_all_user_name():
    print("In function analysis_all_user_name")
    start_t = datetime.now()
    resp_data = {"code": 10000, "data": []}
    user_name = gl.get_value("cache_risk_user")
    for ele in user_name:
        if ele.user_grant != "超级用户":
            resp_data["data"].append(ele.name)
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#11
0
def check_ls_picture_note():
    print("In function check_ls_picture_note")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    cache_cascade_record = gl.get_value("final_record")
    sys_file = gl.get_value("sys_file")
    print("Received check_code: " + str(check_code))
    resp_data = {"code": 10000, "data": {"image_list": []}}
    cnt_map = {}
    image_id_list = {}
    for item in cache_cascade_record:
        if check_code == item.project_code:
            if item.major_name not in cnt_map.keys():
                cnt_map[item.major_name] = 0
            cnt_map[item.major_name] += 1
            if cnt_map[item.major_name] > 3:  # 只传递3张
                continue
            cur_img_id = str(item.images_file_id).split(",")[0]
            image_id_list[cur_img_id] = {}
            image_id_list[cur_img_id]["note"] = item.note
            image_id_list[cur_img_id]["major_name"] = item.major_name
    for ele in sys_file:
        if str(ele.id) in image_id_list.keys():
            image_url = ele.upload_host + ele.directory + ele.name
            cur_img_id = str(ele.id)
            if image_id_list[cur_img_id]["major_name"] not in resp_data[
                    "data"].keys():
                resp_data["data"][image_id_list[cur_img_id]["major_name"]] = []
            resp_data["data"][image_id_list[cur_img_id]["major_name"]].append({
                "image_url":
                image_url,
                "note":
                image_id_list[str(ele.id)]["note"]
            })
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#12
0
def check_risk_level():
    print("In function check_risk_level")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    print("Received check_code: " + str(check_code))
    resp_data = {"code": 10000, "data": {"risk_level": {"1": 0, "2": 0, "3": 0}}}
    cache_cascade_record = gl.get_value("final_record")
    for item in cache_cascade_record:
        if check_code == item.project_code:
            resp_data["data"]["risk_level"][str(item.risk_level)] += 1
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#13
0
def check_major_ls_area_system_info():
    print("In function check_major_ls_area_system_info")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    major_name = request.form.get("major_name")
    cache_cascade_record = gl.get_value("final_record")
    print("Received check_code: " + str(check_code))
    cache_final_tag = gl.get_value("final_tag")
    contained_check_map = {}

    resp_data = {"code": 10000, "data": {}}
    for item in cache_cascade_record:
        if check_code == item.project_code:
            if item.major_name == major_name:
                if str(item.area) not in resp_data["data"].keys():
                    resp_data["data"][str(item.area)] = {}
                if str(item.system_name) not in resp_data["data"][str(item.area)].keys():
                    resp_data["data"][str(item.area)][str(item.system_name)] = 0
                resp_data["data"][str(item.area)][str(item.system_name)] += 1
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#14
0
def check_ls_stage_ratio():
    print("In function check_ls_stage_ratio")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    cache_cascade_record = gl.get_value("final_record")
    print("Received check_code: " + str(check_code))
    resp_data = {"code": 10000, "data": {}}
    for item in cache_cascade_record:
        if check_code == item.project_code:
            if item.stage not in resp_data["data"].keys():
                resp_data["data"][str(item.stage)] = 0
            resp_data["data"][str(item.stage)] += 1
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#15
0
def check_level_year():
    print("In function check_level_year")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    print("Received check_code: " + str(check_code))
    resp_data = {"code": 10000, "data": {}}
    cache_cascade_record = gl.get_value("final_record")
    for item in cache_cascade_record:
        if check_code == item.project_code:
            cur_year = str(item.create_time).split('-')[0]
            if cur_year not in resp_data["data"].keys():
                resp_data["data"][cur_year] = {"1": 0, "2": 0, "3": 0}
            resp_data["data"][cur_year][item.risk_level] += 1
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#16
0
def check_ls_high_risk_note():
    print("In function check_ls_high_risk_note")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    cache_cascade_record = gl.get_value("final_record")
    print("Received check_code: " + str(check_code))
    resp_data = {"code": 10000, "data": {"note_list": []}}
    cnt = 0
    for item in cache_cascade_record:
        if check_code == item.project_code and str(
                item.risk_level) == "3":  # 高风险
            resp_data["data"]["note_list"].append(item.note)
            cnt += 1
            if cnt == 20:
                break
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#17
0
def check_danger_problem():
    print("In function check_danger_problem")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    print("Received check_code: " + str(check_code))
    resp_data = {"code": 10000, "data": {}}
    cache_cascade_record = gl.get_value("final_record")
    for item in cache_cascade_record:
        if check_code == item.project_code:
            if item.alert_indicator is not None:
                if item.alert_indicator not in resp_data["data"].keys():
                    resp_data["data"][item.alert_indicator] = {"appear_time": 0, "problem": {}}
                resp_data["data"][item.alert_indicator]["appear_time"] += 1
                if item.problem1 is not None:
                    if item.problem1 not in resp_data["data"][item.alert_indicator]["problem"].keys():
                        resp_data["data"][item.alert_indicator]["problem"][item.problem1] = {"appear_time": 0}
                    resp_data["data"][item.alert_indicator]["problem"][item.problem1]["appear_time"] += 1
                if item.problem2 is not None:
                    if item.problem2 not in resp_data["data"][item.alert_indicator]["problem"].keys():
                        resp_data["data"][item.alert_indicator]["problem"][item.problem2] = {"appear_time": 0}
                    resp_data["data"][item.alert_indicator]["problem"][item.problem2]["appear_time"] += 1
                if item.problem3 is not None:
                    if item.problem3 not in resp_data["data"][item.alert_indicator]["problem"].keys():
                        resp_data["data"][item.alert_indicator]["problem"][item.problem3] = {"appear_time": 0}
                    resp_data["data"][item.alert_indicator]["problem"][item.problem3]["appear_time"] += 1
                if item.problem4 is not None:
                    if item.problem4 not in resp_data["data"][item.alert_indicator]["problem"].keys():
                        resp_data["data"][item.alert_indicator]["problem"][item.problem4] = {"appear_time": 0}
                    resp_data["data"][item.alert_indicator]["problem"][item.problem4]["appear_time"] += 1
                if item.problem5 is not None:
                    if item.problem5 not in resp_data["data"][item.alert_indicator]["problem"].keys():
                        resp_data["data"][item.alert_indicator]["problem"][item.problem5] = {"appear_time": 0}
                    resp_data["data"][item.alert_indicator]["problem"][item.problem5]["appear_time"] += 1
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#18
0
def check_risk_top():
    print("In function check_risk_top")
    start_t = datetime.now()
    check_code = request.form.get("check_code")
    condition = request.form.get("condition")
    top = int(request.form.get("top"))
    print("Received check_code " + str(check_code))
    print("Received condition " + str(condition))
    print("Received top " + str(top))
    cache_cascade_record = gl.get_value("final_record")
    resp_data = {"code": 10000, "data": {}}
    risk_note_map = {}
    for item in cache_cascade_record:
        if check_code == item.project_code:
            if item.note not in risk_note_map.keys():
                if condition == "major":
                    risk_note_map[item.note] = {"appear_time": 0, condition: item.major_name}
                elif condition == "system":
                    risk_note_map[item.note] = {"appear_time": 0, condition: item.system_name}
                elif condition == "equipment":
                    risk_note_map[item.note] = {"appear_time": 0, condition: item.equipment_name}
                elif condition == "module":
                    risk_note_map[item.note] = {"appear_time": 0, condition: item.module_name}
            risk_note_map[item.note]["appear_time"] += 1
    res = sorted(risk_note_map.items(), key=lambda d: d[1]["appear_time"], reverse=True)
    idx = 0
    for ele in res:
        resp_data["data"][ele[0]] = ele[1]
        idx += 1
        if idx == top:
            break
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#19
0
def analysis_check_number():
    print("In function analysis_check_number")
    start_t = datetime.now()
    level = request.form.get("level")
    object1 = request.form.get("object1")
    object2 = request.form.get("object2")
    object1_list = object1.split(",")
    object2_list = object2.split(",")
    object1_map = {}
    object2_map = {}
    for item in object1_list:
        object1_map[item] = 0
    for item in object2_list:
        object2_map[item] = 0
    print("Received level " + str(level))
    print("Received object1 " + str(object1))
    print("Received object2 " + str(object2))
    resp_data = {
        "code": 10000,
        "data": {
            "object1": {
                "check_time": 0.0
            },
            "object2": {
                "check_time": 0.0
            }
        }
    }
    cache_cascade_record = gl.get_value("cache_cascade_record")
    record1_map = {}
    record2_map = {}
    if level == "headquarter":
        for item in cache_cascade_record:
            if item.headquarter_tag in object1_map.keys():
                if item.project_code not in record1_map.keys():
                    resp_data["data"]["object1"]["check_time"] += 1
                    record1_map[item.project_code] = 0
            if item.headquarter_tag in object2_map.keys():
                if item.project_code not in record2_map.keys():
                    resp_data["data"]["object2"]["check_time"] += 1
                    record2_map[item.project_code] = 0
    elif level == "region":
        for item in cache_cascade_record:
            if item.region_tag in object1_map.keys():
                if item.project_code not in record1_map.keys():
                    resp_data["data"]["object1"]["check_time"] += 1
                    record1_map[item.project_code] = 0
            if item.region_tag in object2_map.keys():
                if item.project_code not in record2_map.keys():
                    resp_data["data"]["object2"]["check_time"] += 1
                    record2_map[item.project_code] = 0
    elif level == "project":
        for item in cache_cascade_record:
            if item.project_tag in object1_map.keys():
                if item.project_code not in record1_map.keys():
                    resp_data["data"]["object1"]["check_time"] += 1
                    record1_map[item.project_code] = 0
            if item.project_tag in object2_map.keys():
                if item.project_code not in record2_map.keys():
                    resp_data["data"]["object2"]["check_time"] += 1
                    record2_map[item.project_code] = 0
    elif level == "check":
        for item in cache_cascade_record:
            if item.project_code in object1_map.keys():
                if item.project_code not in record1_map.keys():
                    resp_data["data"]["object1"]["check_time"] += 1
                    record1_map[item.project_code] = 0
            if item.project_code in object2_map.keys():
                if item.project_code not in record2_map.keys():
                    resp_data["data"]["object2"]["check_time"] += 1
                    record2_map[item.project_code] = 0
    resp_data["data"]["object1"]["check_time"] = round(
        resp_data["data"]["object1"]["check_time"] / len(object1_list), 2)
    resp_data["data"]["object2"]["check_time"] = round(
        resp_data["data"]["object2"]["check_time"] / len(object2_list), 2)
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#20
0
def analysis_major_number():
    print("In function analysis_major_number")
    start_t = datetime.now()
    level = request.form.get("level")
    object1 = request.form.get("object1")
    object2 = request.form.get("object2")
    object1_list = object1.split(",")
    object2_list = object2.split(",")
    object1_map = {}
    object2_map = {}
    for item in object1_list:
        object1_map[item] = 0
    for item in object2_list:
        object2_map[item] = 0
    print("Received level " + str(level))
    print("Received object1 " + str(object1))
    print("Received object2 " + str(object2))
    resp_data = {"code": 10000, "data": {"object1": {}, "object2": {}}}
    cache_cascade_record = gl.get_value("cache_cascade_record")
    for item in cache_cascade_record:
        if item.headquarter_tag in object1_map.keys(
        ) or item.region_tag in object1_map.keys(
        ) or item.project_tag in object1_map.keys(
        ) or item.project_code in object1_map.keys():
            if item.major_name not in resp_data["data"]["object1"].keys():
                resp_data["data"]["object1"] \
                    = {item.major_name: {"appear_time": 0, "system": {}}}
            if item.system_name not in resp_data["data"]["object1"][
                    item.major_name]["system"].keys():
                resp_data["data"]["object1"][item.major_name]["system"] \
                    = {item.system_name: {"appear_time": 0, "equipment": {}}}
            if item.equipment_name not in resp_data["data"]["object1"][
                    item.major_name]["system"][
                        item.system_name]["equipment"].keys():
                resp_data["data"]["object1"][item.major_name]["system"][item.system_name]["equipment"] \
                    = {item.equipment_name: {"appear_time": 0, "module": {}}}
            if item.module_name not in \
                    resp_data["data"]["object1"][item.major_name]["system"][item.system_name]["equipment"][
                        item.equipment_name]["module"].keys():
                resp_data["data"]["object1"][item.major_name]["system"][
                    item.system_name]["equipment"][
                        item.equipment_name]["module"] = {
                            item.module_name: {
                                "appear_time": 0
                            }
                        }
            resp_data["data"]["object1"][item.major_name]["appear_time"] += 1
            resp_data["data"]["object1"][item.major_name]["system"][
                item.system_name]["appear_time"] += 1
            resp_data["data"]["object1"][item.major_name]["system"][
                item.system_name]["equipment"][
                    item.equipment_name]["appear_time"] += 1
            resp_data["data"]["object1"][item.major_name]["system"][
                item.system_name]["equipment"][item.equipment_name]["module"][
                    item.module_name]["appear_time"] += 1
        if item.headquarter_tag in object2_map.keys(
        ) or item.region_tag in object2_map.keys(
        ) or item.project_tag in object2_map.keys(
        ) or item.project_code in object2_map.keys():
            if item.major_name not in resp_data["data"]["object2"].keys():
                resp_data["data"]["object2"] \
                    = {item.major_name: {"appear_time": 0, "system": {}}}
            if item.system_name not in resp_data["data"]["object2"][
                    item.major_name]["system"].keys():
                resp_data["data"]["object2"][item.major_name]["system"] \
                    = {item.system_name: {"appear_time": 0, "equipment": {}}}
            if item.equipment_name not in resp_data["data"]["object2"][
                    item.major_name]["system"][
                        item.system_name]["equipment"].keys():
                resp_data["data"]["object2"][item.major_name]["system"][item.system_name]["equipment"] \
                    = {item.equipment_name: {"appear_time": 0, "module": {}}}
            if item.module_name not in \
                    resp_data["data"]["object2"][item.major_name]["system"][item.system_name]["equipment"][
                        item.equipment_name]["module"].keys():
                resp_data["data"]["object2"][item.major_name]["system"][
                    item.system_name]["equipment"][
                        item.equipment_name]["module"] = {
                            item.module_name: {
                                "appear_time": 0
                            }
                        }
            resp_data["data"]["object2"][item.major_name]["appear_time"] += 1
            resp_data["data"]["object2"][item.major_name]["system"][
                item.system_name]["appear_time"] += 1
            resp_data["data"]["object2"][item.major_name]["system"][
                item.system_name]["equipment"][
                    item.equipment_name]["appear_time"] += 1
            resp_data["data"]["object2"][item.major_name]["system"][
                item.system_name]["equipment"][item.equipment_name]["module"][
                    item.module_name]["appear_time"] += 1
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#21
0
def analysis_system_top():
    print("In function analysis_system_top")
    start_t = datetime.now()
    level = request.form.get("level")
    object1 = request.form.get("object1")
    object2 = request.form.get("object2")
    object1_list = object1.split(",")
    object2_list = object2.split(",")
    object1_map = {}
    object2_map = {}
    for item in object1_list:
        object1_map[item] = 0
    for item in object2_list:
        object2_map[item] = 0
    print("Received level " + str(level))
    print("Received object1 " + str(object1))
    print("Received object2 " + str(object2))
    resp_data = {"code": 10000, "data": {"object1": {}, "object2": {}}}
    cache_cascade_record = gl.get_value("cache_cascade_record")
    for item in cache_cascade_record:
        if item.headquarter_tag in object1_map.keys(
        ) or item.region_tag in object1_map.keys(
        ) or item.project_tag in object1_map.keys(
        ) or item.project_code in object1_map.keys():
            if item.system_name not in resp_data["data"]["object1"].keys():
                resp_data["data"]["object1"][item.system_name] = {
                    "appear_time": 0
                }
            resp_data["data"]["object1"][item.system_name]["appear_time"] += 1
        if item.headquarter_tag in object2_map.keys(
        ) or item.region_tag in object2_map.keys(
        ) or item.project_tag in object2_map.keys(
        ) or item.project_code in object2_map.keys():
            if item.system_name not in resp_data["data"]["object2"].keys():
                resp_data["data"]["object2"][item.system_name] = {
                    "appear_time": 0
                }
            resp_data["data"]["object2"][item.system_name]["appear_time"] += 1
    res = sorted(resp_data["data"]["object1"].items(),
                 key=lambda d: d[1]["appear_time"],
                 reverse=True)
    idx = 0
    resp_data["data"]["object1"] = {}
    for ele in res:
        resp_data["data"]["object1"][ele[0]] = ele[1]
        resp_data["data"]["object1"][ele[0]]["rank"] = idx
        idx += 1
        if idx == 20:
            break
    res = sorted(resp_data["data"]["object2"].items(),
                 key=lambda d: d[1]["appear_time"],
                 reverse=True)
    idx = 0
    resp_data["data"]["object2"] = {}
    for ele in res:
        resp_data["data"]["object2"][ele[0]] = ele[1]
        resp_data["data"]["object2"][ele[0]]["rank"] = idx
        idx += 1
        if idx == 20:
            break
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)
示例#22
0
def check_other_top():
    print("In function check_other_top")
    start_t = datetime.now()
    check_code= request.form.get("check_code")
    flag = int(request.form.get("flag"))
    top = int(request.form.get("top"))
    resp_data = {"code": 10000, "data": {}}
    cache_cascade_record = gl.get_value("final_record")
    if flag == 1:  # 致因阶段
        stage = request.form.get("stage")
        print("Received stage " + str(stage))
        for item in cache_cascade_record:
            t_stage = ''
            if item.stage == '':
                t_stage = "未定义"
            else:
                t_stage = item.stage.split("阶段")[0]
            if check_code == item.project_code and t_stage == stage:
                if item.note not in resp_data["data"].keys():
                    resp_data["data"][item.note] = 0
                resp_data["data"][item.note] += 1
    elif flag == 2:  # 风险等级
        risk_level = request.form.get("risk_level")
        print("Received risk_level " + str(risk_level))
        for item in cache_cascade_record:
            if check_code == item.project_code:
                if risk_level == "all" or risk_level == item.risk_level:
                    if item.note not in resp_data["data"].keys():
                        resp_data["data"][item.note] = 0
                    resp_data["data"][item.note] += 1
    elif flag == 3:  # 专业
        major_name = request.form.get("major_name")
        print("Received major_name " + str(major_name))
        for item in cache_cascade_record:
            if check_code == item.project_code and major_name == item.major_name:
                if item.note not in resp_data["data"].keys():
                    resp_data["data"][item.note] = 0
                resp_data["data"][item.note] += 1
    elif flag == 4:  # 专业 + 系统
        major_name = request.form.get("major_name")
        system_name = request.form.get("system_name")
        print("Received major_name " + str(major_name))
        print("Received system_name " + str(system_name))
        for item in cache_cascade_record:
            if check_code == item.project_code and major_name == item.major_name and system_name == item.system_name:
                if item.note not in resp_data["data"].keys():
                    resp_data["data"][item.note] = 0
                resp_data["data"][item.note] += 1
    elif flag == 5:  # 专业 + 区域
        major_name = request.form.get("major_name")
        area = request.form.get("area")
        print("Received major_name " + str(major_name))
        print("Received area " + str(area))
        for item in cache_cascade_record:
            if check_code == item.project_code and major_name == item.major_name and area == item.area:
                if item.note not in resp_data["data"].keys():
                    resp_data["data"][item.note] = 0
                resp_data["data"][item.note] += 1

    res = sorted(resp_data["data"].items(), key=lambda d: d[1], reverse=True)
    resp_data["data"] = {}
    idx = 0
    for ele in res:
        resp_data["data"][ele[0]] = ele[1]
        idx += 1
        if idx == top:
            break
    print("Returned data: ")
    print(resp_data)
    end_t = datetime.now()
    print("Query total time is: " + str((end_t - start_t).seconds) + "s")
    return jsonify(resp_data)