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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)