예제 #1
0
def fetch_org_code_list(request):
    """
    获取各分局公安机关机构代码列表
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 50)
    current_page = req_params.get('page', 1)
    try:
        org_code = OrgCode.objects.all().order_by("-id")
        current_page = get_actual_page(len(org_code), limit, current_page)
        paginator = Paginator(org_code, limit)
        org_code = paginator.page(current_page)
        data_list = []
        data = {'count': 0, 'list': [], 'current_page': current_page}
        if org_code:
            for item in org_code:
                data_list.append({
                    "id": item.id,
                    "name": item.name,
                    "code": item.code
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #2
0
def fetch_alarm_record_list(request):
    """
    获取基础故障告警数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("SJ_ORG_CODE")
    name = req_params.get("NAME")
    severity = req_params.get("SEVERITY")
    pro_status = req_params.get("PRO_STATUS")
    # 执行sql语句
    table_name = "v_alarm_record_9"
    try:
        keywords = []
        if sj_org_code is not None and len(sj_org_code.strip()) > 0:
            keywords.append({
                "key": "SJ_ORG_CODE",
                "value": sj_org_code,
                "condition": "="
            })
        if name is not None and len(name.strip()) > 0:
            keywords.append({
                "key": "NAME",
                "value": name + "",
                "condition": "like"
            })
        if severity in [0, 1, 2]:
            keywords.append({
                "key": "SEVERITY",
                "value": str(severity),
                "condition": "="
            })
        if pro_status in [10, 20, 30]:
            keywords.append({
                "key": "PRO_STATUS",
                "value": str(pro_status),
                "condition": "="
            })
        sql, con_sql = splice_sql(table_name,
                                  limit,
                                  current_page,
                                  keywords=keywords)

        oracle_execute_sql = OracleExecuteSQL()

        object_list = oracle_execute_sql.fetchall_to_dict(sql)
        count = oracle_execute_sql.fetchone_to_dict(con_sql)
        data = {
            'count': count.get("COUNT", 0),
            'list': object_list,
            'current_page': current_page
        }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #3
0
def fetch_alarm_disposition_list(request):
    """
    获取故障处理工单数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("SJ_ORG_CODE")
    one_solve = req_params.get("ONE_SOLVE")
    satisfaction = req_params.get("SATISFACTION")
    status = req_params.get("STATUS")
    # 执行sql语句
    table_name = "v_alarm_disposition_9"
    try:
        keywords = []
        if sj_org_code is not None and len(sj_org_code.strip()) > 0:
            keywords.append({
                "key": "SJ_ORG_CODE",
                "value": sj_org_code,
                "condition": "="
            })
        if one_solve in [10, 20, 30]:
            keywords.append({
                "key": "ONE_SOLVE",
                "value": str(one_solve),
                "condition": "="
            })
        if satisfaction in [10, 20, 30]:
            keywords.append({
                "key": "SATISFACTION",
                "value": str(satisfaction),
                "condition": "="
            })
        if status in [10, 20, 30, 40]:
            keywords.append({
                "key": "STATUS",
                "value": str(status),
                "condition": "="
            })
        sql, con_sql = splice_sql(table_name,
                                  limit,
                                  current_page,
                                  keywords=keywords)

        oracle_execute_sql = OracleExecuteSQL()

        object_list = oracle_execute_sql.fetchall_to_dict(sql)
        count = oracle_execute_sql.fetchone_to_dict(con_sql)
        data = {
            'count': count.get("COUNT", 0),
            'list': object_list,
            'current_page': current_page
        }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #4
0
def fetch_room_situation_list(request):
    """
    获取机房情况数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    m_type = req_params.get("TYPE")
    if m_type == 1:  # 分局
        return branch(request)
    else:
        return police(request)
예제 #5
0
def fetch_report_log_list(request):
    """
    获取上报日志数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    create_time_range = req_params.get("create_time_range")
    update_time_range = req_params.get("update_time_range")
    try:
        report_log = ReportLog.objects.all().order_by("-id")
        if update_time_range is not None and len(update_time_range):
            satm = update_time_range[0]
            edtm = update_time_range[1]
            report_log = report_log.filter(updatedTime__range=(satm, edtm))
        if create_time_range is not None and len(create_time_range) == 2:
            satm = create_time_range[0]
            edtm = create_time_range[1]
            report_log = report_log.filter(createdTime__range=(satm, edtm))
        current_page = get_actual_page(len(report_log), limit, current_page)
        paginator = Paginator(report_log, limit)
        report_log = paginator.page(current_page)
        data_list = []
        data = {'count': 0, 'list': [], 'current_page': current_page}
        if report_log:
            for item in report_log:
                print(type(item.requestData))
                data_list.append({
                    "id":
                    item.id,
                    "reportType":
                    item.reportType,
                    "requestData":
                    item.requestData,
                    "resultData":
                    json.loads(item.resultData),
                    "createdTime":
                    item.createdTime.strftime("%Y-%m-%d %H:%M:%S")
                    if item.createdTime else None,
                    "updatedTime":
                    item.updatedTime.strftime("%Y-%m-%d %H:%M:%S"),
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #6
0
def fetch_hardware_resource_list(request):
    """
    获取硬件资源数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("SJ_ORG_CODE")
    sj_status = req_params.get("SJ_STATUS")
    sj_cl_network = req_params.get("SJ_CI_NETWORK")
    # 执行sql语句
    table_name = "v_hardware_resource_9"
    try:
        keywords = []
        if sj_org_code is not None and len(sj_org_code.strip()) > 0:
            keywords.append({
                "key": "SJ_ORG_CODE",
                "value": sj_org_code + "",
                "condition": "="
            })
        if sj_status in [1, 2, 3, 4, 5, 6, 7, 8]:
            keywords.append({
                "key": "SJ_STATUS",
                "value": str(sj_status),
                "condition": "="
            })
        if sj_cl_network in [1, 2]:
            keywords.append({
                "key": "SJ_CI_NETWORK",
                "value": str(sj_cl_network),
                "condition": "="
            })
        sql, con_sql = splice_sql(table_name,
                                  limit,
                                  current_page,
                                  keywords=keywords)

        oracle_execute_sql = OracleExecuteSQL()

        object_list = oracle_execute_sql.fetchall_to_dict(sql)
        count = oracle_execute_sql.fetchone_to_dict(con_sql)
        data = {
            'count': count.get("COUNT", 0),
            'list': object_list,
            'current_page': current_page
        }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #7
0
def fetch_network_perf_list(request):
    """
    获取网络设备监测指标数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("ORG_CODE")
    net_dev_online_state = req_params.get("NET_DEV_ONLINE_STATE")
    net_dev_alert_level = req_params.get("NET_DEV_ALERT_LEVEL")
    # 执行sql语句
    table_name = "v_network_perf_9"
    try:
        keywords = []
        if sj_org_code is not None and len(sj_org_code.strip()) > 0:
            keywords.append({
                "key": "ORG_CODE",
                "value": sj_org_code,
                "condition": "="
            })
        if net_dev_online_state in [10, 20]:
            keywords.append({
                "key": "NET_DEV_ONLINE_STATE",
                "value": str(net_dev_online_state),
                "condition": "="
            })
        if net_dev_alert_level in [0, 1, 2, 3]:
            keywords.append({
                "key": "NET_DEV_ALERT_LEVEL",
                "value": str(net_dev_alert_level),
                "condition": "="
            })
        sql, con_sql = splice_sql(table_name,
                                  limit,
                                  current_page,
                                  keywords=keywords)

        oracle_execute_sql = OracleExecuteSQL()

        object_list = oracle_execute_sql.fetchall_to_dict(sql)
        count = oracle_execute_sql.fetchone_to_dict(con_sql)
        data = {
            'count': count.get("COUNT", 0),
            'list': object_list,
            'current_page': current_page
        }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #8
0
def add_cloud_data(request):
    """
    新增云平台总体建设情况
    :param request:
    :return:
    """
    req_params = parse_json(request)
    sj_org_code = req_params.get("sJorgCode")  # 公安机关机构代码
    sj_vm_plat_code = req_params.get("sJvmPlatCode")
    sj_cloud_brand = req_params.get("sJcloudBrand")
    sj_cloud_scale = req_params.get("sJcloudScale")
    sj_cloud_serv_count = req_params.get("sJcloudServCount")
    sj_cloud_serv_types = req_params.get("sJcloudServTypes")
    sj_cloud_app_count = req_params.get("sJcloudAppCount")
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    try:
        configs = [
            {"key": "sJorgCode", "value": sj_org_code, "v_type": "not_none"},
            {"key": "sJvmPlatCode", "value": sj_vm_plat_code, "v_type": "not_none"},
            {"key": "sJcloudBrand", "value": sj_cloud_brand, "v_type": "not_none"},
            {"key": "sJcloudScale", "value": sj_cloud_scale, "v_type": "not_none"},
            {"key": "sJcloudServCount", "value": sj_cloud_serv_count, "v_type": "not_none"},
            {"key": "sJcloudServTypes", "value": sj_cloud_serv_types, "v_type": "not_none"},
            {"key": "sJcloudAppCount", "value": sj_cloud_app_count, "v_type": "not_none"},

        ]
        res_obj = batch_verification(configs)
        if res_obj.get("msg") != "success":
            return json_resp(res_obj.get("msg"), None, 500)
        CloudDataAll.objects.create(
            sJorgCode=sj_org_code,
            sJvmPlatCode=sj_vm_plat_code,
            sJcloudBrand=sj_cloud_brand,
            sJcloudScale=sj_cloud_scale,
            sJcloudServCount=sj_cloud_serv_count,
            sJcloudServTypes=sj_cloud_serv_types,
            sJcloudAppCount=sj_cloud_app_count,
            isReported=0,
            isDeleted=0,
            createdTime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
            updatedTime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        )
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #9
0
def delete_cloud_data(request):
    """
    批量删除云平台总体建设情况数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    ids = req_params.get("ids")
    try:
        vd_res = is_data_validation_defeat('ids', ids, 'is_list')
        if vd_res:
            return json_resp(vd_res, None, 500)
        CloudDataAll.objects.filter(id__in=ids).update(isDeleted=1)
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #10
0
def update_soft_data(request):
    """
    编辑软件实例运行指标指标
    :param request:
    :return:
    """
    req_params = parse_json(request)
    server_data_id = req_params.get("id")
    sj_org_code = req_params.get("orgCode")  # 公安机关机构代码
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    ci_id = req_params.get("ciId")
    running_tate = req_params.get("runningState")
    tcp_tate = req_params.get("tcpState")
    web_response_time = req_params.get("webResponseTime")
    vd_res = is_data_validation_defeat('id', server_data_id, 'not_none')
    if vd_res:
        return json_resp(vd_res, None, 500)
    try:
        soft_data = SoftData.objects.filter(id=server_data_id).first()
        if not soft_data:
            return json_resp("编辑失败", None, 500)
        configs = [
            {"key": "orgCode", "value": sj_org_code, "v_type": "not_none"},
            {"key": "ciId", "value": ci_id, "v_type": "not_none"},
            {"key": "runningState", "value": running_tate, "v_type": "not_none"},
            {"key": "tcpState", "value": tcp_tate, "v_type": "not_none"},
            {"key": "webResponseTime", "value": web_response_time, "v_type": "not_none"},
            {"key": "isReported", "value": is_reported, "v_type": "not_in", "param": [1, 0]},
            {"key": "isDeleted", "value": is_deleted, "v_type": "not_in", "param": [1, 0]},
        ]
        res_obj = set_attr_by_data_valid(soft_data, configs)
        if res_obj.get("msg") == "success":
            soft_data = res_obj.get("obj")
        else:
            return json_resp(res_obj.get("msg"), None, 500)
        soft_data.createdTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        soft_data.updatedTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        soft_data.save()
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #11
0
def fetch_network_link_list(request):
    """
    获取网络骨干链路信息数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("ORG_CODE")
    # 执行sql语句
    table_name = "v_network_link_9"
    try:
        keywords = []
        if sj_org_code is not None and len(sj_org_code.strip()) > 0:
            keywords.append({
                "key": "ORG_CODE",
                "value": sj_org_code,
                "condition": "="
            })
        sql, con_sql = splice_sql(table_name,
                                  limit,
                                  current_page,
                                  keywords=keywords)

        oracle_execute_sql = OracleExecuteSQL()

        object_list = oracle_execute_sql.fetchall_to_dict(sql)
        count = oracle_execute_sql.fetchone_to_dict(con_sql)
        data = {
            'count': count.get("COUNT", 0),
            'list': object_list,
            'current_page': current_page
        }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #12
0
def fetch_cloud_data_list(request):
    """
    获取云平台总体建设情况数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    cloud_data_id = req_params.get("id")
    sj_org_code = req_params.get("sJorgCode")
    create_time_range = req_params.get("createTimeRange")
    update_time_range = req_params.get("updateTimeRange")
    is_reported = req_params.get("isReported")
    try:
        cloud_data_list = CloudDataAll.objects.filter(isDeleted=0).order_by("-id")
        if update_time_range is not None and len(update_time_range) == 2:
            satm = update_time_range[0]
            edtm = update_time_range[1]
            cloud_data_list = cloud_data_list.filter(updatedTime__range=(satm, edtm))
        if create_time_range is not None and len(create_time_range) == 2:
            satm = create_time_range[0]
            edtm = create_time_range[1]
            cloud_data_list = cloud_data_list.filter(createdTime__range=(satm, edtm))
        vd_res = is_data_validation_defeat('id', cloud_data_id, 'not_none')
        if not vd_res:
            cloud_data_list = cloud_data_list.filter(id=cloud_data_id)
        vd_res = is_data_validation_defeat('sj_org_code', sj_org_code, 'not_none')
        if not vd_res:
            cloud_data_list = cloud_data_list.filter(sJorgCode=sj_org_code)
        vd_res = is_data_validation_defeat('is_reported', is_reported, 'not_none')
        if not vd_res:
            cloud_data_list = cloud_data_list.filter(isReported=is_reported)
        current_page = get_actual_page(len(cloud_data_list), limit, current_page)
        paginator = Paginator(cloud_data_list, limit)
        cloud_data_list = paginator.page(current_page)
        data_list = []
        data = {
            'count': 0,
            'list': [],
            'current_page': current_page
        }
        if cloud_data_list:
            for item in cloud_data_list:
                data_list.append({
                    "id": item.id,
                    "sJorgCode": item.sJorgCode,
                    "sJvmPlatCode": item.sJvmPlatCode,
                    "sJcloudBrand": item.sJcloudBrand,
                    "sJcloudScale": item.sJcloudScale,
                    "sJcloudServCount": item.sJcloudServCount,
                    "sJcloudServTypes": item.sJcloudServTypes,
                    "sJcloudAppCount": item.sJcloudAppCount,
                    "isReported": item.isReported,
                    "isDeleted": item.isDeleted,
                    "createdTime": item.createdTime.strftime("%Y-%m-%d %H:%M:%S") if item.createdTime else None,
                    "updatedTime": item.updatedTime.strftime("%Y-%m-%d %H:%M:%S")
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #13
0
def fetch_police_wechat_data_list(request):
    """
    获取警务微信轻应用运行监控指标
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("orgCode")
    police_wechat_id = req_params.get("id")
    create_time_range = req_params.get("createTimeRange")
    update_time_range = req_params.get("updateTimeRange")
    app_name = req_params.get("appName")
    is_reported = req_params.get("isReported")
    try:
        police_wechat_data_list = PoliceWechatData.objects.filter(
            isDeleted=0).order_by("-id")
        if update_time_range is not None and len(update_time_range):
            satm = update_time_range[0]
            edtm = update_time_range[1]
            police_wechat_data_list = police_wechat_data_list.filter(
                updatedTime__range=(satm, edtm))
        if create_time_range is not None and len(create_time_range) == 2:
            satm = create_time_range[0]
            edtm = create_time_range[1]
            police_wechat_data_list = police_wechat_data_list.filter(
                createdTime__range=(satm, edtm))
        vd_res = is_data_validation_defeat('app_name', app_name, 'not_none')
        if not vd_res:
            police_wechat_data_list = police_wechat_data_list.filter(
                appName__icontains=app_name)
        vd_res = is_data_validation_defeat('id', police_wechat_id, 'not_none')
        if not vd_res:
            police_wechat_data_list = police_wechat_data_list.filter(
                id=police_wechat_id)
        vd_res = is_data_validation_defeat('sj_org_code', sj_org_code,
                                           'not_none')
        if not vd_res:
            police_wechat_data_list = police_wechat_data_list.filter(
                orgCode=sj_org_code)
        vd_res = is_data_validation_defeat('is_reported', is_reported,
                                           'not_none')
        if not vd_res:
            police_wechat_data_list = police_wechat_data_list.filter(
                isReported=is_reported)
        current_page = get_actual_page(len(police_wechat_data_list), limit,
                                       current_page)
        paginator = Paginator(police_wechat_data_list, limit)
        police_wechat_data_list = paginator.page(current_page)
        data_list = []
        data = {'count': 0, 'list': [], 'current_page': current_page}
        if police_wechat_data_list:
            for item in police_wechat_data_list:
                data_list.append({
                    "id":
                    item.id,
                    "orgCode":
                    item.orgCode,
                    "agentid":
                    item.agentid,
                    "appName":
                    item.appName,
                    "checkTime":
                    item.checkTime,
                    "result":
                    item.result,
                    "expdesc":
                    item.expdesc,
                    "isReported":
                    item.isReported,
                    "isDeleted":
                    item.isDeleted,
                    "createdTime":
                    item.createdTime.strftime("%Y-%m-%d %H:%M:%S")
                    if item.createdTime else None,
                    "updatedTime":
                    item.updatedTime.strftime("%Y-%m-%d %H:%M:%S"),
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #14
0
def update_police_wechat_data(request):
    """
    编辑警务微信轻应用运行监控指标
    :param request:
    :return:
    """
    req_params = parse_json(request)
    police_wechat_id = req_params.get("id")
    sj_org_code = req_params.get("orgCode")  # 公安机关机构代码
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    agent_id = req_params.get("agentid")
    app_name = req_params.get("appName")
    check_time = req_params.get("checkTime")
    result = req_params.get("result")
    expdesc = req_params.get("expdesc")
    vd_res = is_data_validation_defeat('id', police_wechat_id, 'not_none')
    if vd_res:
        return json_resp(vd_res, None, 500)
    try:
        police_wechat_data = PoliceWechatData.objects.filter(
            id=police_wechat_id).first()
        if not police_wechat_data:
            return json_resp("编辑失败", None, 500)
        if sj_org_code is not None:
            police_wechat_data.orgCode = sj_org_code
        if agent_id is not None:
            police_wechat_data.agentid = agent_id
        if app_name is not None:
            police_wechat_data.appName = app_name
        if check_time is not None:
            police_wechat_data.checkTime = check_time
        if result is not None:
            vd_res = is_data_validation_defeat('result', result, 'not_in',
                                               [1, 0])
            if vd_res:
                return json_resp(vd_res, None, 500)
            police_wechat_data.result = result
        if expdesc is not None:
            police_wechat_data.expdesc = expdesc
        if is_reported is not None:
            vd_res = is_data_validation_defeat('is_reported', is_reported,
                                               'not_in', [1, 0])
            if vd_res:
                return json_resp(vd_res, None, 500)
            police_wechat_data.isReported = is_reported
        if is_deleted is not None:
            vd_res = is_data_validation_defeat('is_deleted', is_deleted,
                                               'not_in', [1, 0])
            if vd_res:
                return json_resp(vd_res, None, 500)
            police_wechat_data.isDeleted = is_reported
        police_wechat_data.createdTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                       time.localtime())
        police_wechat_data.updatedTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                       time.localtime())
        police_wechat_data.save()
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #15
0
def update_pc_room_data(request):
    """
    编辑机房环境运行指标
    :param request:
    :return:
    """
    req_params = parse_json(request)
    pc_room_id = req_params.get("id")
    sj_org_code = req_params.get("orgCode")  # 公安机关机构代码
    rm_code = req_params.get("rmCode")
    env_health_value = req_params.get("envHealthValue")
    power_ealth_value = req_params.get("powerHealthValue")
    electr_real_power = req_params.get("electrRealPower")
    ups_real_power = req_params.get("upsRealPower")
    room_aver_temp = req_params.get("roomAverTemp")
    room_aver_hum = req_params.get("roomAverHum")
    water_leak_status = req_params.get("waterLeakStatus")
    fire_status = req_params.get("fireStatus")
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    vd_res = is_data_validation_defeat('id', pc_room_id, 'not_none')
    if vd_res:
        return json_resp(vd_res, None, 500)
    try:
        pc_room_data = PcRoomData.objects.filter(id=pc_room_id).first()
        if not pc_room_data:
            return json_resp("编辑失败", None, 500)
        if sj_org_code is not None:
            pc_room_data.orgCode = sj_org_code
        if rm_code is not None:
            pc_room_data.rmCode = rm_code
        if env_health_value is not None:
            pc_room_data.envHealthValue = env_health_value
        if power_ealth_value is not None:
            pc_room_data.powerHealthValue = power_ealth_value
        if electr_real_power is not None:
            pc_room_data.electrRealPower = electr_real_power
        if ups_real_power is not None:
            pc_room_data.upsRealPower = ups_real_power
        if room_aver_temp is not None:
            pc_room_data.roomAverTemp = room_aver_temp
        if water_leak_status is not None:
            pc_room_data.waterLeakStatus = water_leak_status
        if room_aver_hum is not None:
            pc_room_data.roomAverHum = room_aver_hum
        if fire_status is not None:
            pc_room_data.fireStatus = fire_status
        if is_reported is not None:
            vd_res = is_data_validation_defeat('is_reported', is_reported,
                                               'not_in', [1, 0])
            if vd_res:
                return json_resp(vd_res, None, 500)
            pc_room_data.isReported = is_reported
        if is_deleted is not None:
            vd_res = is_data_validation_defeat('is_deleted', is_deleted,
                                               'not_in', [1, 0])
            if vd_res:
                return json_resp(vd_res, None, 500)
            pc_room_data.isDeleted = is_reported
        pc_room_data.createdTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                 time.localtime())
        pc_room_data.updatedTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                 time.localtime())
        pc_room_data.save()
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #16
0
def fetch_pc_room_data_list(request):
    """
    获取机房环境运行指标数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("orgCode")
    pc_room_id = req_params.get("id")
    create_time_range = req_params.get("createTimeRange")
    update_time_range = req_params.get("updateTimeRange")
    is_reported = req_params.get("isReported")
    try:
        pc_room_data_list = PcRoomData.objects.filter(
            isDeleted=0).order_by("-id")
        vd_res = is_data_validation_defeat('sj_org_code', sj_org_code,
                                           'not_none')
        if not vd_res:
            pc_room_data_list = pc_room_data_list.filter(orgCode=sj_org_code)
        vd_res = is_data_validation_defeat('id', pc_room_id, 'not_none')
        if not vd_res:
            pc_room_data_list = pc_room_data_list.filter(id=pc_room_id)
        if update_time_range is not None and len(update_time_range) == 2:
            satm = update_time_range[0]
            edtm = update_time_range[1]
            pc_room_data_list = pc_room_data_list.filter(
                updatedTime__range=(satm, edtm))
        if create_time_range is not None and len(create_time_range) == 2:
            satm = create_time_range[0]
            edtm = create_time_range[1]
            pc_room_data_list = pc_room_data_list.filter(
                createdTime__range=(satm, edtm))
        vd_res = is_data_validation_defeat('is_reported', is_reported,
                                           'not_none')
        if not vd_res:
            pc_room_data_list = pc_room_data_list.filter(
                isReported=is_reported)
        current_page = get_actual_page(len(pc_room_data_list), limit,
                                       current_page)
        paginator = Paginator(pc_room_data_list, limit)
        pc_room_data_list = paginator.page(current_page)
        data_list = []
        data = {'count': 0, 'list': [], 'current_page': current_page}
        if pc_room_data_list:
            for item in pc_room_data_list:
                data_list.append({
                    "id":
                    item.id,
                    "orgCode":
                    item.orgCode,
                    "rmCode":
                    item.rmCode,
                    "envHealthValue":
                    item.envHealthValue,
                    "powerHealthValue":
                    item.powerHealthValue,
                    "electrRealPower":
                    item.electrRealPower,
                    "upsRealPower":
                    item.upsRealPower,
                    "roomAverTemp":
                    item.roomAverTemp,
                    "roomAverHum":
                    item.roomAverHum,
                    "waterLeakStatus":
                    item.waterLeakStatus,
                    "fireStatus":
                    item.fireStatus,
                    "isReported":
                    item.isReported,
                    "isDeleted":
                    item.isDeleted,
                    "createdTime":
                    item.createdTime.strftime("%Y-%m-%d %H:%M:%S")
                    if item.createdTime else None,
                    "updatedTime":
                    item.updatedTime.strftime("%Y-%m-%d %H:%M:%S")
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #17
0
def add_cloud_serve_type(request):
    """
    新增云平台分服务类型建设情况
    :param request:
    :return:
    """
    req_params = parse_json(request)
    sj_org_code = req_params.get("sJorgCode")  # 公安机关机构代码
    sj_cloud_serv_type = req_params.get("sJcloudServType")
    sj_cloud_serv_name = req_params.get("sJcloudServName")
    sj_cloud_serv_code = req_params.get("sJcloudServCode")
    sj_cloud_count = req_params.get("sJcloudcount")
    sj_cloud_brand_cpu = req_params.get("sJcloudBrandCpu")
    sj_cloud_brand_mem = req_params.get("sJcloudBrandMem")
    sj_cloud_brand_store = req_params.get("sJcloudBrandStore")
    sj_cloud_brand_band = req_params.get("sJcloudBrandBand")
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    try:
        configs = [
            {
                "key": "sJorgCode",
                "value": sj_org_code,
                "v_type": "not_none"
            },
            {
                "key": "sJcloudServType",
                "value": sj_cloud_serv_type,
                "v_type": "not_none"
            },
            {
                "key": "sJcloudServName",
                "value": sj_cloud_serv_name,
                "v_type": "not_none"
            },
            {
                "key": "sJcloudServCode",
                "value": sj_cloud_serv_code,
                "v_type": "not_none"
            },
            {
                "key": "sJcloudcount",
                "value": sj_cloud_count,
                "v_type": "not_none"
            },
            {
                "key": "sJcloudBrandCpu",
                "value": sj_cloud_brand_cpu,
                "v_type": "not_none"
            },
            {
                "key": "sJcloudBrandMem",
                "value": sj_cloud_brand_mem,
                "v_type": "not_none"
            },
            {
                "key": "sJcloudBrandStore",
                "value": sj_cloud_brand_store,
                "v_type": "not_none"
            },
            {
                "key": "sJcloudBrandBand",
                "value": sj_cloud_brand_band,
                "v_type": "not_none"
            },
        ]
        res_obj = batch_verification(configs)
        if res_obj.get("msg") != "success":
            return json_resp(res_obj.get("msg"), None, 500)
        CloudServeType.objects.create(
            sJorgCode=sj_org_code,
            sJcloudServType=sj_cloud_serv_type,
            sJcloudServName=sj_cloud_serv_name,
            sJcloudServCode=sj_cloud_serv_code,
            sJcloudcount=sj_cloud_count,
            sJcloudBrandCpu=sj_cloud_brand_cpu,
            sJcloudBrandMem=sj_cloud_brand_mem,
            sJcloudBrandStore=sj_cloud_brand_store,
            sJcloudBrandBand=sj_cloud_brand_band,
            isReported=0,
            isDeleted=0,
            createdTime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
            updatedTime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #18
0
def fetch_server_data_list(request):
    """
    获取服务器检测指标数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    create_time_range = req_params.get("createTimeRange")
    update_time_range = req_params.get("updateTimeRange")
    server_data_id = req_params.get("id")
    sj_org_code = req_params.get("orgCode")
    is_reported = req_params.get("isReported")
    dev_online_state = req_params.get("devOnlineState")
    dev_alert_level = req_params.get("devAlertLevel")
    try:
        server_data_list = ServerData.objects.filter(
            isDeleted=0).order_by("-id")
        if update_time_range is not None and len(update_time_range):
            satm = update_time_range[0]
            edtm = update_time_range[1]
            server_data_list = server_data_list.filter(
                updatedTime__range=(satm, edtm))
        if create_time_range is not None and len(create_time_range) == 2:
            satm = create_time_range[0]
            edtm = create_time_range[1]
            server_data_list = server_data_list.filter(
                createdTime__range=(satm, edtm))
        vd_res = is_data_validation_defeat('id', server_data_id, 'not_none')
        if not vd_res:
            server_data_list = server_data_list.filter(id=server_data_id)
        vd_res = is_data_validation_defeat('sj_org_code', sj_org_code,
                                           'not_none')
        if not vd_res:
            server_data_list = server_data_list.filter(orgCode=sj_org_code)
        vd_res = is_data_validation_defeat('is_reported', is_reported,
                                           'not_none')
        if not vd_res:
            server_data_list = server_data_list.filter(isReported=is_reported)
        vd_res = is_data_validation_defeat('devOnlineState', dev_online_state,
                                           'not_none')
        if not vd_res:
            server_data_list = server_data_list.filter(
                devOnlineState=dev_online_state)
        vd_res = is_data_validation_defeat('devAlertLevel', dev_alert_level,
                                           'not_none')
        if not vd_res:
            server_data_list = server_data_list.filter(
                devAlertLevel=dev_alert_level)
        current_page = get_actual_page(len(server_data_list), limit,
                                       current_page)
        paginator = Paginator(server_data_list, limit)
        server_data_list = paginator.page(current_page)
        data_list = []
        data = {'count': 0, 'list': [], 'current_page': current_page}
        if server_data_list:
            for item in server_data_list:
                data_list.append({
                    "id":
                    item.id,
                    "orgCode":
                    item.orgCode,
                    "ciId":
                    item.ciId,
                    "devOnlineState":
                    item.devOnlineState,
                    "devResponseTime":
                    item.devResponseTime,
                    "devAlertLevel":
                    item.devAlertLevel,
                    "devCpuRate":
                    item.devCpuRate,
                    "devMemRate":
                    item.devMemRate,
                    "devDiskRate":
                    item.devDiskRate,
                    "isReported":
                    item.isReported,
                    "isDeleted":
                    item.isDeleted,
                    "createdTime":
                    item.createdTime.strftime("%Y-%m-%d %H:%M:%S")
                    if item.createdTime else None,
                    "updatedTime":
                    item.updatedTime.strftime("%Y-%m-%d %H:%M:%S"),
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #19
0
def fetch_fault_alert_list(request):
    """
    获取故障告警数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("orgCode")
    cloud_serve_type_id = req_params.get("id")
    create_time_range = req_params.get("createTimeRange")
    update_time_range = req_params.get("updateTimeRange")
    is_reported = req_params.get("isReported")
    severity = req_params.get("severity")
    try:
        cloud_serve_type_list = FaultAlert.objects.filter(
            isDeleted=0).order_by("-id")
        if update_time_range is not None and len(update_time_range) == 2:
            satm = update_time_range[0]
            edtm = update_time_range[1]
            cloud_serve_type_list = cloud_serve_type_list.filter(
                updatedTime__range=(satm, edtm))
        if create_time_range is not None and len(create_time_range) == 2:
            satm = create_time_range[0]
            edtm = create_time_range[1]
            cloud_serve_type_list = cloud_serve_type_list.filter(
                createdTime__range=(satm, edtm))
        vd_res = is_data_validation_defeat('id', cloud_serve_type_id,
                                           'not_none')
        if not vd_res:
            cloud_serve_type_list = cloud_serve_type_list.filter(
                id=cloud_serve_type_id)
        vd_res = is_data_validation_defeat('sj_org_code', sj_org_code,
                                           'not_none')
        if not vd_res:
            cloud_serve_type_list = cloud_serve_type_list.filter(
                orgCode=sj_org_code)
        vd_res = is_data_validation_defeat('is_reported', is_reported,
                                           'not_none')
        if not vd_res:
            cloud_serve_type_list = cloud_serve_type_list.filter(
                isReported=is_reported)
        vd_res = is_data_validation_defeat('severity', severity, 'not_none')
        if not vd_res:
            cloud_serve_type_list = cloud_serve_type_list.filter(
                severity=severity)
        current_page = get_actual_page(len(cloud_serve_type_list), limit,
                                       current_page)
        paginator = Paginator(cloud_serve_type_list, limit)
        cloud_serve_type_list = paginator.page(current_page)
        data_list = []
        data = {'count': 0, 'list': [], 'current_page': current_page}
        if cloud_serve_type_list:
            for item in cloud_serve_type_list:
                data_list.append({
                    "id":
                    item.id,
                    "orgCode":
                    item.orgCode,
                    "alertId":
                    item.alertId,
                    "name":
                    item.name,
                    "severity":
                    item.severity,
                    "description":
                    item.description,
                    "entityName":
                    item.entityName,
                    "entityAddr":
                    item.entityAddr,
                    "firstTime":
                    item.firstTime,
                    "lastTime":
                    item.lastTime,
                    "properties":
                    item.properties,
                    "ciId":
                    item.ciId,
                    "proStatus":
                    item.proStatus,
                    "orderNo":
                    item.orderNo,
                    "isReported":
                    item.isReported,
                    "isDeleted":
                    item.isDeleted,
                    "createdTime":
                    item.createdTime.strftime("%Y-%m-%d %H:%M:%S")
                    if item.createdTime else None,
                    "updatedTime":
                    item.updatedTime.strftime("%Y-%m-%d %H:%M:%S"),
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #20
0
def fetch_soft_data_list(request):
    """
    获取软件实例运行指标数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    create_time_range = req_params.get("createTimeRange")
    update_time_range = req_params.get("updateTimeRange")
    server_data_id = req_params.get("id")
    sj_org_code = req_params.get("orgCode")
    is_reported = req_params.get("isReported")
    try:
        soft_data_list = SoftData.objects.filter(isDeleted=0).order_by("-id")
        if update_time_range is not None and len(update_time_range):
            satm = update_time_range[0]
            edtm = update_time_range[1]
            soft_data_list = soft_data_list.filter(updatedTime__range=(satm,
                                                                       edtm))
        if create_time_range is not None and len(create_time_range) == 2:
            satm = create_time_range[0]
            edtm = create_time_range[1]
            soft_data_list = soft_data_list.filter(createdTime__range=(satm,
                                                                       edtm))
        vd_res = is_data_validation_defeat('id', server_data_id, 'not_none')
        if not vd_res:
            soft_data_list = soft_data_list.filter(id=server_data_id)
        vd_res = is_data_validation_defeat('sj_org_code', sj_org_code,
                                           'not_none')
        if not vd_res:
            soft_data_list = soft_data_list.filter(orgCode=sj_org_code)
        vd_res = is_data_validation_defeat('sj_org_code', is_reported,
                                           'not_none')
        if not vd_res:
            soft_data_list = soft_data_list.filter(isReported=is_reported)
        current_page = get_actual_page(len(soft_data_list), limit,
                                       current_page)
        paginator = Paginator(soft_data_list, limit)
        soft_data_list = paginator.page(current_page)
        data_list = []
        data = {'count': 0, 'list': [], 'current_page': current_page}
        if soft_data_list:
            for item in soft_data_list:
                data_list.append({
                    "id":
                    item.id,
                    "orgCode":
                    item.orgCode,
                    "ciId":
                    item.ciId,
                    "runningState":
                    item.runningState,
                    "tcpState":
                    item.tcpState,
                    "webResponseTime":
                    item.webResponseTime,
                    "isReported":
                    item.isReported,
                    "isDeleted":
                    item.isDeleted,
                    "createdTime":
                    item.createdTime.strftime("%Y-%m-%d %H:%M:%S")
                    if item.createdTime else None,
                    "updatedTime":
                    item.updatedTime.strftime("%Y-%m-%d %H:%M:%S"),
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        orcaletest()
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #21
0
def police(request):
    """
    派出所
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("SJ_ORG_CODE")
    sj_rm_name = req_params.get("SJ_RM_NAME")
    sj_is_th_mon = req_params.get("SJ_IS_TH_MON")
    sj_is_water_mon = req_params.get("SJ_IS_WATER_MON")
    sj_is_fire_mon = req_params.get("SJ_IS_FIRE_MON")
    try:
        machine_room = MachineRoom.objects.filter(isDeleted=0).order_by("-id")
        vd_res = is_data_validation_defeat('SJ_ORG_CODE', sj_org_code,
                                           'not_none')
        if not vd_res:
            machine_room = machine_room.filter(sJorgCode=sj_org_code)
        vd_res = is_data_validation_defeat('SJ_RM_NAME', sj_rm_name,
                                           'not_none')
        if not vd_res:
            machine_room = machine_room.filter(sJrmName__contains=sj_rm_name)
        vd_res = is_data_validation_defeat('SJ_IS_TH_MON', sj_is_th_mon,
                                           'not_none')
        if not vd_res:
            machine_room = machine_room.filter(sJisWatermon=sj_is_water_mon)
        vd_res = is_data_validation_defeat('SJ_IS_FIRE_MON', sj_is_fire_mon,
                                           'not_none')
        if not vd_res:
            machine_room = machine_room.filter(sJisFiremon=sj_is_fire_mon)
        current_page = get_actual_page(len(machine_room), limit, current_page)
        paginator = Paginator(machine_room, limit)
        machine_room = paginator.page(current_page)
        data_list = []
        data = {'count': 0, 'list': [], 'current_page': current_page}
        if machine_room:
            for item in machine_room:
                data_list.append({
                    "id": item.id,
                    "SJ_ORG_CODE": item.sJorgCode,
                    "SJ_RM_NAME": item.sJrmName,
                    "SJ_RM_CODE": item.sJrmCode,
                    "SJ_RM_POSITION": item.sJrmPosition,
                    "SJ_CAB_COUNT": item.sJcabCount,
                    "SJ_CAB_INSTALLED": item.sJcabInstalled,
                    "SJ_SD_TOTAL_CAPACITY": item.sJsdTotalCapacity,
                    "SJ_UPS_CAPACITY": item.sJupsCapacity,
                    "SJ_AIR_COUNT": item.sJairCount,
                    "SJ_IS_TH_MON": item.sJisTHmon,
                    "SJ_IS_WATER_MON": item.sJisWatermon,
                    "SJ_IS_FIRE_MON": item.sJisFiremon
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #22
0
def branch(request):
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("SJ_ORG_CODE")
    sj_rm_name = req_params.get("SJ_RM_NAME")
    sj_is_th_mon = req_params.get("SJ_IS_TH_MON")
    sj_is_water_mon = req_params.get("SJ_IS_WATER_MON")
    sj_is_fire_mon = req_params.get("SJ_IS_FIRE_MON")

    # 执行sql语句
    table_name = "v_room_situation_9"
    try:
        keywords = []
        if sj_org_code is not None and len(sj_org_code.strip()) > 0:
            keywords.append({
                "key": "SJ_ORG_CODE",
                "value": sj_org_code,
                "condition": "="
            })
        if sj_rm_name is not None and len(sj_rm_name.strip()) > 0:
            keywords.append({
                "key": "SJ_RM_NAME",
                "value": sj_rm_name + "",
                "condition": "like"
            })
        if sj_is_th_mon in [10, 20]:
            keywords.append({
                "key": "SJ_IS_TH_MON",
                "value": str(sj_is_th_mon),
                "condition": "="
            })
        if sj_is_water_mon in [10, 20]:
            keywords.append({
                "key": "SJ_IS_WATER_MON",
                "value": str(sj_is_water_mon),
                "condition": "="
            })
        if sj_is_fire_mon in [10, 20]:
            keywords.append({
                "key": "SJ_IS_FIRE_MON",
                "value": str(sj_is_fire_mon),
                "condition": "="
            })
        sql, con_sql = splice_sql(table_name,
                                  limit,
                                  current_page,
                                  keywords=keywords)

        oracle_execute_sql = OracleExecuteSQL()

        object_list = oracle_execute_sql.fetchall_to_dict(sql)
        count = oracle_execute_sql.fetchone_to_dict(con_sql)
        data = {
            'count': count.get("COUNT", 0),
            'list': object_list,
            'current_page': current_page
        }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #23
0
def update_cloud_data(request):
    """
    编辑云平台总体建设情况数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    cloud_data_id = req_params.get("id")
    sj_org_code = req_params.get("sJorgCode")  # 公安机关机构代码
    sj_vm_plat_code = req_params.get("sJvmPlatCode")
    sj_cloud_brand = req_params.get("sJcloudBrand")
    sj_cloud_scale = req_params.get("sJcloudScale")
    sj_cloud_serv_count = req_params.get("sJcloudServCount")
    sj_cloud_serv_types = req_params.get("sJcloudServTypes")
    sj_cloud_app_count = req_params.get("sJcloudAppCount")
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    vd_res = is_data_validation_defeat('id', cloud_data_id, 'not_none')
    if vd_res:
        return json_resp(vd_res, None, 500)
    try:
        cloud_data = CloudDataAll.objects.filter(id=cloud_data_id).first()
        if not cloud_data:
            return json_resp("编辑失败", None, 500)
        if sj_org_code is not None:
            cloud_data.sJorgCode = sj_org_code
        if sj_vm_plat_code is not None:
            cloud_data.sJvmPlatCode = sj_vm_plat_code
        if sj_cloud_brand is not None:
            cloud_data.sJcloudBrand = sj_cloud_brand
        if sj_cloud_scale is not None:
            vd_res = is_data_validation_defeat('sj_cloud_scale', sj_cloud_scale, 'not_none')
            if not vd_res:
                cloud_data.sJcloudScale = sj_cloud_scale
            else:
                return json_resp(vd_res, None, 500)
        if sj_cloud_serv_count is not None:
            vd_res = is_data_validation_defeat('sj_cloud_serv_count', sj_cloud_serv_count, 'not_none')
            if not vd_res:
                cloud_data.sJcloudServCount = sj_cloud_serv_count
            else:
                return json_resp(vd_res, None, 500)
        if sj_cloud_serv_types is not None:
            cloud_data.sJcloudServTypes = sj_cloud_serv_types
        if sj_cloud_app_count is not None:
            vd_res = is_data_validation_defeat('sj_cloud_app_count', sj_cloud_app_count, 'not_none')
            if not vd_res:
                cloud_data.sJcloudAppCount = sj_cloud_app_count
            else:
                return json_resp(vd_res, None, 500)
        if is_reported is not None:
            vd_res = is_data_validation_defeat('is_reported', is_reported, 'not_in', [1, 0])
            if not vd_res:
                cloud_data.isReported = is_reported
            else:
                return json_resp(vd_res, None, 500)
        if is_deleted is not None:
            vd_res = is_data_validation_defeat('is_deleted', is_deleted, 'not_in', [1, 0])
            if not vd_res:
                cloud_data.isDeleted = is_reported
            else:
                return json_resp(vd_res, None, 500)
        cloud_data.createdTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        cloud_data.updatedTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        cloud_data.save()
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #24
0
def update_base_soft(request):
    """
    更新基础软件实例数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    base_soft_id = req_params.get("id")
    sj_org_code = req_params.get("sJorgCode")  # 公安机关机构代码
    sj_soft_type = req_params.get("sJsoftType")  # 软件类型1.数据库;2.中间件;9.其他
    sj_soft_name = req_params.get("sJsoftName")
    sj_soft_version = req_params.get("sJsoftVersion")
    sj_soft_ip = req_params.get("sJsoftIp")
    sj_soft_port = req_params.get("sJsoftPort")
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    vd_res = is_data_validation_defeat('id', base_soft_id, 'not_none')
    if vd_res:
        return json_resp(vd_res, None, 500)
    try:
        base_soft_data = BaseSoftData.objects.filter(id=base_soft_id).first()
        if not base_soft_data:
            return json_resp("编辑失败", None, 500)
        if sj_org_code is not None:
            base_soft_data.sJorgCode = sj_org_code
        if sj_soft_type is not None:
            vd_res = is_data_validation_defeat('sj_soft_type', sj_soft_type,
                                               'not_in', [1, 2, 9])
            if vd_res:
                return json_resp(vd_res, None, 500)
            base_soft_data.sJsoftType = sj_soft_type
        if sj_soft_name is not None:
            vd_res = is_data_validation_defeat('sj_soft_name', sj_soft_name,
                                               'not_none')
            if vd_res:
                return json_resp(vd_res, None, 500)
            base_soft_data.sJsoftName = sj_soft_name
        if sj_soft_version is not None:
            base_soft_data.sJsoftVersion = sj_soft_version
        if sj_soft_ip is not None:
            base_soft_data.sJsoftIp = sj_soft_ip
        if sj_soft_port is not None:
            base_soft_data.sJsoftPort = sj_soft_port
        if is_reported is not None:
            vd_res = is_data_validation_defeat('is_reported', is_reported,
                                               'not_in', [1, 0])
            if vd_res:
                return json_resp(vd_res, None, 500)
            base_soft_data.isReported = is_reported
        if is_deleted is not None:
            vd_res = is_data_validation_defeat('is_deleted', is_deleted,
                                               'not_in', [1, 0])
            if vd_res:
                return json_resp(vd_res, None, 500)
            base_soft_data.isDeleted = is_reported
        base_soft_data.createdTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                   time.localtime())
        base_soft_data.updatedTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                   time.localtime())
        base_soft_data.save()
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #25
0
def fetch_base_soft_list(request):
    """
    获取基础软件实例列表数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    limit = req_params.get('limit', 20)
    base_soft_id = req_params.get("id")
    current_page = req_params.get('page', 1)
    sj_org_code = req_params.get("sJorgCode")
    sj_soft_name = req_params.get("sJsoftName")
    is_reported = req_params.get("isReported")
    sj_soft_type = req_params.get("sJsoftType")  # 软件类型1.数据库;2.中间件;9.其他
    create_time_range = req_params.get("createTimeRange")
    update_time_range = req_params.get("updateTimeRange")

    try:
        base_soft_list = BaseSoftData.objects.filter(
            isDeleted=0).order_by("-id")
        vd_res = is_data_validation_defeat('id', base_soft_id, 'not_none')
        if not vd_res:
            base_soft_list = base_soft_list.filter(id=base_soft_id)
        vd_res = is_data_validation_defeat('sj_soft_name', sj_soft_name,
                                           'not_none')
        if not vd_res:
            base_soft_list = base_soft_list.filter(
                sJsoftName__contains=sj_soft_name)
        vd_res = is_data_validation_defeat('sj_org_code', sj_org_code,
                                           'not_none')
        if not vd_res:
            base_soft_list = base_soft_list.filter(sJorgCode=sj_org_code)
        vd_res = is_data_validation_defeat('is_reported', is_reported,
                                           'not_none')
        if not vd_res:
            base_soft_list = base_soft_list.filter(isReported=is_reported)
        vd_res = is_data_validation_defeat('sj_soft_type', sj_soft_type,
                                           'not_none')
        if not vd_res:
            base_soft_list = base_soft_list.filter(sJsoftType=sj_soft_type)
        if update_time_range is not None and len(update_time_range) == 2:
            satm = update_time_range[0]
            edtm = update_time_range[1]
            base_soft_list = base_soft_list.filter(updatedTime__range=(satm,
                                                                       edtm))
        if create_time_range is not None and len(create_time_range) == 2:
            satm = create_time_range[0]
            edtm = create_time_range[1]
            base_soft_list = base_soft_list.filter(createdTime__range=(satm,
                                                                       edtm))
        current_page = get_actual_page(len(base_soft_list), limit,
                                       current_page)
        paginator = Paginator(base_soft_list, limit)
        base_soft_list = paginator.page(current_page)
        data_list = []
        data = {'count': 0, 'list': [], 'current_page': current_page}
        if base_soft_list:
            for item in base_soft_list:
                data_list.append({
                    "id":
                    item.id,
                    "sJorgCode":
                    item.sJorgCode,
                    "sJsoftType":
                    item.sJsoftType,
                    "sJsoftName":
                    item.sJsoftName,
                    "sJsoftVersion":
                    item.sJsoftVersion,
                    "sJsoftIp":
                    item.sJsoftIp,
                    "sJsoftPort":
                    item.sJsoftPort,
                    "isReported":
                    item.isReported,
                    "isDeleted":
                    item.isDeleted,
                    "sJsortCode":
                    None,
                    "createdTime":
                    item.createdTime.strftime("%Y-%m-%d %H:%M:%S")
                    if item.createdTime else None,
                    "updatedTime":
                    item.updatedTime.strftime("%Y-%m-%d %H:%M:%S"),
                })
            data = {
                'count': paginator.count,
                'list': data_list,
                'current_page': current_page
            }
        return json_resp("success", data)
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #26
0
def add_base_soft(request):
    """
    新增基础软件实例数据
    :param request:
    :return:
    """
    req_params = parse_json(request)
    sj_org_code = req_params.get("sJorgCode")  # 公安机关机构代码
    sj_soft_type = req_params.get("sJsoftType")  # 软件类型1.数据库;2.中间件;9.其他
    sj_soft_name = req_params.get("sJsoftName")
    sj_soft_version = req_params.get("sJsoftVersion")
    sj_soft_ip = req_params.get("sJsoftIp")
    sj_soft_port = req_params.get("sJsoftPort")
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    try:
        configs = [
            {
                "key": "sJorgCode",
                "value": sj_org_code,
                "v_type": "not_none"
            },
            {
                "key": "sJsoftType",
                "value": sj_soft_type,
                "v_type": "not_none"
            },
            {
                "key": "sJsoftName",
                "value": sj_soft_name,
                "v_type": "not_none"
            },
            {
                "key": "sJsoftVersion",
                "value": sj_soft_version,
                "v_type": "not_none"
            },
            {
                "key": "sJsoftIp",
                "value": sj_soft_ip,
                "v_type": "not_none"
            },
            {
                "key": "sJsoftPort",
                "value": sj_soft_port,
                "v_type": "not_none"
            },
        ]
        res_obj = batch_verification(configs)
        if res_obj.get("msg") != "success":
            return json_resp(res_obj.get("msg"), None, 500)
        BaseSoftData.objects.create(
            sJorgCode=sj_org_code,
            sJsoftType=sj_soft_type,
            sJsoftName=sj_soft_name,
            sJsoftVersion=sj_soft_version,
            sJsoftIp=sj_soft_ip,
            sJsoftPort=sj_soft_port,
            isReported=0,
            isDeleted=0,
            createdTime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
            updatedTime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #27
0
def update_server_data(request):
    """
    编辑服务器检测指标
    :param request:
    :return:
    """
    req_params = parse_json(request)
    server_data_id = req_params.get("id")
    sj_org_code = req_params.get("orgCode")  # 公安机关机构代码
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    ci_id = req_params.get("ciId")
    dev_online_state = req_params.get("devOnlineState")
    dev_response_time = req_params.get("devResponseTime")
    dev_alert_level = req_params.get("devAlertLevel")
    dev_cpu_rate = req_params.get("devCpuRate")
    dev_mem_rate = req_params.get("devMemRate")
    dev_disk_rate = req_params.get("devDiskRate")
    vd_res = is_data_validation_defeat('id', server_data_id, 'not_none')
    if vd_res:
        return json_resp(vd_res, None, 500)
    try:
        server_data = ServerData.objects.filter(id=server_data_id).first()
        if not server_data:
            return json_resp("编辑失败", None, 500)
        configs = [
            {
                "key": "orgCode",
                "value": sj_org_code,
                "v_type": "not_none"
            },
            {
                "key": "ciId",
                "value": ci_id,
                "v_type": "not_none"
            },
            {
                "key": "devOnlineState",
                "value": dev_online_state,
                "v_type": "not_none"
            },
            {
                "key": "devResponseTime",
                "value": dev_response_time,
                "v_type": "not_none"
            },
            {
                "key": "devAlertLevel",
                "value": dev_alert_level,
                "v_type": "not_in",
                "param": [3, 2, 1, 0]
            },
            {
                "key": "devCpuRate",
                "value": dev_cpu_rate,
                "v_type": "not_none"
            },
            {
                "key": "devMemRate",
                "value": dev_mem_rate,
                "v_type": "not_none"
            },
            {
                "key": "devDiskRate",
                "value": dev_disk_rate,
                "v_type": "not_none"
            },
            {
                "key": "isReported",
                "value": is_reported,
                "v_type": "not_in",
                "param": [1, 0]
            },
            {
                "key": "isDeleted",
                "value": is_deleted,
                "v_type": "not_in",
                "param": [1, 0]
            },
        ]
        res_obj = set_attr_by_data_valid(server_data, configs)
        if res_obj.get("msg") == "success":
            server_data = res_obj.get("obj")
        else:
            return json_resp(res_obj.get("msg"), None, 500)
        server_data.createdTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                time.localtime())
        server_data.updatedTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                time.localtime())
        server_data.save()
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)
예제 #28
0
def update_cloud_serve_type(request):
    """
    编辑云平台分服务类型建设情况
    :param request:
    :return:
    """
    req_params = parse_json(request)
    cloud_serve_type_id = req_params.get("id")
    sj_org_code = req_params.get("sJorgCode")  # 公安机关机构代码
    sj_cloud_serv_type = req_params.get("sJcloudServType")
    sj_cloud_serv_name = req_params.get("sJcloudServName")
    sj_cloud_serv_code = req_params.get("sJcloudServCode")
    sj_cloud_count = req_params.get("sJcloudcount")
    sj_cloud_brand_cpu = req_params.get("sJcloudBrandCpu")
    sj_cloud_brand_mem = req_params.get("sJcloudBrandMem")
    sj_cloud_brand_store = req_params.get("sJcloudBrandStore")
    sj_cloud_brand_band = req_params.get("sJcloudBrandBand")
    is_reported = req_params.get("isReported")
    is_deleted = req_params.get("isDeleted")
    vd_res = is_data_validation_defeat('id', cloud_serve_type_id, 'not_none')
    if vd_res:
        return json_resp(vd_res, None, 500)
    try:
        cloud_serve_type = CloudServeType.objects.filter(
            id=cloud_serve_type_id).first()
        if not cloud_serve_type:
            return json_resp("编辑失败", None, 500)
        if sj_org_code is not None:
            cloud_serve_type.sJorgCode = sj_org_code
        if sj_cloud_serv_type is not None:
            cloud_serve_type.sJcloudServType = sj_cloud_serv_type
        if sj_cloud_serv_name is not None:
            cloud_serve_type.sJcloudServName = sj_cloud_serv_name
        if sj_cloud_serv_code is not None:
            cloud_serve_type.sJcloudServCode = sj_cloud_serv_code
        if sj_cloud_count is not None:
            vd_res = is_data_validation_defeat('sj_cloud_count',
                                               sj_cloud_count, 'not_none')
            if vd_res:
                return json_resp(vd_res, None, 500)
            cloud_serve_type.sJcloudcount = sj_cloud_count
        if sj_cloud_brand_cpu is not None:
            vd_res = is_data_validation_defeat('sj_cloud_brand_cpu',
                                               sj_cloud_brand_cpu, 'not_none')
            if vd_res:
                return json_resp(vd_res, None, 500)
            cloud_serve_type.sJcloudBrandCpu = sj_cloud_brand_cpu
        if sj_cloud_brand_mem is not None:
            vd_res = is_data_validation_defeat('sj_cloud_brand_mem',
                                               sj_cloud_brand_mem, 'not_none')
            if vd_res:
                return json_resp(vd_res, None, 500)
            cloud_serve_type.sJcloudBrandMem = sj_cloud_brand_mem
        if sj_cloud_brand_store is not None:
            vd_res = is_data_validation_defeat('sj_cloud_brand_store',
                                               sj_cloud_brand_store,
                                               'not_none')
            if vd_res:
                return json_resp(vd_res, None, 500)
            cloud_serve_type.sJcloudBrandStore = sj_cloud_brand_store
        if sj_cloud_brand_band is not None:
            vd_res = is_data_validation_defeat('sj_cloud_brand_band',
                                               sj_cloud_brand_band, 'not_none')
            if vd_res:
                return json_resp(vd_res, None, 500)
            cloud_serve_type.sJcloudBrandBand = sj_cloud_brand_band
        if is_reported is not None:
            vd_res = is_data_validation_defeat('is_reported', is_reported,
                                               'not_in', [1, 0])
            if vd_res:
                return json_resp(vd_res, None, 500)
            cloud_serve_type.isReported = is_reported
        if is_deleted is not None:
            vd_res = is_data_validation_defeat('is_deleted', is_deleted,
                                               'not_in', [1, 0])
            if vd_res:
                return json_resp(vd_res, None, 500)
            cloud_serve_type.isDeleted = is_reported
        cloud_serve_type.createdTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                     time.localtime())
        cloud_serve_type.updatedTime = time.strftime("%Y-%m-%d %H:%M:%S",
                                                     time.localtime())
        cloud_serve_type.save()
        return json_resp("success")
    except Exception as e:
        print(e)
        return json_resp("error", None, 500)