diff --git a/build/database/lite/install/kpi_c_report_nrf.sql b/build/database/lite/install/kpi_c_report_nrf.sql new file mode 100644 index 00000000..2affcefa --- /dev/null +++ b/build/database/lite/install/kpi_c_report_nrf.sql @@ -0,0 +1,31 @@ +-- ---------------------------- +-- Table structure for kpi_c_report_nrf +-- ---------------------------- +DROP TABLE IF EXISTS "kpi_c_report_nrf"; +CREATE TABLE "kpi_c_report_nrf" ( + "id" integer NOT NULL, + "ne_type" text(16), + "ne_name" text(64), + "rm_uid" text(64), + "date" text(10) NOT NULL, + "start_time" text(10), + "end_time" text(10), + "index" integer(11) NOT NULL, + "granularity" integer(11), + "kpi_values" text, + "created_at" integer(20), + PRIMARY KEY ("id") +); + +-- ---------------------------- +-- Indexes structure for table kpi_c_report_nrf +-- ---------------------------- +CREATE INDEX "idx_c_nrf_uid_at" +ON "kpi_c_report_nrf" ( + "rm_uid" ASC, + "created_at" ASC +); + +-- ---------------------------- +-- Records of kpi_c_report_nrf +-- ---------------------------- \ No newline at end of file diff --git a/build/database/lite/install/kpi_report_nrf.sql b/build/database/lite/install/kpi_report_nrf.sql new file mode 100644 index 00000000..556098bb --- /dev/null +++ b/build/database/lite/install/kpi_report_nrf.sql @@ -0,0 +1,31 @@ +-- ---------------------------- +-- Table structure for kpi_report_nrf +-- ---------------------------- +DROP TABLE IF EXISTS "kpi_report_nrf"; +CREATE TABLE "kpi_report_nrf" ( + "id" integer NOT NULL, + "ne_type" text(16), + "ne_name" text(64), + "rm_uid" text(64), + "date" text(10) NOT NULL, + "start_time" text(10), + "end_time" text(10), + "index" integer(11) NOT NULL, + "granularity" integer(11), + "kpi_values" text, + "created_at" integer(20), + PRIMARY KEY ("id") +); + +-- ---------------------------- +-- Indexes structure for table kpi_report_nrf +-- ---------------------------- +CREATE INDEX "idx_nrf_uid_at" +ON "kpi_report_nrf" ( + "rm_uid" ASC, + "created_at" ASC +); + +-- ---------------------------- +-- Records of kpi_report_nrf +-- ---------------------------- \ No newline at end of file diff --git a/build/database/lite/install/ne_info.sql b/build/database/lite/install/ne_info.sql index 0c9dc199..55c00c14 100644 --- a/build/database/lite/install/ne_info.sql +++ b/build/database/lite/install/ne_info.sql @@ -9,19 +9,19 @@ CREATE TABLE "ne_info" ( "rm_uid" text(40), "ne_name" text(64), "ip" text(128), - "port" integer(11), + "port" integer, "pv_flag" text(32), "province" text(32), "vendor_name" text(64), "dn" text(255), "ne_address" text(64), "host_ids" text(64), - "status" integer(11), + "status" integer, "remark" text(255), "create_by" text(50), - "create_time" integer(20), + "create_time" integer, "update_by" text(50), - "update_time" integer(20), + "update_time" integer, PRIMARY KEY ("id") ); diff --git a/build/database/lite/install/ne_license.sql b/build/database/lite/install/ne_license.sql index c4d5e2e9..9b77da2a 100644 --- a/build/database/lite/install/ne_license.sql +++ b/build/database/lite/install/ne_license.sql @@ -9,6 +9,7 @@ CREATE TABLE "ne_license" ( "activation_request_code" text(255) NOT NULL, "license_path" text(255), "serial_num" text(32), + "expiry_date" text(32), "ue_number" integer, "nb_number" integer, "status" text(32), diff --git a/build/database/lite/install/sys_i18n.sql b/build/database/lite/install/sys_i18n.sql index 4bb3f114..c17a8357 100644 --- a/build/database/lite/install/sys_i18n.sql +++ b/build/database/lite/install/sys_i18n.sql @@ -932,7 +932,7 @@ INSERT INTO "sys_i18n" VALUES (756, 'dictData.trace_interfaces.14', 'N14', 'N14' INSERT INTO "sys_i18n" VALUES (757, 'dictData.trace_interfaces.5', 'N5', 'N5'); INSERT INTO "sys_i18n" VALUES (758, 'alarm.export.alarmCode', '告警编码', 'Alarm Code'); INSERT INTO "sys_i18n" VALUES (759, 'config.sys.user.fristPasswdChangeRemark', '关闭改为false 开启改为true, 建议同时设置密码有效期', 'Off to false On to true, it is recommended to set the password expiration date at the same time.'); -INSERT INTO "sys_i18n" VALUES (760, 'menu.perf.kpiIMSOverview', '语音数据概览', 'Voice Data Overview'); +INSERT INTO "sys_i18n" VALUES (760, 'menu.perf.kpiIMSOverview', '语音通话统计', 'Voice Call Statistic'); INSERT INTO "sys_i18n" VALUES (761, 'dictType.sys_user_type', '用户类型', 'User Type'); INSERT INTO "sys_i18n" VALUES (762, 'dictData.sys_user_type.system', '系统', 'System'); INSERT INTO "sys_i18n" VALUES (763, 'dictData.sys_user_type.ldap', 'LDAP', 'LDAP'); @@ -952,6 +952,31 @@ neList: Indicates the type of network elements matched'); INSERT INTO "sys_i18n" VALUES (773, 'menu.perf.kpiTitle', '关键指标标题', 'Key Performance Title'); INSERT INTO "sys_i18n" VALUES (774, 'menu.neData.cbcCBE', '预警广播', 'Early Warning Broadcast'); INSERT INTO "sys_i18n" VALUES (775, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast'); +INSERT INTO "sys_i18n" VALUES (776, 'menu.common.async', '主动同步', 'Active Synchronization'); +INSERT INTO "sys_i18n" VALUES (777, 'menu.common.dataview', '数据视图', 'Data View'); +INSERT INTO "sys_i18n" VALUES (778, 'menu.common.pcapview', 'PCAP视图', 'PCAP View'); +INSERT INTO "sys_i18n" VALUES (779, 'menu.common.fileview', '历史抓包文件', 'Historical Packet Capture File'); +INSERT INTO "sys_i18n" VALUES (780, 'menu.common.start', '启动', 'Start'); +INSERT INTO "sys_i18n" VALUES (781, 'menu.common.stop', '停止', 'Stop'); +INSERT INTO "sys_i18n" VALUES (782, 'menu.common.restart', '重新启动', 'Restart'); +INSERT INTO "sys_i18n" VALUES (783, 'menu.common.reload', '重新加载', 'Reload'); +INSERT INTO "sys_i18n" VALUES (784, 'menu.common.download', '下载', 'Download'); +INSERT INTO "sys_i18n" VALUES (785, 'menu.common.upload', '上传', 'Upload'); +INSERT INTO "sys_i18n" VALUES (786, 'menu.common.oam', 'OAM', 'OAM'); +INSERT INTO "sys_i18n" VALUES (787, 'menu.common.sync', '同步', 'Synchronization'); +INSERT INTO "sys_i18n" VALUES (788, 'menu.common.upgrade', '升级', 'Upgrade'); +INSERT INTO "sys_i18n" VALUES (789, 'menu.common.rollback', '回滚', 'Rollback'); +INSERT INTO "sys_i18n" VALUES (790, 'menu.common.ftp', 'FTP 配置', 'FTP Config'); +INSERT INTO "sys_i18n" VALUES (791, 'menu.common.ftpSync', 'FTP 同步', 'FTP Synchronization'); +INSERT INTO "sys_i18n" VALUES (792, 'job.backup_export_kpi', '备份-KPI数据定期导出', 'Backup-Periodic export of KPI Data'); +INSERT INTO "sys_i18n" VALUES (793, 'job.backup_export_kpi_remark', 'dataType: 类型支持 ims/amf/udm/smf/pcf/upf/mme/smsc +fileType: 文件类型 csv/xlsx +hour: 数据时间从任务执行时间前的小时数', 'Backup-Periodic export of dataType: type support ims/amf/udm/smf/pcf/upf/mme/smsc +fileType: file type csv/xlsx +hour: data time from the hour before the task execution time'); +INSERT INTO "sys_i18n" VALUES (794, 'menu.system.setting.homeSet', '主页设置', 'Home Set'); +INSERT INTO "sys_i18n" VALUES (795, 'menu.system.setting.reset', '重置', 'Reset'); +INSERT INTO "sys_i18n" VALUES (796, 'menu.system.setting.backup', '备份还原', 'Backup Restore'); INSERT INTO "sys_i18n" VALUES (2000, 'menu.psap.agent', '座席', 'Agent'); INSERT INTO "sys_i18n" VALUES (2001, 'menu.psap.agent.callings', '并行话务', 'Calling Information'); diff --git a/build/database/lite/install/sys_job.sql b/build/database/lite/install/sys_job.sql index 5a1ae066..8ec007b5 100644 --- a/build/database/lite/install/sys_job.sql +++ b/build/database/lite/install/sys_job.sql @@ -51,3 +51,4 @@ INSERT INTO "sys_job" VALUES (30, 'job.backup_remove_file', 'SYSTEM', 'backup_re INSERT INTO "sys_job" VALUES (31, 'job.backup_export_udm', 'SYSTEM', 'backup_export_udm', '{"dataType":["auth","sub","voip","volte"],"fileType":"txt"}', '0 35 0 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_udm_remark'); INSERT INTO "sys_job" VALUES (32, 'job.backup_export_cdr', 'SYSTEM', 'backup_export_cdr', '{"dataType":["ims","smf","sgwc","smsc"],"fileType":"xlsx","hour":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_cdr_remark'); INSERT INTO "sys_job" VALUES (33, 'job.backup_export_log', 'SYSTEM', 'backup_export_log', '{"dataType":["operate","login"],"fileType":"xlsx","hour":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_log_remark'); +INSERT INTO "sys_job" VALUES (34, 'job.backup_export_kpi', 'SYSTEM', 'backup_export_kpi', '{"dataType":["ims","amf","udm","smf","pcf","upf","mme","smsc"],"fileType":"xlsx","hour":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_kpi_remark'); diff --git a/build/database/lite/install/sys_menu.sql b/build/database/lite/install/sys_menu.sql index 475d60cb..33932922 100644 --- a/build/database/lite/install/sys_menu.sql +++ b/build/database/lite/install/sys_menu.sql @@ -114,6 +114,94 @@ INSERT INTO "sys_menu" VALUES (1057, 'menu.common.query', 109, 1, '#', '', '1', INSERT INTO "sys_menu" VALUES (1058, 'menu.common.add', 109, 2, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:add', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); INSERT INTO "sys_menu" VALUES (1059, 'menu.common.edit', 109, 3, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:edit', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); INSERT INTO "sys_menu" VALUES (1060, 'menu.common.delete', 109, 4, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:remove', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); +INSERT INTO "sys_menu" VALUES (1061, 'menu.common.query', 2088, 0, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:search', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO "sys_menu" VALUES (1062, 'menu.common.add', 2088, 1, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:add', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO "sys_menu" VALUES (1063, 'menu.common.delete', 2088, 2, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:delete', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO "sys_menu" VALUES (1064, 'menu.common.edit', 2088, 3, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:edit', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO "sys_menu" VALUES (1065, 'menu.common.import', 2088, 4, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:import', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO "sys_menu" VALUES (1066, 'menu.common.export', 2088, 5, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:export', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO "sys_menu" VALUES (1067, 'menu.common.async', 2088, 6, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:async', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO "sys_menu" VALUES (1068, 'menu.common.query', 2097, 0, '', '', '1', '1', 'B', '1', '1', 'faultManage:history-alarm:search', '#', '0', 'supervisor', 1757575020996, 'supervisor', 1757575020996, ''); +INSERT INTO "sys_menu" VALUES (1069, 'menu.common.export', 2097, 1, '', '', '1', '1', 'B', '1', '1', 'faultManage:history-alarm:export', '#', '0', 'supervisor', 1757575020996, 'supervisor', 1757575020996, ''); +INSERT INTO "sys_menu" VALUES (1070, 'menu.common.query', 2084, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:search', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO "sys_menu" VALUES (1071, 'menu.common.add', 2084, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:add', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO "sys_menu" VALUES (1072, 'menu.common.delete', 2084, 2, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:delete', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO "sys_menu" VALUES (1073, 'menu.common.dataview', 2084, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:dataview', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO "sys_menu" VALUES (1074, 'menu.common.pcapview', 2084, 4, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:pcapview', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO "sys_menu" VALUES (1075, 'menu.common.edit', 2084, 5, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:edit', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO "sys_menu" VALUES (1076, 'menu.common.query', 2086, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:search', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO "sys_menu" VALUES (1077, 'menu.common.fileview', 2086, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:fileview', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO "sys_menu" VALUES (1078, 'menu.common.start', 2086, 2, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:start', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO "sys_menu" VALUES (1079, 'menu.common.stop', 2086, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:stop', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO "sys_menu" VALUES (1080, 'menu.common.reload', 2086, 4, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:textlog', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO "sys_menu" VALUES (1081, 'menu.common.download', 2086, 5, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:download', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO "sys_menu" VALUES (1082, 'menu.common.query', 2163, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:tshark:search', '#', '0', 'supervisor', 1757667388112, 'supervisor', 1757667388112, ''); +INSERT INTO "sys_menu" VALUES (1083, 'menu.system.setting.backup', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:backup', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +INSERT INTO "sys_menu" VALUES (1084, 'menu.system.setting.reset', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:reset', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +INSERT INTO "sys_menu" VALUES (1085, 'menu.common.query', 2164, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:search', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +INSERT INTO "sys_menu" VALUES (1086, 'menu.common.start', 2164, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:start', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +INSERT INTO "sys_menu" VALUES (1087, 'menu.common.stop', 2164, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:stop', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +INSERT INTO "sys_menu" VALUES (1088, 'menu.common.query', 2137, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:search', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1089, 'menu.common.add', 2137, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:add', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1090, 'menu.common.oam', 2137, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:oam', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1091, 'menu.common.delete', 2137, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:delete', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1092, 'menu.common.edit', 2137, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:edit', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1093, 'menu.common.restart', 2137, 5, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:restart', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1094, 'menu.system.setting.homeSet', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:homeSet', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +INSERT INTO "sys_menu" VALUES (1095, 'menu.common.start', 2137, 7, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:start', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1096, 'menu.common.stop', 2137, 8, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:stop', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1097, 'menu.common.import', 2137, 9, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:import', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1098, 'menu.common.export', 2137, 10, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:export', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO "sys_menu" VALUES (1099, 'menu.common.query', 2143, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:search', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO "sys_menu" VALUES (1100, 'menu.common.upload', 2143, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:upload', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO "sys_menu" VALUES (1101, 'menu.common.reload', 2143, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:reload', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO "sys_menu" VALUES (1102, 'menu.common.sync', 2143, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:sync', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO "sys_menu" VALUES (1103, 'menu.common.edit', 2143, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:edit', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO "sys_menu" VALUES (1104, 'menu.common.query', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:search', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO "sys_menu" VALUES (1105, 'menu.common.upload', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:upload', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO "sys_menu" VALUES (1106, 'menu.common.delete', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:delete', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO "sys_menu" VALUES (1107, 'menu.common.edit', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:edit', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO "sys_menu" VALUES (1108, 'menu.common.download', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:download', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO "sys_menu" VALUES (1109, 'menu.common.query', 2145, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:search', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +INSERT INTO "sys_menu" VALUES (1110, 'menu.common.upload', 2145, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:upload', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +INSERT INTO "sys_menu" VALUES (1111, 'menu.common.upgrade', 2145, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:upgrade', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +INSERT INTO "sys_menu" VALUES (1112, 'menu.common.rollback', 2145, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:rollback', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +INSERT INTO "sys_menu" VALUES (1113, 'menu.common.query', 2154, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:search', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +INSERT INTO "sys_menu" VALUES (1114, 'menu.common.ftp', 2154, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:ftp', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +INSERT INTO "sys_menu" VALUES (1115, 'menu.common.ftpSync', 2154, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:ftpSync', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +INSERT INTO "sys_menu" VALUES (1116, 'menu.common.download', 2154, 5, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:download', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +INSERT INTO "sys_menu" VALUES (1117, 'menu.common.query', 2000, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:search', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO "sys_menu" VALUES (1118, 'menu.common.add', 2000, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:add', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO "sys_menu" VALUES (1119, 'menu.common.delete', 2000, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:delete', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO "sys_menu" VALUES (1120, 'menu.common.reload', 2000, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:reload', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO "sys_menu" VALUES (1121, 'menu.common.import', 2000, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:import', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO "sys_menu" VALUES (1122, 'menu.common.edit', 2000, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:edit', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO "sys_menu" VALUES (1123, 'menu.common.export', 2000, 6, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:export', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO "sys_menu" VALUES (1124, 'menu.common.query', 2001, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:search', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO "sys_menu" VALUES (1125, 'menu.common.add', 2001, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:add', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO "sys_menu" VALUES (1126, 'menu.common.delete', 2001, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:delete', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO "sys_menu" VALUES (1127, 'menu.common.reload', 2001, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:reload', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO "sys_menu" VALUES (1128, 'menu.common.import', 2001, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:import', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO "sys_menu" VALUES (1129, 'menu.common.export', 2001, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:export', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO "sys_menu" VALUES (1130, 'menu.common.edit', 2001, 6, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:edit', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO "sys_menu" VALUES (1131, 'menu.common.query', 2002, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:search', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO "sys_menu" VALUES (1132, 'menu.common.add', 2002, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:add', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO "sys_menu" VALUES (1133, 'menu.common.delete', 2002, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:delete', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO "sys_menu" VALUES (1134, 'menu.common.reload', 2002, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:reload', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO "sys_menu" VALUES (1135, 'menu.common.import', 2002, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:import', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO "sys_menu" VALUES (1136, 'menu.common.export', 2002, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:export', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO "sys_menu" VALUES (1137, 'menu.common.query', 2003, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:search', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO "sys_menu" VALUES (1138, 'menu.common.add', 2003, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:add', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO "sys_menu" VALUES (1139, 'menu.common.delete', 2003, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:delete', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO "sys_menu" VALUES (1140, 'menu.common.reload', 2003, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:reload', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO "sys_menu" VALUES (1141, 'menu.common.import', 2003, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:import', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO "sys_menu" VALUES (1142, 'menu.common.export', 2003, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:export', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO "sys_menu" VALUES (1143, 'menu.common.query', 2004, 0, '', '', '1', '1', 'B', '1', '1', 'neData:ims-sub:search', '#', '0', 'supervisor', 1757673749038, 'supervisor', 1757673749038, ''); +INSERT INTO "sys_menu" VALUES (1144, 'menu.common.query', 2096, 0, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:search', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +INSERT INTO "sys_menu" VALUES (1145, 'menu.common.ftp', 2096, 1, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:ftp', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +INSERT INTO "sys_menu" VALUES (1146, 'menu.common.ftpSync', 2096, 2, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:ftpSync', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +INSERT INTO "sys_menu" VALUES (1147, 'menu.common.download', 2096, 3, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:download', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +INSERT INTO "sys_menu" VALUES (1148, 'menu.common.delete', 2096, 4, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:delete', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); INSERT INTO "sys_menu" VALUES (2000, 'menu.neData.udmAuth', 5, 1, 'udm-auth', 'neData/udm-auth/index', '1', '1', 'M', '1', '1', 'udm#auth:index', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588, 'system', 1728641403588, ''); INSERT INTO "sys_menu" VALUES (2001, 'menu.neData.udmSub', 5, 3, 'udm-sub', 'neData/udm-sub/index', '1', '1', 'M', '1', '1', 'udm#sub:index', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588, 'system', 1728641403588, ''); INSERT INTO "sys_menu" VALUES (2002, 'menu.neData.udmVOIP', 5, 5, 'udm-voip', 'neData/udm-voip/index', '1', '0', 'M', '1', '1', 'udm#voip:list', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588, 'system', 1728641403588, ''); @@ -131,14 +219,14 @@ INSERT INTO "sys_menu" VALUES (2084, 'menu.trace.task', 2083, 1, 'task', 'traceM INSERT INTO "sys_menu" VALUES (2085, 'menu.trace.taskData', 2083, 4, 'task/inline/data', 'traceManage/task/data', '1', '0', 'M', '0', '1', 'traceManage:task:data', '#', '0', 'system', 1728641403588, 'system', 1744453921381, ''); INSERT INTO "sys_menu" VALUES (2086, 'menu.trace.pcap', 2083, 11, 'pcap', 'traceManage/pcap/index', '1', '1', 'M', '1', '1', 'traceManage:pcap:index', 'icon-soutubiao', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.trace.pcapRemark'); INSERT INTO "sys_menu" VALUES (2087, 'menu.fault', 0, 2, 'faultManage', '', '1', '0', 'D', '1', '1', '', 'icon-jinggao', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.faultRemark'); -INSERT INTO "sys_menu" VALUES (2088, 'menu.fault.active', 2129, 1, 'active-alarm', 'faultManage/active-alarm/index', '1', '1', 'M', '1', '1', 'faultManage:active-alarm:index', 'icon-wenjian', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.activemRemark'); +INSERT INTO "sys_menu" VALUES (2088, 'menu.fault.active', 2129, 1, 'active-alarm', 'faultManage/active-alarm/index', '1', '0', 'M', '1', '1', 'faultManage:active-alarm:index', 'icon-wenjian', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.activemRemark'); INSERT INTO "sys_menu" VALUES (2089, 'menu.log', 0, 9, 'logManage', '', '1', '0', 'D', '1', '1', '', 'icon-fuzhidaima', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.logRemark'); INSERT INTO "sys_menu" VALUES (2091, 'menu.log.mml', 2089, 30, 'mml', 'logManage/mml/index', '1', '1', 'M', '1', '1', 'logManage:mml:index', 'icon-wocanyu', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.log.mmlRemark'); INSERT INTO "sys_menu" VALUES (2092, 'menu.log.alarm', 2089, 40, 'alarm-log', 'logManage/alarm/index', '1', '0', 'M', '1', '1', 'logManage:alarm:index', 'icon-fuzhidaima', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.log.alarmRemark'); INSERT INTO "sys_menu" VALUES (2094, 'menu.log.forwarding', 2089, 41, 'forwarding', 'logManage/forwarding/index', '1', '0', 'M', '1', '1', 'logManage:forwarding:index', 'icon-huizhiguize', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.log.forwardingRemark'); INSERT INTO "sys_menu" VALUES (2095, 'menu.log.set', 2089, 45, 'logSet', 'logManage/logSet/index', '1', '0', 'M', '0', '0', 'logManage:logSet:index', 'icon-you', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.log.setRemark'); INSERT INTO "sys_menu" VALUES (2096, 'menu.neData.backupData', 5, 40, 'backup-data', 'neData/backup-data/index', '1', '0', 'M', '1', '1', 'ne-data:backup-data:list', 'icon-wenjian', '0', 'system', 1728641403588, 'system', 1728641403588, ''); -INSERT INTO "sys_menu" VALUES (2097, 'menu.fault.history', 2129, 2, 'history-alarm', 'faultManage/history-alarm/index', '1', '1', 'M', '1', '1', 'faultManage/history-alarm/index', 'icon-huizhiguize', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.historyRemark'); +INSERT INTO "sys_menu" VALUES (2097, 'menu.fault.history', 2129, 2, 'history-alarm', 'faultManage/history-alarm/index', '1', '0', 'M', '1', '1', 'faultManage/history-alarm/index', 'icon-huizhiguize', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.historyRemark'); INSERT INTO "sys_menu" VALUES (2098, 'menu.fault.set', 2129, 100, 'fault-setting', 'faultManage/fault-setting/index', '1', '0', 'M', '0', '1', 'faultManage/fault-setting/index', 'icon-gonggaodayi', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.setRemark'); INSERT INTO "sys_menu" VALUES (2099, 'menu.perf', 0, 5, 'perfManage', '', '1', '0', 'D', '1', '1', '', 'icon-soutubiao', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.perfRemark'); INSERT INTO "sys_menu" VALUES (2100, 'menu.perf.task', 2099, 1, 'taskManage', 'perfManage/taskManage/index', '1', '0', 'M', '0', '1', 'perfManage:taskManage:index', 'icon-wofaqi', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.perf.taskRemark'); @@ -209,4 +297,4 @@ INSERT INTO "sys_menu" VALUES (2167, 'menu.dashboard.overview.imsUeNum', 2132, 2 INSERT INTO "sys_menu" VALUES (2168, 'menu.dashboard.overview.gnbBase', 2132, 6, '', '', '1', '1', 'B', '1', '1', 'dashboard:overview:gnbBase', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); INSERT INTO "sys_menu" VALUES (2169, 'menu.dashboard.overview.enbBase', 2132, 8, '', '', '1', '1', 'B', '1', '1', 'dashboard:overview:enbBase', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); -INSERT INTO `sys_menu` VALUES (20000, 'menu.ue.cbc.cbe', 5, 20, 'cbe', 'cbc/cbe/index', '1', '0', 'M', '1', '1', 'cbc#dashboard:cdr:index', 'icon-tubiaoku', '0', 'system', 1711352709786, 'system', 1747796007372, ''); +INSERT INTO "sys_menu" VALUES (20000, 'menu.neData.cbcCBE', 5, 20, 'cbe', 'cbc/cbe/index', '1', '0', 'M', '1', '1', 'cbc#dashboard:cdr:index', 'icon-tubiaoku', '0', 'system', 1711352709786, 'system', 1747796007372, ''); diff --git a/build/database/lite/install/sys_role_menu.sql b/build/database/lite/install/sys_role_menu.sql index e39569b5..01c4c431 100644 --- a/build/database/lite/install/sys_role_menu.sql +++ b/build/database/lite/install/sys_role_menu.sql @@ -52,6 +52,88 @@ INSERT INTO "sys_role_menu" VALUES (2, 1051); INSERT INTO "sys_role_menu" VALUES (2, 1053); INSERT INTO "sys_role_menu" VALUES (2, 1055); INSERT INTO "sys_role_menu" VALUES (2, 1056); +INSERT INTO "sys_role_menu" VALUES (2, 1057); +INSERT INTO "sys_role_menu" VALUES (2, 1058); +INSERT INTO "sys_role_menu" VALUES (2, 1059); +INSERT INTO "sys_role_menu" VALUES (2, 1060); +INSERT INTO "sys_role_menu" VALUES (2, 1061); +INSERT INTO "sys_role_menu" VALUES (2, 1062); +INSERT INTO "sys_role_menu" VALUES (2, 1063); +INSERT INTO "sys_role_menu" VALUES (2, 1064); +INSERT INTO "sys_role_menu" VALUES (2, 1065); +INSERT INTO "sys_role_menu" VALUES (2, 1066); +INSERT INTO "sys_role_menu" VALUES (2, 1067); +INSERT INTO "sys_role_menu" VALUES (2, 1068); +INSERT INTO "sys_role_menu" VALUES (2, 1069); +INSERT INTO "sys_role_menu" VALUES (2, 1070); +INSERT INTO "sys_role_menu" VALUES (2, 1071); +INSERT INTO "sys_role_menu" VALUES (2, 1072); +INSERT INTO "sys_role_menu" VALUES (2, 1073); +INSERT INTO "sys_role_menu" VALUES (2, 1074); +INSERT INTO "sys_role_menu" VALUES (2, 1075); +INSERT INTO "sys_role_menu" VALUES (2, 1076); +INSERT INTO "sys_role_menu" VALUES (2, 1077); +INSERT INTO "sys_role_menu" VALUES (2, 1078); +INSERT INTO "sys_role_menu" VALUES (2, 1079); +INSERT INTO "sys_role_menu" VALUES (2, 1080); +INSERT INTO "sys_role_menu" VALUES (2, 1081); +INSERT INTO "sys_role_menu" VALUES (2, 1082); +INSERT INTO "sys_role_menu" VALUES (2, 1083); +INSERT INTO "sys_role_menu" VALUES (2, 1084); +INSERT INTO "sys_role_menu" VALUES (2, 1085); +INSERT INTO "sys_role_menu" VALUES (2, 1086); +INSERT INTO "sys_role_menu" VALUES (2, 1087); +INSERT INTO "sys_role_menu" VALUES (2, 1088); +INSERT INTO "sys_role_menu" VALUES (2, 1089); +INSERT INTO "sys_role_menu" VALUES (2, 1090); +INSERT INTO "sys_role_menu" VALUES (2, 1091); +INSERT INTO "sys_role_menu" VALUES (2, 1092); +INSERT INTO "sys_role_menu" VALUES (2, 1093); +INSERT INTO "sys_role_menu" VALUES (2, 1094); +INSERT INTO "sys_role_menu" VALUES (2, 1095); +INSERT INTO "sys_role_menu" VALUES (2, 1096); +INSERT INTO "sys_role_menu" VALUES (2, 1097); +INSERT INTO "sys_role_menu" VALUES (2, 1098); +INSERT INTO "sys_role_menu" VALUES (2, 1099); +INSERT INTO "sys_role_menu" VALUES (2, 1100); +INSERT INTO "sys_role_menu" VALUES (2, 1101); +INSERT INTO "sys_role_menu" VALUES (2, 1102); +INSERT INTO "sys_role_menu" VALUES (2, 1103); +INSERT INTO "sys_role_menu" VALUES (2, 1109); +INSERT INTO "sys_role_menu" VALUES (2, 1110); +INSERT INTO "sys_role_menu" VALUES (2, 1111); +INSERT INTO "sys_role_menu" VALUES (2, 1112); +INSERT INTO "sys_role_menu" VALUES (2, 1117); +INSERT INTO "sys_role_menu" VALUES (2, 1118); +INSERT INTO "sys_role_menu" VALUES (2, 1119); +INSERT INTO "sys_role_menu" VALUES (2, 1120); +INSERT INTO "sys_role_menu" VALUES (2, 1121); +INSERT INTO "sys_role_menu" VALUES (2, 1122); +INSERT INTO "sys_role_menu" VALUES (2, 1124); +INSERT INTO "sys_role_menu" VALUES (2, 1125); +INSERT INTO "sys_role_menu" VALUES (2, 1126); +INSERT INTO "sys_role_menu" VALUES (2, 1127); +INSERT INTO "sys_role_menu" VALUES (2, 1128); +INSERT INTO "sys_role_menu" VALUES (2, 1129); +INSERT INTO "sys_role_menu" VALUES (2, 1130); +INSERT INTO "sys_role_menu" VALUES (2, 1131); +INSERT INTO "sys_role_menu" VALUES (2, 1132); +INSERT INTO "sys_role_menu" VALUES (2, 1133); +INSERT INTO "sys_role_menu" VALUES (2, 1134); +INSERT INTO "sys_role_menu" VALUES (2, 1135); +INSERT INTO "sys_role_menu" VALUES (2, 1136); +INSERT INTO "sys_role_menu" VALUES (2, 1137); +INSERT INTO "sys_role_menu" VALUES (2, 1138); +INSERT INTO "sys_role_menu" VALUES (2, 1139); +INSERT INTO "sys_role_menu" VALUES (2, 1140); +INSERT INTO "sys_role_menu" VALUES (2, 1141); +INSERT INTO "sys_role_menu" VALUES (2, 1142); +INSERT INTO "sys_role_menu" VALUES (2, 1143); +INSERT INTO "sys_role_menu" VALUES (2, 1144); +INSERT INTO "sys_role_menu" VALUES (2, 1145); +INSERT INTO "sys_role_menu" VALUES (2, 1146); +INSERT INTO "sys_role_menu" VALUES (2, 1147); +INSERT INTO "sys_role_menu" VALUES (2, 1148); INSERT INTO "sys_role_menu" VALUES (2, 2000); INSERT INTO "sys_role_menu" VALUES (2, 2001); INSERT INTO "sys_role_menu" VALUES (2, 2002); @@ -119,13 +201,75 @@ INSERT INTO "sys_role_menu" VALUES (2, 20000); INSERT INTO "sys_role_menu" VALUES (3, 4); INSERT INTO "sys_role_menu" VALUES (3, 5); -INSERT INTO "sys_role_menu" VALUES (3, 60); -INSERT INTO "sys_role_menu" VALUES (3, 65); -INSERT INTO "sys_role_menu" VALUES (3, 66); +INSERT INTO "sys_role_menu" VALUES (3, 108); +INSERT INTO "sys_role_menu" VALUES (3, 112); INSERT INTO "sys_role_menu" VALUES (3, 500); INSERT INTO "sys_role_menu" VALUES (3, 501); INSERT INTO "sys_role_menu" VALUES (3, 1039); INSERT INTO "sys_role_menu" VALUES (3, 1042); +INSERT INTO "sys_role_menu" VALUES (3, 1061); +INSERT INTO "sys_role_menu" VALUES (3, 1062); +INSERT INTO "sys_role_menu" VALUES (3, 1063); +INSERT INTO "sys_role_menu" VALUES (3, 1064); +INSERT INTO "sys_role_menu" VALUES (3, 1065); +INSERT INTO "sys_role_menu" VALUES (3, 1066); +INSERT INTO "sys_role_menu" VALUES (3, 1067); +INSERT INTO "sys_role_menu" VALUES (3, 1068); +INSERT INTO "sys_role_menu" VALUES (3, 1069); +INSERT INTO "sys_role_menu" VALUES (3, 1070); +INSERT INTO "sys_role_menu" VALUES (3, 1071); +INSERT INTO "sys_role_menu" VALUES (3, 1072); +INSERT INTO "sys_role_menu" VALUES (3, 1073); +INSERT INTO "sys_role_menu" VALUES (3, 1074); +INSERT INTO "sys_role_menu" VALUES (3, 1075); +INSERT INTO "sys_role_menu" VALUES (3, 1076); +INSERT INTO "sys_role_menu" VALUES (3, 1077); +INSERT INTO "sys_role_menu" VALUES (3, 1078); +INSERT INTO "sys_role_menu" VALUES (3, 1079); +INSERT INTO "sys_role_menu" VALUES (3, 1080); +INSERT INTO "sys_role_menu" VALUES (3, 1081); +INSERT INTO "sys_role_menu" VALUES (3, 1082); +INSERT INTO "sys_role_menu" VALUES (3, 1088); +INSERT INTO "sys_role_menu" VALUES (3, 1089); +INSERT INTO "sys_role_menu" VALUES (3, 1090); +INSERT INTO "sys_role_menu" VALUES (3, 1091); +INSERT INTO "sys_role_menu" VALUES (3, 1092); +INSERT INTO "sys_role_menu" VALUES (3, 1093); +INSERT INTO "sys_role_menu" VALUES (3, 1095); +INSERT INTO "sys_role_menu" VALUES (3, 1096); +INSERT INTO "sys_role_menu" VALUES (3, 1097); +INSERT INTO "sys_role_menu" VALUES (3, 1098); +INSERT INTO "sys_role_menu" VALUES (3, 1099); +INSERT INTO "sys_role_menu" VALUES (3, 1100); +INSERT INTO "sys_role_menu" VALUES (3, 1101); +INSERT INTO "sys_role_menu" VALUES (3, 1102); +INSERT INTO "sys_role_menu" VALUES (3, 1103); +INSERT INTO "sys_role_menu" VALUES (3, 1117); +INSERT INTO "sys_role_menu" VALUES (3, 1118); +INSERT INTO "sys_role_menu" VALUES (3, 1119); +INSERT INTO "sys_role_menu" VALUES (3, 1120); +INSERT INTO "sys_role_menu" VALUES (3, 1121); +INSERT INTO "sys_role_menu" VALUES (3, 1122); +INSERT INTO "sys_role_menu" VALUES (3, 1124); +INSERT INTO "sys_role_menu" VALUES (3, 1125); +INSERT INTO "sys_role_menu" VALUES (3, 1126); +INSERT INTO "sys_role_menu" VALUES (3, 1127); +INSERT INTO "sys_role_menu" VALUES (3, 1128); +INSERT INTO "sys_role_menu" VALUES (3, 1129); +INSERT INTO "sys_role_menu" VALUES (3, 1130); +INSERT INTO "sys_role_menu" VALUES (3, 1131); +INSERT INTO "sys_role_menu" VALUES (3, 1132); +INSERT INTO "sys_role_menu" VALUES (3, 1133); +INSERT INTO "sys_role_menu" VALUES (3, 1134); +INSERT INTO "sys_role_menu" VALUES (3, 1135); +INSERT INTO "sys_role_menu" VALUES (3, 1136); +INSERT INTO "sys_role_menu" VALUES (3, 1137); +INSERT INTO "sys_role_menu" VALUES (3, 1138); +INSERT INTO "sys_role_menu" VALUES (3, 1139); +INSERT INTO "sys_role_menu" VALUES (3, 1140); +INSERT INTO "sys_role_menu" VALUES (3, 1141); +INSERT INTO "sys_role_menu" VALUES (3, 1142); +INSERT INTO "sys_role_menu" VALUES (3, 1143); INSERT INTO "sys_role_menu" VALUES (3, 2000); INSERT INTO "sys_role_menu" VALUES (3, 2001); INSERT INTO "sys_role_menu" VALUES (3, 2002); @@ -144,7 +288,6 @@ INSERT INTO "sys_role_menu" VALUES (3, 2087); INSERT INTO "sys_role_menu" VALUES (3, 2088); INSERT INTO "sys_role_menu" VALUES (3, 2089); INSERT INTO "sys_role_menu" VALUES (3, 2092); -INSERT INTO "sys_role_menu" VALUES (3, 2094); INSERT INTO "sys_role_menu" VALUES (3, 2097); INSERT INTO "sys_role_menu" VALUES (3, 2112); INSERT INTO "sys_role_menu" VALUES (3, 2116); @@ -183,6 +326,15 @@ INSERT INTO "sys_role_menu" VALUES (4, 1041); INSERT INTO "sys_role_menu" VALUES (4, 1042); INSERT INTO "sys_role_menu" VALUES (4, 1044); INSERT INTO "sys_role_menu" VALUES (4, 1048); +INSERT INTO "sys_role_menu" VALUES (4, 1061); +INSERT INTO "sys_role_menu" VALUES (4, 1062); +INSERT INTO "sys_role_menu" VALUES (4, 1063); +INSERT INTO "sys_role_menu" VALUES (4, 1064); +INSERT INTO "sys_role_menu" VALUES (4, 1065); +INSERT INTO "sys_role_menu" VALUES (4, 1066); +INSERT INTO "sys_role_menu" VALUES (4, 1067); +INSERT INTO "sys_role_menu" VALUES (4, 1068); +INSERT INTO "sys_role_menu" VALUES (4, 1069); INSERT INTO "sys_role_menu" VALUES (4, 2087); INSERT INTO "sys_role_menu" VALUES (4, 2088); INSERT INTO "sys_role_menu" VALUES (4, 2089); diff --git a/build/database/lite/upgrade/upg_kpi_c_report_nrf.sql b/build/database/lite/upgrade/upg_kpi_c_report_nrf.sql new file mode 100644 index 00000000..efff6a74 --- /dev/null +++ b/build/database/lite/upgrade/upg_kpi_c_report_nrf.sql @@ -0,0 +1,30 @@ +-- ---------------------------- +-- Table structure for kpi_c_report_nrf +-- ---------------------------- +CREATE TABLE IF NOT EXISTS "kpi_c_report_nrf" ( + "id" integer NOT NULL, + "ne_type" text(16), + "ne_name" text(64), + "rm_uid" text(64), + "date" text(10) NOT NULL, + "start_time" text(10), + "end_time" text(10), + "index" integer(11) NOT NULL, + "granularity" integer(11), + "kpi_values" text, + "created_at" integer(20), + PRIMARY KEY ("id") +); + +-- ---------------------------- +-- Indexes structure for table kpi_c_report_nrf +-- ---------------------------- +CREATE INDEX IF NOT EXISTS "idx_c_nrf_uid_at" +ON "kpi_c_report_nrf" ( + "rm_uid" ASC, + "created_at" ASC +); + +-- ---------------------------- +-- Records of kpi_c_report_nrf +-- ---------------------------- \ No newline at end of file diff --git a/build/database/lite/upgrade/upg_kpi_report_nrf.sql b/build/database/lite/upgrade/upg_kpi_report_nrf.sql new file mode 100644 index 00000000..4b828fb1 --- /dev/null +++ b/build/database/lite/upgrade/upg_kpi_report_nrf.sql @@ -0,0 +1,30 @@ +-- ---------------------------- +-- Table structure for kpi_report_nrf +-- ---------------------------- +CREATE TABLE IF NOT EXISTS "kpi_report_nrf" ( + "id" integer NOT NULL, + "ne_type" text(16), + "ne_name" text(64), + "rm_uid" text(64), + "date" text(10) NOT NULL, + "start_time" text(10), + "end_time" text(10), + "index" integer(11) NOT NULL, + "granularity" integer(11), + "kpi_values" text, + "created_at" integer(20), + PRIMARY KEY ("id") +); + +-- ---------------------------- +-- Indexes structure for table kpi_report_nrf +-- ---------------------------- +CREATE INDEX IF NOT EXISTS "idx_nrf_uid_at" +ON "kpi_report_nrf" ( + "rm_uid" ASC, + "created_at" ASC +); + +-- ---------------------------- +-- Records of kpi_report_nrf +-- ---------------------------- \ No newline at end of file diff --git a/build/database/lite/upgrade/upg_sys_i18n.sql b/build/database/lite/upgrade/upg_sys_i18n.sql index bea9f7fe..b9a14bde 100644 --- a/build/database/lite/upgrade/upg_sys_i18n.sql +++ b/build/database/lite/upgrade/upg_sys_i18n.sql @@ -951,6 +951,31 @@ neList: Indicates the type of network elements matched'); REPLACE INTO "sys_i18n" VALUES (773, 'menu.perf.kpiTitle', '关键指标标题', 'Key Performance Title'); REPLACE INTO "sys_i18n" VALUES (774, 'menu.neData.cbcCBE', '预警广播', 'Early Warning Broadcast'); REPLACE INTO "sys_i18n" VALUES (775, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast'); +REPLACE INTO "sys_i18n" VALUES (776, 'menu.common.async', '主动同步', 'Active Synchronization'); +REPLACE INTO "sys_i18n" VALUES (777, 'menu.common.dataview', '数据视图', 'Data View'); +REPLACE INTO "sys_i18n" VALUES (778, 'menu.common.pcapview', 'PCAP视图', 'PCAP View'); +REPLACE INTO "sys_i18n" VALUES (779, 'menu.common.fileview', '历史抓包文件', 'Historical Packet Capture File'); +REPLACE INTO "sys_i18n" VALUES (780, 'menu.common.start', '启动', 'Start'); +REPLACE INTO "sys_i18n" VALUES (781, 'menu.common.stop', '停止', 'Stop'); +REPLACE INTO "sys_i18n" VALUES (782, 'menu.common.restart', '重新启动', 'Restart'); +REPLACE INTO "sys_i18n" VALUES (783, 'menu.common.reload', '重新加载', 'Reload'); +REPLACE INTO "sys_i18n" VALUES (784, 'menu.common.download', '下载', 'Download'); +REPLACE INTO "sys_i18n" VALUES (785, 'menu.common.upload', '上传', 'Upload'); +REPLACE INTO "sys_i18n" VALUES (786, 'menu.common.oam', 'OAM', 'OAM'); +REPLACE INTO "sys_i18n" VALUES (787, 'menu.common.sync', '同步', 'Synchronization'); +REPLACE INTO "sys_i18n" VALUES (788, 'menu.common.upgrade', '升级', 'Upgrade'); +REPLACE INTO "sys_i18n" VALUES (789, 'menu.common.rollback', '回滚', 'Rollback'); +REPLACE INTO "sys_i18n" VALUES (790, 'menu.common.ftp', 'FTP 配置', 'FTP Config'); +REPLACE INTO "sys_i18n" VALUES (791, 'menu.common.ftpSync', 'FTP 同步', 'FTP Synchronization'); +REPLACE INTO "sys_i18n" VALUES (792, 'job.backup_export_kpi', '备份-KPI数据定期导出', 'Backup-Periodic export of KPI Data'); +REPLACE INTO "sys_i18n" VALUES (793, 'job.backup_export_kpi_remark', 'dataType: 类型支持 ims/amf/udm/smf/pcf/upf/mme/smsc +fileType: 文件类型 csv/xlsx +hour: 数据时间从任务执行时间前的小时数', 'Backup-Periodic export of dataType: type support ims/amf/udm/smf/pcf/upf/mme/smsc +fileType: file type csv/xlsx +hour: data time from the hour before the task execution time'); +REPLACE INTO "sys_i18n" VALUES (794, 'menu.system.setting.homeSet', '主页设置', 'Home Set'); +REPLACE INTO "sys_i18n" VALUES (795, 'menu.system.setting.reset', '重置', 'Reset'); +REPLACE INTO "sys_i18n" VALUES (796, 'menu.system.setting.backup', '备份还原', 'Backup Restore'); REPLACE INTO "sys_i18n" VALUES (2000, 'menu.psap.agent', '座席', 'Agent'); REPLACE INTO "sys_i18n" VALUES (2001, 'menu.psap.agent.callings', '并行话务', 'Calling Information'); diff --git a/build/database/lite/upgrade/upg_sys_job.sql b/build/database/lite/upgrade/upg_sys_job.sql index e1f00d8c..9ca021c0 100644 --- a/build/database/lite/upgrade/upg_sys_job.sql +++ b/build/database/lite/upgrade/upg_sys_job.sql @@ -50,3 +50,4 @@ REPLACE INTO "sys_job" VALUES (30, 'job.backup_remove_file', 'SYSTEM', 'backup_r REPLACE INTO "sys_job" VALUES (31, 'job.backup_export_udm', 'SYSTEM', 'backup_export_udm', '{"dataType":["auth","sub","voip","volte"],"fileType":"txt"}', '0 35 0 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_udm_remark'); REPLACE INTO "sys_job" VALUES (32, 'job.backup_export_cdr', 'SYSTEM', 'backup_export_cdr', '{"dataType":["ims","smf","sgwc","smsc"],"fileType":"xlsx","hour":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_cdr_remark'); REPLACE INTO "sys_job" VALUES (33, 'job.backup_export_log', 'SYSTEM', 'backup_export_log', '{"dataType":["operate","login"],"fileType":"xlsx","hour":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_log_remark'); +REPLACE INTO "sys_job" VALUES (34, 'job.backup_export_kpi', 'SYSTEM', 'backup_export_kpi', '{"dataType":["ims","amf","udm","smf","pcf","upf","mme","smsc"],"fileType":"xlsx","hour":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_kpi_remark'); diff --git a/build/database/lite/upgrade/upg_sys_menu.sql b/build/database/lite/upgrade/upg_sys_menu.sql index abf2c437..fcee100d 100644 --- a/build/database/lite/upgrade/upg_sys_menu.sql +++ b/build/database/lite/upgrade/upg_sys_menu.sql @@ -113,6 +113,94 @@ REPLACE INTO "sys_menu" VALUES (1057, 'menu.common.query', 109, 1, '#', '', '1', REPLACE INTO "sys_menu" VALUES (1058, 'menu.common.add', 109, 2, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:add', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); REPLACE INTO "sys_menu" VALUES (1059, 'menu.common.edit', 109, 3, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:edit', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); REPLACE INTO "sys_menu" VALUES (1060, 'menu.common.delete', 109, 4, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:remove', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); +REPLACE INTO "sys_menu" VALUES (1061, 'menu.common.query', 2088, 0, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:search', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO "sys_menu" VALUES (1062, 'menu.common.add', 2088, 1, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:add', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO "sys_menu" VALUES (1063, 'menu.common.delete', 2088, 2, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:delete', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO "sys_menu" VALUES (1064, 'menu.common.edit', 2088, 3, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:edit', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO "sys_menu" VALUES (1065, 'menu.common.import', 2088, 4, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:import', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO "sys_menu" VALUES (1066, 'menu.common.export', 2088, 5, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:export', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO "sys_menu" VALUES (1067, 'menu.common.async', 2088, 6, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:async', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO "sys_menu" VALUES (1068, 'menu.common.query', 2097, 0, '', '', '1', '1', 'B', '1', '1', 'faultManage:history-alarm:search', '#', '0', 'supervisor', 1757575020996, 'supervisor', 1757575020996, ''); +REPLACE INTO "sys_menu" VALUES (1069, 'menu.common.export', 2097, 1, '', '', '1', '1', 'B', '1', '1', 'faultManage:history-alarm:export', '#', '0', 'supervisor', 1757575020996, 'supervisor', 1757575020996, ''); +REPLACE INTO "sys_menu" VALUES (1070, 'menu.common.query', 2084, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:search', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO "sys_menu" VALUES (1071, 'menu.common.add', 2084, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:add', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO "sys_menu" VALUES (1072, 'menu.common.delete', 2084, 2, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:delete', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO "sys_menu" VALUES (1073, 'menu.common.dataview', 2084, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:dataview', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO "sys_menu" VALUES (1074, 'menu.common.pcapview', 2084, 4, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:pcapview', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO "sys_menu" VALUES (1075, 'menu.common.edit', 2084, 5, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:edit', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO "sys_menu" VALUES (1076, 'menu.common.query', 2086, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:search', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO "sys_menu" VALUES (1077, 'menu.common.fileview', 2086, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:fileview', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO "sys_menu" VALUES (1078, 'menu.common.start', 2086, 2, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:start', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO "sys_menu" VALUES (1079, 'menu.common.stop', 2086, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:stop', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO "sys_menu" VALUES (1080, 'menu.common.reload', 2086, 4, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:textlog', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO "sys_menu" VALUES (1081, 'menu.common.download', 2086, 5, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:download', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO "sys_menu" VALUES (1082, 'menu.common.query', 2163, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:tshark:search', '#', '0', 'supervisor', 1757667388112, 'supervisor', 1757667388112, ''); +REPLACE INTO "sys_menu" VALUES (1083, 'menu.system.setting.backup', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:backup', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +REPLACE INTO "sys_menu" VALUES (1084, 'menu.system.setting.reset', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:reset', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +REPLACE INTO "sys_menu" VALUES (1085, 'menu.common.query', 2164, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:search', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +REPLACE INTO "sys_menu" VALUES (1086, 'menu.common.start', 2164, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:start', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +REPLACE INTO "sys_menu" VALUES (1087, 'menu.common.stop', 2164, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:stop', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +REPLACE INTO "sys_menu" VALUES (1088, 'menu.common.query', 2137, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:search', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1089, 'menu.common.add', 2137, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:add', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1090, 'menu.common.oam', 2137, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:oam', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1091, 'menu.common.delete', 2137, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:delete', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1092, 'menu.common.edit', 2137, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:edit', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1093, 'menu.common.restart', 2137, 5, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:restart', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1094, 'menu.system.setting.homeSet', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:homeSet', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +REPLACE INTO "sys_menu" VALUES (1095, 'menu.common.start', 2137, 7, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:start', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1096, 'menu.common.stop', 2137, 8, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:stop', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1097, 'menu.common.import', 2137, 9, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:import', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1098, 'menu.common.export', 2137, 10, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:export', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO "sys_menu" VALUES (1099, 'menu.common.query', 2143, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:search', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO "sys_menu" VALUES (1100, 'menu.common.upload', 2143, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:upload', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO "sys_menu" VALUES (1101, 'menu.common.reload', 2143, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:reload', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO "sys_menu" VALUES (1102, 'menu.common.sync', 2143, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:sync', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO "sys_menu" VALUES (1103, 'menu.common.edit', 2143, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:edit', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO "sys_menu" VALUES (1104, 'menu.common.query', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:search', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO "sys_menu" VALUES (1105, 'menu.common.upload', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:upload', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO "sys_menu" VALUES (1106, 'menu.common.delete', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:delete', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO "sys_menu" VALUES (1107, 'menu.common.edit', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:edit', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO "sys_menu" VALUES (1108, 'menu.common.download', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:download', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO "sys_menu" VALUES (1109, 'menu.common.query', 2145, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:search', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +REPLACE INTO "sys_menu" VALUES (1110, 'menu.common.upload', 2145, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:upload', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +REPLACE INTO "sys_menu" VALUES (1111, 'menu.common.upgrade', 2145, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:upgrade', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +REPLACE INTO "sys_menu" VALUES (1112, 'menu.common.rollback', 2145, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:rollback', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +REPLACE INTO "sys_menu" VALUES (1113, 'menu.common.query', 2154, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:search', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +REPLACE INTO "sys_menu" VALUES (1114, 'menu.common.ftp', 2154, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:ftp', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +REPLACE INTO "sys_menu" VALUES (1115, 'menu.common.ftpSync', 2154, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:ftpSync', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +REPLACE INTO "sys_menu" VALUES (1116, 'menu.common.download', 2154, 5, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:download', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +REPLACE INTO "sys_menu" VALUES (1117, 'menu.common.query', 2000, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:search', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO "sys_menu" VALUES (1118, 'menu.common.add', 2000, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:add', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO "sys_menu" VALUES (1119, 'menu.common.delete', 2000, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:delete', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO "sys_menu" VALUES (1120, 'menu.common.reload', 2000, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:reload', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO "sys_menu" VALUES (1121, 'menu.common.import', 2000, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:import', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO "sys_menu" VALUES (1122, 'menu.common.edit', 2000, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:edit', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO "sys_menu" VALUES (1123, 'menu.common.export', 2000, 6, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:export', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO "sys_menu" VALUES (1124, 'menu.common.query', 2001, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:search', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO "sys_menu" VALUES (1125, 'menu.common.add', 2001, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:add', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO "sys_menu" VALUES (1126, 'menu.common.delete', 2001, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:delete', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO "sys_menu" VALUES (1127, 'menu.common.reload', 2001, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:reload', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO "sys_menu" VALUES (1128, 'menu.common.import', 2001, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:import', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO "sys_menu" VALUES (1129, 'menu.common.export', 2001, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:export', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO "sys_menu" VALUES (1130, 'menu.common.edit', 2001, 6, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:edit', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO "sys_menu" VALUES (1131, 'menu.common.query', 2002, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:search', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO "sys_menu" VALUES (1132, 'menu.common.add', 2002, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:add', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO "sys_menu" VALUES (1133, 'menu.common.delete', 2002, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:delete', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO "sys_menu" VALUES (1134, 'menu.common.reload', 2002, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:reload', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO "sys_menu" VALUES (1135, 'menu.common.import', 2002, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:import', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO "sys_menu" VALUES (1136, 'menu.common.export', 2002, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:export', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO "sys_menu" VALUES (1137, 'menu.common.query', 2003, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:search', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO "sys_menu" VALUES (1138, 'menu.common.add', 2003, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:add', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO "sys_menu" VALUES (1139, 'menu.common.delete', 2003, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:delete', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO "sys_menu" VALUES (1140, 'menu.common.reload', 2003, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:reload', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO "sys_menu" VALUES (1141, 'menu.common.import', 2003, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:import', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO "sys_menu" VALUES (1142, 'menu.common.export', 2003, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:export', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO "sys_menu" VALUES (1143, 'menu.common.query', 2004, 0, '', '', '1', '1', 'B', '1', '1', 'neData:ims-sub:search', '#', '0', 'supervisor', 1757673749038, 'supervisor', 1757673749038, ''); +REPLACE INTO "sys_menu" VALUES (1144, 'menu.common.query', 2096, 0, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:search', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +REPLACE INTO "sys_menu" VALUES (1145, 'menu.common.ftp', 2096, 1, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:ftp', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +REPLACE INTO "sys_menu" VALUES (1146, 'menu.common.ftpSync', 2096, 2, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:ftpSync', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +REPLACE INTO "sys_menu" VALUES (1147, 'menu.common.download', 2096, 3, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:download', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +REPLACE INTO "sys_menu" VALUES (1148, 'menu.common.delete', 2096, 4, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:delete', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); REPLACE INTO "sys_menu" VALUES (2000, 'menu.neData.udmAuth', 5, 1, 'udm-auth', 'neData/udm-auth/index', '1', '1', 'M', '1', '1', 'udm#auth:index', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588, 'system', 1728641403588, ''); REPLACE INTO "sys_menu" VALUES (2001, 'menu.neData.udmSub', 5, 3, 'udm-sub', 'neData/udm-sub/index', '1', '1', 'M', '1', '1', 'udm#sub:index', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588, 'system', 1728641403588, ''); REPLACE INTO "sys_menu" VALUES (2002, 'menu.neData.udmVOIP', 5, 5, 'udm-voip', 'neData/udm-voip/index', '1', '0', 'M', '1', '1', 'udm#voip:list', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588, 'system', 1728641403588, ''); @@ -130,14 +218,14 @@ REPLACE INTO "sys_menu" VALUES (2084, 'menu.trace.task', 2083, 1, 'task', 'trace REPLACE INTO "sys_menu" VALUES (2085, 'menu.trace.taskData', 2083, 4, 'task/inline/data', 'traceManage/task/data', '1', '0', 'M', '0', '1', 'traceManage:task:data', '#', '0', 'system', 1728641403588, 'system', 1744453921381, ''); REPLACE INTO "sys_menu" VALUES (2086, 'menu.trace.pcap', 2083, 11, 'pcap', 'traceManage/pcap/index', '1', '1', 'M', '1', '1', 'traceManage:pcap:index', 'icon-soutubiao', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.trace.pcapRemark'); REPLACE INTO "sys_menu" VALUES (2087, 'menu.fault', 0, 2, 'faultManage', '', '1', '0', 'D', '1', '1', '', 'icon-jinggao', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.faultRemark'); -REPLACE INTO "sys_menu" VALUES (2088, 'menu.fault.active', 2129, 1, 'active-alarm', 'faultManage/active-alarm/index', '1', '1', 'M', '1', '1', 'faultManage:active-alarm:index', 'icon-wenjian', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.activemRemark'); +REPLACE INTO "sys_menu" VALUES (2088, 'menu.fault.active', 2129, 1, 'active-alarm', 'faultManage/active-alarm/index', '1', '0', 'M', '1', '1', 'faultManage:active-alarm:index', 'icon-wenjian', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.activemRemark'); REPLACE INTO "sys_menu" VALUES (2089, 'menu.log', 0, 9, 'logManage', '', '1', '0', 'D', '1', '1', '', 'icon-fuzhidaima', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.logRemark'); REPLACE INTO "sys_menu" VALUES (2091, 'menu.log.mml', 2089, 30, 'mml', 'logManage/mml/index', '1', '1', 'M', '1', '1', 'logManage:mml:index', 'icon-wocanyu', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.log.mmlRemark'); REPLACE INTO "sys_menu" VALUES (2092, 'menu.log.alarm', 2089, 40, 'alarm-log', 'logManage/alarm/index', '1', '0', 'M', '1', '1', 'logManage:alarm:index', 'icon-fuzhidaima', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.log.alarmRemark'); REPLACE INTO "sys_menu" VALUES (2094, 'menu.log.forwarding', 2089, 41, 'forwarding', 'logManage/forwarding/index', '1', '0', 'M', '1', '1', 'logManage:forwarding:index', 'icon-huizhiguize', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.log.forwardingRemark'); REPLACE INTO "sys_menu" VALUES (2095, 'menu.log.set', 2089, 45, 'logSet', 'logManage/logSet/index', '1', '0', 'M', '0', '0', 'logManage:logSet:index', 'icon-you', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.log.setRemark'); REPLACE INTO "sys_menu" VALUES (2096, 'menu.neData.backupData', 5, 40, 'backup-data', 'neData/backup-data/index', '1', '0', 'M', '1', '1', 'ne-data:backup-data:list', 'icon-wenjian', '0', 'system', 1728641403588, 'system', 1728641403588, ''); -REPLACE INTO "sys_menu" VALUES (2097, 'menu.fault.history', 2129, 2, 'history-alarm', 'faultManage/history-alarm/index', '1', '1', 'M', '1', '1', 'faultManage/history-alarm/index', 'icon-huizhiguize', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.historyRemark'); +REPLACE INTO "sys_menu" VALUES (2097, 'menu.fault.history', 2129, 2, 'history-alarm', 'faultManage/history-alarm/index', '1', '0', 'M', '1', '1', 'faultManage/history-alarm/index', 'icon-huizhiguize', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.historyRemark'); REPLACE INTO "sys_menu" VALUES (2098, 'menu.fault.set', 2129, 100, 'fault-setting', 'faultManage/fault-setting/index', '1', '0', 'M', '0', '1', 'faultManage/fault-setting/index', 'icon-gonggaodayi', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.fault.setRemark'); REPLACE INTO "sys_menu" VALUES (2099, 'menu.perf', 0, 5, 'perfManage', '', '1', '0', 'D', '1', '1', '', 'icon-soutubiao', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.perfRemark'); REPLACE INTO "sys_menu" VALUES (2100, 'menu.perf.task', 2099, 1, 'taskManage', 'perfManage/taskManage/index', '1', '0', 'M', '0', '1', 'perfManage:taskManage:index', 'icon-wofaqi', '0', 'system', 1728641403588, 'system', 1728641403588, 'menu.perf.taskRemark'); @@ -208,4 +296,4 @@ REPLACE INTO "sys_menu" VALUES (2167, 'menu.dashboard.overview.imsUeNum', 2132, REPLACE INTO "sys_menu" VALUES (2168, 'menu.dashboard.overview.gnbBase', 2132, 6, '', '', '1', '1', 'B', '1', '1', 'dashboard:overview:gnbBase', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); REPLACE INTO "sys_menu" VALUES (2169, 'menu.dashboard.overview.enbBase', 2132, 8, '', '', '1', '1', 'B', '1', '1', 'dashboard:overview:enbBase', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); -REPLACE INTO `sys_menu` VALUES (20000, 'menu.ue.cbc.cbe', 5, 20, 'cbe', 'cbc/cbe/index', '1', '0', 'M', '1', '1', 'cbc#dashboard:cdr:index', 'icon-tubiaoku', '0', 'system', 1711352709786, 'system', 1747796007372, ''); +REPLACE INTO "sys_menu" VALUES (20000, 'menu.neData.cbcCBE', 5, 20, 'cbe', 'cbc/cbe/index', '1', '0', 'M', '1', '1', 'cbc#dashboard:cdr:index', 'icon-tubiaoku', '0', 'system', 1711352709786, 'system', 1747796007372, ''); diff --git a/build/database/lite/upgrade/upg_sys_role_menu.sql b/build/database/lite/upgrade/upg_sys_role_menu.sql index 5241fcc9..df716e2f 100644 --- a/build/database/lite/upgrade/upg_sys_role_menu.sql +++ b/build/database/lite/upgrade/upg_sys_role_menu.sql @@ -15,14 +15,22 @@ INSERT INTO "sys_role_menu" VALUES (2, 1); INSERT INTO "sys_role_menu" VALUES (2, 4); INSERT INTO "sys_role_menu" VALUES (2, 5); INSERT INTO "sys_role_menu" VALUES (2, 60); +INSERT INTO "sys_role_menu" VALUES (2, 61); +INSERT INTO "sys_role_menu" VALUES (2, 63); +INSERT INTO "sys_role_menu" VALUES (2, 64); INSERT INTO "sys_role_menu" VALUES (2, 65); INSERT INTO "sys_role_menu" VALUES (2, 66); INSERT INTO "sys_role_menu" VALUES (2, 100); INSERT INTO "sys_role_menu" VALUES (2, 101); INSERT INTO "sys_role_menu" VALUES (2, 102); INSERT INTO "sys_role_menu" VALUES (2, 103); +INSERT INTO "sys_role_menu" VALUES (2, 104); +INSERT INTO "sys_role_menu" VALUES (2, 105); INSERT INTO "sys_role_menu" VALUES (2, 108); +INSERT INTO "sys_role_menu" VALUES (2, 109); INSERT INTO "sys_role_menu" VALUES (2, 111); +INSERT INTO "sys_role_menu" VALUES (2, 112); +INSERT INTO "sys_role_menu" VALUES (2, 115); INSERT INTO "sys_role_menu" VALUES (2, 116); INSERT INTO "sys_role_menu" VALUES (2, 117); INSERT INTO "sys_role_menu" VALUES (2, 500); @@ -40,18 +48,117 @@ INSERT INTO "sys_role_menu" VALUES (2, 1009); INSERT INTO "sys_role_menu" VALUES (2, 1010); INSERT INTO "sys_role_menu" VALUES (2, 1011); INSERT INTO "sys_role_menu" VALUES (2, 1012); +INSERT INTO "sys_role_menu" VALUES (2, 1013); INSERT INTO "sys_role_menu" VALUES (2, 1014); +INSERT INTO "sys_role_menu" VALUES (2, 1015); +INSERT INTO "sys_role_menu" VALUES (2, 1016); +INSERT INTO "sys_role_menu" VALUES (2, 1017); +INSERT INTO "sys_role_menu" VALUES (2, 1018); +INSERT INTO "sys_role_menu" VALUES (2, 1019); +INSERT INTO "sys_role_menu" VALUES (2, 1020); +INSERT INTO "sys_role_menu" VALUES (2, 1021); +INSERT INTO "sys_role_menu" VALUES (2, 1022); +INSERT INTO "sys_role_menu" VALUES (2, 1023); +INSERT INTO "sys_role_menu" VALUES (2, 1024); INSERT INTO "sys_role_menu" VALUES (2, 1030); INSERT INTO "sys_role_menu" VALUES (2, 1032); +INSERT INTO "sys_role_menu" VALUES (2, 1034); INSERT INTO "sys_role_menu" VALUES (2, 1039); INSERT INTO "sys_role_menu" VALUES (2, 1041); INSERT INTO "sys_role_menu" VALUES (2, 1042); INSERT INTO "sys_role_menu" VALUES (2, 1044); INSERT INTO "sys_role_menu" VALUES (2, 1045); +INSERT INTO "sys_role_menu" VALUES (2, 1048); +INSERT INTO "sys_role_menu" VALUES (2, 1049); +INSERT INTO "sys_role_menu" VALUES (2, 1050); INSERT INTO "sys_role_menu" VALUES (2, 1051); +INSERT INTO "sys_role_menu" VALUES (2, 1052); INSERT INTO "sys_role_menu" VALUES (2, 1053); +INSERT INTO "sys_role_menu" VALUES (2, 1054); INSERT INTO "sys_role_menu" VALUES (2, 1055); INSERT INTO "sys_role_menu" VALUES (2, 1056); +INSERT INTO "sys_role_menu" VALUES (2, 1057); +INSERT INTO "sys_role_menu" VALUES (2, 1058); +INSERT INTO "sys_role_menu" VALUES (2, 1059); +INSERT INTO "sys_role_menu" VALUES (2, 1060); +INSERT INTO "sys_role_menu" VALUES (2, 1061); +INSERT INTO "sys_role_menu" VALUES (2, 1062); +INSERT INTO "sys_role_menu" VALUES (2, 1063); +INSERT INTO "sys_role_menu" VALUES (2, 1064); +INSERT INTO "sys_role_menu" VALUES (2, 1065); +INSERT INTO "sys_role_menu" VALUES (2, 1066); +INSERT INTO "sys_role_menu" VALUES (2, 1067); +INSERT INTO "sys_role_menu" VALUES (2, 1068); +INSERT INTO "sys_role_menu" VALUES (2, 1069); +INSERT INTO "sys_role_menu" VALUES (2, 1070); +INSERT INTO "sys_role_menu" VALUES (2, 1071); +INSERT INTO "sys_role_menu" VALUES (2, 1072); +INSERT INTO "sys_role_menu" VALUES (2, 1073); +INSERT INTO "sys_role_menu" VALUES (2, 1074); +INSERT INTO "sys_role_menu" VALUES (2, 1075); +INSERT INTO "sys_role_menu" VALUES (2, 1076); +INSERT INTO "sys_role_menu" VALUES (2, 1077); +INSERT INTO "sys_role_menu" VALUES (2, 1078); +INSERT INTO "sys_role_menu" VALUES (2, 1079); +INSERT INTO "sys_role_menu" VALUES (2, 1080); +INSERT INTO "sys_role_menu" VALUES (2, 1081); +INSERT INTO "sys_role_menu" VALUES (2, 1082); +INSERT INTO "sys_role_menu" VALUES (2, 1083); +INSERT INTO "sys_role_menu" VALUES (2, 1084); +INSERT INTO "sys_role_menu" VALUES (2, 1085); +INSERT INTO "sys_role_menu" VALUES (2, 1086); +INSERT INTO "sys_role_menu" VALUES (2, 1087); +INSERT INTO "sys_role_menu" VALUES (2, 1088); +INSERT INTO "sys_role_menu" VALUES (2, 1089); +INSERT INTO "sys_role_menu" VALUES (2, 1090); +INSERT INTO "sys_role_menu" VALUES (2, 1091); +INSERT INTO "sys_role_menu" VALUES (2, 1092); +INSERT INTO "sys_role_menu" VALUES (2, 1093); +INSERT INTO "sys_role_menu" VALUES (2, 1094); +INSERT INTO "sys_role_menu" VALUES (2, 1095); +INSERT INTO "sys_role_menu" VALUES (2, 1096); +INSERT INTO "sys_role_menu" VALUES (2, 1097); +INSERT INTO "sys_role_menu" VALUES (2, 1098); +INSERT INTO "sys_role_menu" VALUES (2, 1099); +INSERT INTO "sys_role_menu" VALUES (2, 1100); +INSERT INTO "sys_role_menu" VALUES (2, 1101); +INSERT INTO "sys_role_menu" VALUES (2, 1102); +INSERT INTO "sys_role_menu" VALUES (2, 1103); +INSERT INTO "sys_role_menu" VALUES (2, 1109); +INSERT INTO "sys_role_menu" VALUES (2, 1110); +INSERT INTO "sys_role_menu" VALUES (2, 1111); +INSERT INTO "sys_role_menu" VALUES (2, 1112); +INSERT INTO "sys_role_menu" VALUES (2, 1117); +INSERT INTO "sys_role_menu" VALUES (2, 1118); +INSERT INTO "sys_role_menu" VALUES (2, 1119); +INSERT INTO "sys_role_menu" VALUES (2, 1120); +INSERT INTO "sys_role_menu" VALUES (2, 1121); +INSERT INTO "sys_role_menu" VALUES (2, 1122); +INSERT INTO "sys_role_menu" VALUES (2, 1124); +INSERT INTO "sys_role_menu" VALUES (2, 1125); +INSERT INTO "sys_role_menu" VALUES (2, 1126); +INSERT INTO "sys_role_menu" VALUES (2, 1127); +INSERT INTO "sys_role_menu" VALUES (2, 1128); +INSERT INTO "sys_role_menu" VALUES (2, 1129); +INSERT INTO "sys_role_menu" VALUES (2, 1130); +INSERT INTO "sys_role_menu" VALUES (2, 1131); +INSERT INTO "sys_role_menu" VALUES (2, 1132); +INSERT INTO "sys_role_menu" VALUES (2, 1133); +INSERT INTO "sys_role_menu" VALUES (2, 1134); +INSERT INTO "sys_role_menu" VALUES (2, 1135); +INSERT INTO "sys_role_menu" VALUES (2, 1136); +INSERT INTO "sys_role_menu" VALUES (2, 1137); +INSERT INTO "sys_role_menu" VALUES (2, 1138); +INSERT INTO "sys_role_menu" VALUES (2, 1139); +INSERT INTO "sys_role_menu" VALUES (2, 1140); +INSERT INTO "sys_role_menu" VALUES (2, 1141); +INSERT INTO "sys_role_menu" VALUES (2, 1142); +INSERT INTO "sys_role_menu" VALUES (2, 1143); +INSERT INTO "sys_role_menu" VALUES (2, 1144); +INSERT INTO "sys_role_menu" VALUES (2, 1145); +INSERT INTO "sys_role_menu" VALUES (2, 1146); +INSERT INTO "sys_role_menu" VALUES (2, 1147); +INSERT INTO "sys_role_menu" VALUES (2, 1148); INSERT INTO "sys_role_menu" VALUES (2, 2000); INSERT INTO "sys_role_menu" VALUES (2, 2001); INSERT INTO "sys_role_menu" VALUES (2, 2002); @@ -69,36 +176,50 @@ INSERT INTO "sys_role_menu" VALUES (2, 2086); INSERT INTO "sys_role_menu" VALUES (2, 2087); INSERT INTO "sys_role_menu" VALUES (2, 2088); INSERT INTO "sys_role_menu" VALUES (2, 2089); +INSERT INTO "sys_role_menu" VALUES (2, 2091); INSERT INTO "sys_role_menu" VALUES (2, 2092); INSERT INTO "sys_role_menu" VALUES (2, 2094); INSERT INTO "sys_role_menu" VALUES (2, 2096); INSERT INTO "sys_role_menu" VALUES (2, 2097); INSERT INTO "sys_role_menu" VALUES (2, 2099); +INSERT INTO "sys_role_menu" VALUES (2, 2100); +INSERT INTO "sys_role_menu" VALUES (2, 2101); INSERT INTO "sys_role_menu" VALUES (2, 2102); +INSERT INTO "sys_role_menu" VALUES (2, 2103); +INSERT INTO "sys_role_menu" VALUES (2, 2104); +INSERT INTO "sys_role_menu" VALUES (2, 2105); INSERT INTO "sys_role_menu" VALUES (2, 2107); +INSERT INTO "sys_role_menu" VALUES (2, 2108); INSERT INTO "sys_role_menu" VALUES (2, 2109); +INSERT INTO "sys_role_menu" VALUES (2, 2112); INSERT INTO "sys_role_menu" VALUES (2, 2113); INSERT INTO "sys_role_menu" VALUES (2, 2114); +INSERT INTO "sys_role_menu" VALUES (2, 2115); INSERT INTO "sys_role_menu" VALUES (2, 2116); INSERT INTO "sys_role_menu" VALUES (2, 2117); INSERT INTO "sys_role_menu" VALUES (2, 2118); INSERT INTO "sys_role_menu" VALUES (2, 2121); +INSERT INTO "sys_role_menu" VALUES (2, 2122); INSERT INTO "sys_role_menu" VALUES (2, 2123); INSERT INTO "sys_role_menu" VALUES (2, 2126); INSERT INTO "sys_role_menu" VALUES (2, 2128); INSERT INTO "sys_role_menu" VALUES (2, 2129); INSERT INTO "sys_role_menu" VALUES (2, 2130); +INSERT INTO "sys_role_menu" VALUES (2, 2131); INSERT INTO "sys_role_menu" VALUES (2, 2132); INSERT INTO "sys_role_menu" VALUES (2, 2133); INSERT INTO "sys_role_menu" VALUES (2, 2137); INSERT INTO "sys_role_menu" VALUES (2, 2138); +INSERT INTO "sys_role_menu" VALUES (2, 2139); INSERT INTO "sys_role_menu" VALUES (2, 2140); INSERT INTO "sys_role_menu" VALUES (2, 2141); +INSERT INTO "sys_role_menu" VALUES (2, 2142); INSERT INTO "sys_role_menu" VALUES (2, 2143); INSERT INTO "sys_role_menu" VALUES (2, 2145); INSERT INTO "sys_role_menu" VALUES (2, 2146); INSERT INTO "sys_role_menu" VALUES (2, 2147); INSERT INTO "sys_role_menu" VALUES (2, 2148); +INSERT INTO "sys_role_menu" VALUES (2, 2149); INSERT INTO "sys_role_menu" VALUES (2, 2150); INSERT INTO "sys_role_menu" VALUES (2, 2151); INSERT INTO "sys_role_menu" VALUES (2, 2152); @@ -109,23 +230,92 @@ INSERT INTO "sys_role_menu" VALUES (2, 2156); INSERT INTO "sys_role_menu" VALUES (2, 2157); INSERT INTO "sys_role_menu" VALUES (2, 2158); INSERT INTO "sys_role_menu" VALUES (2, 2159); +INSERT INTO "sys_role_menu" VALUES (2, 2160); INSERT INTO "sys_role_menu" VALUES (2, 2162); INSERT INTO "sys_role_menu" VALUES (2, 2163); +INSERT INTO "sys_role_menu" VALUES (2, 2164); INSERT INTO "sys_role_menu" VALUES (2, 2165); INSERT INTO "sys_role_menu" VALUES (2, 2166); INSERT INTO "sys_role_menu" VALUES (2, 2167); INSERT INTO "sys_role_menu" VALUES (2, 2168); +INSERT INTO "sys_role_menu" VALUES (2, 2169); INSERT INTO "sys_role_menu" VALUES (2, 20000); +INSERT INTO "sys_role_menu" VALUES (3, 1); INSERT INTO "sys_role_menu" VALUES (3, 4); INSERT INTO "sys_role_menu" VALUES (3, 5); -INSERT INTO "sys_role_menu" VALUES (3, 60); -INSERT INTO "sys_role_menu" VALUES (3, 65); -INSERT INTO "sys_role_menu" VALUES (3, 66); +INSERT INTO "sys_role_menu" VALUES (3, 108); +INSERT INTO "sys_role_menu" VALUES (3, 112); INSERT INTO "sys_role_menu" VALUES (3, 500); INSERT INTO "sys_role_menu" VALUES (3, 501); +INSERT INTO "sys_role_menu" VALUES (3, 1030); +INSERT INTO "sys_role_menu" VALUES (3, 1032); +INSERT INTO "sys_role_menu" VALUES (3, 1034); INSERT INTO "sys_role_menu" VALUES (3, 1039); INSERT INTO "sys_role_menu" VALUES (3, 1042); +INSERT INTO "sys_role_menu" VALUES (3, 1061); +INSERT INTO "sys_role_menu" VALUES (3, 1062); +INSERT INTO "sys_role_menu" VALUES (3, 1063); +INSERT INTO "sys_role_menu" VALUES (3, 1064); +INSERT INTO "sys_role_menu" VALUES (3, 1065); +INSERT INTO "sys_role_menu" VALUES (3, 1066); +INSERT INTO "sys_role_menu" VALUES (3, 1067); +INSERT INTO "sys_role_menu" VALUES (3, 1068); +INSERT INTO "sys_role_menu" VALUES (3, 1069); +INSERT INTO "sys_role_menu" VALUES (3, 1070); +INSERT INTO "sys_role_menu" VALUES (3, 1071); +INSERT INTO "sys_role_menu" VALUES (3, 1072); +INSERT INTO "sys_role_menu" VALUES (3, 1073); +INSERT INTO "sys_role_menu" VALUES (3, 1074); +INSERT INTO "sys_role_menu" VALUES (3, 1075); +INSERT INTO "sys_role_menu" VALUES (3, 1076); +INSERT INTO "sys_role_menu" VALUES (3, 1077); +INSERT INTO "sys_role_menu" VALUES (3, 1078); +INSERT INTO "sys_role_menu" VALUES (3, 1079); +INSERT INTO "sys_role_menu" VALUES (3, 1080); +INSERT INTO "sys_role_menu" VALUES (3, 1081); +INSERT INTO "sys_role_menu" VALUES (3, 1082); +INSERT INTO "sys_role_menu" VALUES (3, 1088); +INSERT INTO "sys_role_menu" VALUES (3, 1089); +INSERT INTO "sys_role_menu" VALUES (3, 1090); +INSERT INTO "sys_role_menu" VALUES (3, 1091); +INSERT INTO "sys_role_menu" VALUES (3, 1092); +INSERT INTO "sys_role_menu" VALUES (3, 1093); +INSERT INTO "sys_role_menu" VALUES (3, 1095); +INSERT INTO "sys_role_menu" VALUES (3, 1096); +INSERT INTO "sys_role_menu" VALUES (3, 1097); +INSERT INTO "sys_role_menu" VALUES (3, 1098); +INSERT INTO "sys_role_menu" VALUES (3, 1099); +INSERT INTO "sys_role_menu" VALUES (3, 1100); +INSERT INTO "sys_role_menu" VALUES (3, 1101); +INSERT INTO "sys_role_menu" VALUES (3, 1102); +INSERT INTO "sys_role_menu" VALUES (3, 1103); +INSERT INTO "sys_role_menu" VALUES (3, 1117); +INSERT INTO "sys_role_menu" VALUES (3, 1118); +INSERT INTO "sys_role_menu" VALUES (3, 1119); +INSERT INTO "sys_role_menu" VALUES (3, 1120); +INSERT INTO "sys_role_menu" VALUES (3, 1121); +INSERT INTO "sys_role_menu" VALUES (3, 1122); +INSERT INTO "sys_role_menu" VALUES (3, 1124); +INSERT INTO "sys_role_menu" VALUES (3, 1125); +INSERT INTO "sys_role_menu" VALUES (3, 1126); +INSERT INTO "sys_role_menu" VALUES (3, 1127); +INSERT INTO "sys_role_menu" VALUES (3, 1128); +INSERT INTO "sys_role_menu" VALUES (3, 1129); +INSERT INTO "sys_role_menu" VALUES (3, 1130); +INSERT INTO "sys_role_menu" VALUES (3, 1131); +INSERT INTO "sys_role_menu" VALUES (3, 1132); +INSERT INTO "sys_role_menu" VALUES (3, 1133); +INSERT INTO "sys_role_menu" VALUES (3, 1134); +INSERT INTO "sys_role_menu" VALUES (3, 1135); +INSERT INTO "sys_role_menu" VALUES (3, 1136); +INSERT INTO "sys_role_menu" VALUES (3, 1137); +INSERT INTO "sys_role_menu" VALUES (3, 1138); +INSERT INTO "sys_role_menu" VALUES (3, 1139); +INSERT INTO "sys_role_menu" VALUES (3, 1140); +INSERT INTO "sys_role_menu" VALUES (3, 1141); +INSERT INTO "sys_role_menu" VALUES (3, 1142); +INSERT INTO "sys_role_menu" VALUES (3, 1143); INSERT INTO "sys_role_menu" VALUES (3, 2000); INSERT INTO "sys_role_menu" VALUES (3, 2001); INSERT INTO "sys_role_menu" VALUES (3, 2002); @@ -143,17 +333,24 @@ INSERT INTO "sys_role_menu" VALUES (3, 2086); INSERT INTO "sys_role_menu" VALUES (3, 2087); INSERT INTO "sys_role_menu" VALUES (3, 2088); INSERT INTO "sys_role_menu" VALUES (3, 2089); +INSERT INTO "sys_role_menu" VALUES (3, 2091); INSERT INTO "sys_role_menu" VALUES (3, 2092); -INSERT INTO "sys_role_menu" VALUES (3, 2094); INSERT INTO "sys_role_menu" VALUES (3, 2097); +INSERT INTO "sys_role_menu" VALUES (3, 2107); +INSERT INTO "sys_role_menu" VALUES (3, 2108); +INSERT INTO "sys_role_menu" VALUES (3, 2109); INSERT INTO "sys_role_menu" VALUES (3, 2112); +INSERT INTO "sys_role_menu" VALUES (3, 2114); +INSERT INTO "sys_role_menu" VALUES (3, 2115); INSERT INTO "sys_role_menu" VALUES (3, 2116); INSERT INTO "sys_role_menu" VALUES (3, 2118); +INSERT INTO "sys_role_menu" VALUES (3, 2122); INSERT INTO "sys_role_menu" VALUES (3, 2123); INSERT INTO "sys_role_menu" VALUES (3, 2126); INSERT INTO "sys_role_menu" VALUES (3, 2128); INSERT INTO "sys_role_menu" VALUES (3, 2129); INSERT INTO "sys_role_menu" VALUES (3, 2130); +INSERT INTO "sys_role_menu" VALUES (3, 2131); INSERT INTO "sys_role_menu" VALUES (3, 2132); INSERT INTO "sys_role_menu" VALUES (3, 2133); INSERT INTO "sys_role_menu" VALUES (3, 2137); @@ -164,6 +361,10 @@ INSERT INTO "sys_role_menu" VALUES (3, 2143); INSERT INTO "sys_role_menu" VALUES (3, 2146); INSERT INTO "sys_role_menu" VALUES (3, 2147); INSERT INTO "sys_role_menu" VALUES (3, 2148); +INSERT INTO "sys_role_menu" VALUES (3, 2149); +INSERT INTO "sys_role_menu" VALUES (3, 2151); +INSERT INTO "sys_role_menu" VALUES (3, 2152); +INSERT INTO "sys_role_menu" VALUES (3, 2153); INSERT INTO "sys_role_menu" VALUES (3, 2157); INSERT INTO "sys_role_menu" VALUES (3, 2158); INSERT INTO "sys_role_menu" VALUES (3, 2162); @@ -172,9 +373,12 @@ INSERT INTO "sys_role_menu" VALUES (3, 2165); INSERT INTO "sys_role_menu" VALUES (3, 2166); INSERT INTO "sys_role_menu" VALUES (3, 2167); INSERT INTO "sys_role_menu" VALUES (3, 2168); +INSERT INTO "sys_role_menu" VALUES (3, 2169); INSERT INTO "sys_role_menu" VALUES (3, 20000); +INSERT INTO "sys_role_menu" VALUES (4, 1); INSERT INTO "sys_role_menu" VALUES (4, 4); +INSERT INTO "sys_role_menu" VALUES (4, 112); INSERT INTO "sys_role_menu" VALUES (4, 115); INSERT INTO "sys_role_menu" VALUES (4, 500); INSERT INTO "sys_role_menu" VALUES (4, 501); @@ -183,20 +387,32 @@ INSERT INTO "sys_role_menu" VALUES (4, 1041); INSERT INTO "sys_role_menu" VALUES (4, 1042); INSERT INTO "sys_role_menu" VALUES (4, 1044); INSERT INTO "sys_role_menu" VALUES (4, 1048); +INSERT INTO "sys_role_menu" VALUES (4, 1061); +INSERT INTO "sys_role_menu" VALUES (4, 1062); +INSERT INTO "sys_role_menu" VALUES (4, 1063); +INSERT INTO "sys_role_menu" VALUES (4, 1064); +INSERT INTO "sys_role_menu" VALUES (4, 1065); +INSERT INTO "sys_role_menu" VALUES (4, 1066); +INSERT INTO "sys_role_menu" VALUES (4, 1067); +INSERT INTO "sys_role_menu" VALUES (4, 1068); +INSERT INTO "sys_role_menu" VALUES (4, 1069); INSERT INTO "sys_role_menu" VALUES (4, 2087); INSERT INTO "sys_role_menu" VALUES (4, 2088); INSERT INTO "sys_role_menu" VALUES (4, 2089); +INSERT INTO "sys_role_menu" VALUES (4, 2091); INSERT INTO "sys_role_menu" VALUES (4, 2092); INSERT INTO "sys_role_menu" VALUES (4, 2094); INSERT INTO "sys_role_menu" VALUES (4, 2097); INSERT INTO "sys_role_menu" VALUES (4, 2112); INSERT INTO "sys_role_menu" VALUES (4, 2113); +INSERT INTO "sys_role_menu" VALUES (4, 2115); INSERT INTO "sys_role_menu" VALUES (4, 2116); INSERT INTO "sys_role_menu" VALUES (4, 2123); INSERT INTO "sys_role_menu" VALUES (4, 2126); INSERT INTO "sys_role_menu" VALUES (4, 2128); INSERT INTO "sys_role_menu" VALUES (4, 2129); INSERT INTO "sys_role_menu" VALUES (4, 2130); +INSERT INTO "sys_role_menu" VALUES (4, 2131); INSERT INTO "sys_role_menu" VALUES (4, 2132); INSERT INTO "sys_role_menu" VALUES (4, 2133); INSERT INTO "sys_role_menu" VALUES (4, 2138); @@ -204,19 +420,26 @@ INSERT INTO "sys_role_menu" VALUES (4, 2140); INSERT INTO "sys_role_menu" VALUES (4, 2141); INSERT INTO "sys_role_menu" VALUES (4, 2147); INSERT INTO "sys_role_menu" VALUES (4, 2148); +INSERT INTO "sys_role_menu" VALUES (4, 2149); INSERT INTO "sys_role_menu" VALUES (4, 2157); INSERT INTO "sys_role_menu" VALUES (4, 2165); INSERT INTO "sys_role_menu" VALUES (4, 2166); INSERT INTO "sys_role_menu" VALUES (4, 2167); INSERT INTO "sys_role_menu" VALUES (4, 2168); +INSERT INTO "sys_role_menu" VALUES (4, 2169); +INSERT INTO "sys_role_menu" VALUES (5, 1); INSERT INTO "sys_role_menu" VALUES (5, 4); +INSERT INTO "sys_role_menu" VALUES (5, 112); INSERT INTO "sys_role_menu" VALUES (5, 2087); +INSERT INTO "sys_role_menu" VALUES (5, 2115); INSERT INTO "sys_role_menu" VALUES (5, 2126); INSERT INTO "sys_role_menu" VALUES (5, 2128); INSERT INTO "sys_role_menu" VALUES (5, 2130); +INSERT INTO "sys_role_menu" VALUES (5, 2131); INSERT INTO "sys_role_menu" VALUES (5, 2132); INSERT INTO "sys_role_menu" VALUES (5, 2165); INSERT INTO "sys_role_menu" VALUES (5, 2166); INSERT INTO "sys_role_menu" VALUES (5, 2167); INSERT INTO "sys_role_menu" VALUES (5, 2168); +INSERT INTO "sys_role_menu" VALUES (5, 2169); diff --git a/build/database/std/common/kpi_title.sql b/build/database/std/common/kpi_title.sql index 4f01b776..f582c5ea 100644 --- a/build/database/std/common/kpi_title.sql +++ b/build/database/std/common/kpi_title.sql @@ -20,26 +20,26 @@ CREATE TABLE `kpi_title` ( -- ---------------------------- -- Records of kpi_title -- ---------------------------- --- 更新AMF 20250613 -INSERT INTO `kpi_title` VALUES (1, 'AMF', 'AMF.01', '{\"cn\": \"AMF注册态用户数\", \"en\": \"AMF.RegSub\"}', 'AMF注册态用户数', 'AMF.RegSub', '1'); -INSERT INTO `kpi_title` VALUES (2, 'AMF', 'AMF.02', '{\"cn\": \"AMF初始注册请求次数\", \"en\": \"AMF.AttInitReg\"}', 'AMF初始注册请求次数', 'AMF.AttInitReg', '1'); -INSERT INTO `kpi_title` VALUES (3, 'AMF', 'AMF.03', '{\"cn\": \"AMF初始注册成功次数\", \"en\": \"AMF.SuccInitReg\"}', 'AMF初始注册成功次数', 'AMF.SuccInitReg', '1'); -INSERT INTO `kpi_title` VALUES (4, 'AMF', 'AMF.04', '{\"cn\": \"AMF初始注册失败次数_非法用户\", \"en\": \"AMF.FailedInitReg.3\"}', 'AMF初始注册失败次数_非法用户', 'AMF.FailedInitReg.3', '1'); -INSERT INTO `kpi_title` VALUES (5, 'AMF', 'AMF.05', '{\"cn\": \"AMF初始注册失败次数_PEI不允许\", \"en\": \"AMF.FailedInitReg.5\"}', 'AMF初始注册失败次数_PEI不允许', 'AMF.FailedInitReg.5', '1'); -INSERT INTO `kpi_title` VALUES (6, 'AMF', 'AMF.06', '{\"cn\": \"AMF初始注册失败次数_非法设备\", \"en\": \"AMF.FailedInitReg.6\"}', 'AMF初始注册失败次数_非法设备', 'AMF.FailedInitReg.6', '1'); -INSERT INTO `kpi_title` VALUES (7, 'AMF', 'AMF.07', '{\"cn\": \"AMF初始注册失败次数_5GS服务不允许_用户原因\", \"en\": \"AMF.FailedInitReg.7.User\"}', 'AMF初始注册失败次数_5GS服务不允许_用户原因', 'AMF.FailedInitReg.7.User', '1'); -INSERT INTO `kpi_title` VALUES (8, 'AMF', 'AMF.08', '{\"cn\": \"AMF初始注册失败次数_跟踪区内无合适小区_用户原因\", \"en\": \"AMF.FailedInitReg.15.User\"}', 'AMF初始注册失败次数_跟踪区内无合适小区_用户原因', 'AMF.FailedInitReg.15.User', '1'); -INSERT INTO `kpi_title` VALUES (9, 'AMF', 'AMF.09', '{\"cn\": \"AMF初始注册失败次数_N1模式不允许\", \"en\": \"AMF.FailedInitReg.27\"}', 'AMF初始注册失败次数_N1模式不允许', 'AMF.FailedInitReg.27', '1'); -INSERT INTO `kpi_title` VALUES (10, 'AMF', 'AMF.10', '{\"cn\": \"AMF初始注册失败次数_PLMN不允许\", \"en\": \"AMF.FailedInitReg.11\"}', 'AMF初始注册失败次数_PLMN不允许', 'AMF.FailedInitReg.11', '1'); -INSERT INTO `kpi_title` VALUES (11, 'AMF', 'AMF.11', '{\"cn\": \"AMF初始注册失败次数_跟踪区不允许\", \"en\": \"AMF.FailedInitReg.12\"}', 'AMF初始注册失败次数_跟踪区不允许', 'AMF.FailedInitReg.12', '1'); -INSERT INTO `kpi_title` VALUES (12, 'AMF', 'AMF.12', '{\"cn\": \"AMF初始注册失败次数_漫游跟踪区禁止接入\", \"en\": \"AMF.FailedInitReg.13\"}', 'AMF初始注册失败次数_漫游跟踪区禁止接入', 'AMF.FailedInitReg.13', '1'); -INSERT INTO `kpi_title` VALUES (13, 'AMF', 'AMF.13', '{\"cn\": \"AMF初始注册失败次数_无可用网络切片\", \"en\": \"AMF.FailedInitReg.62\"}', 'AMF初始注册失败次数_无可用网络切片', 'AMF.FailedInitReg.62', '1'); -INSERT INTO `kpi_title` VALUES (14, 'AMF', 'AMF.14', '{\"cn\": \"AMF初始注册失败次数_协议错误_用户原因\", \"en\": \"AMF.FailedInitReg.111.User\"}', 'AMF初始注册失败次数_协议错误_用户原因', 'AMF.FailedInitReg.111.User', '1'); -INSERT INTO `kpi_title` VALUES (15, 'AMF', 'AMF.15', '{\"cn\": \"AMF一次寻呼响应次数\", \"en\": \"AMF.FirstPagingSucc\"}', 'AMF一次寻呼响应次数', 'AMF.FirstPagingSucc', '1'); -INSERT INTO `kpi_title` VALUES (16, 'AMF', 'AMF.16', '{\"cn\": \"AMF二次寻呼响应次数\", \"en\": \"AMF.SecondPagingSucc\"}', 'AMF二次寻呼响应次数', 'AMF.SecondPagingSucc', '1'); -INSERT INTO `kpi_title` VALUES (17, 'AMF', 'AMF.17', '{\"cn\": \"AMF寻呼请求次数\", \"en\": \"AMF.PagAtt\"}', 'AMF寻呼请求次数', 'AMF.PagAtt', '1'); -INSERT INTO `kpi_title` VALUES (18, 'AMF', 'AMF.18', '{\"cn\": \"AMF业务请求被拒次数\", \"en\": \"AMF.FailServiceReq\"}', 'AMF业务请求被拒次数', 'AMF.FailServiceReq', '1'); -INSERT INTO `kpi_title` VALUES (19, 'AMF', 'AMF.19', '{\"cn\": \"AMF业务请求尝试次数\", \"en\": \"AMF.AttServiceReq\"}', 'AMF业务请求尝试次数', 'AMF.AttServiceReq', '1'); +-- 更新AMF 20250917 +INSERT INTO `kpi_title` VALUES (1, 'AMF', 'AMF.01', '{\"cn\": \"AMF注册态用户数\", \"en\": \"AMF.RegSub\"}', 'AMF注册态用户数', 'AMF Registered Users', '1'); +INSERT INTO `kpi_title` VALUES (2, 'AMF', 'AMF.02', '{\"cn\": \"AMF初始注册请求次数\", \"en\": \"AMF.AttInitReg\"}', 'AMF初始注册请求次数', 'AMF Initial Reg Requests', '1'); +INSERT INTO `kpi_title` VALUES (3, 'AMF', 'AMF.03', '{\"cn\": \"AMF初始注册成功次数\", \"en\": \"AMF.SuccInitReg\"}', 'AMF初始注册成功次数', 'AMF Initial Reg Successes', '1'); +INSERT INTO `kpi_title` VALUES (4, 'AMF', 'AMF.04', '{\"cn\": \"AMF初始注册失败次数_非法用户\", \"en\": \"AMF.FailedInitReg.3\"}', 'AMF初始注册失败次数_非法用户', 'AMF Initial Reg Fail - Invalid User ', '1'); +INSERT INTO `kpi_title` VALUES (5, 'AMF', 'AMF.05', '{\"cn\": \"AMF初始注册失败次数_PEI不允许\", \"en\": \"AMF.FailedInitReg.5\"}', 'AMF初始注册失败次数_PEI不允许', 'AMF Initial Reg Fail - PEI Not Allowed', '1'); +INSERT INTO `kpi_title` VALUES (6, 'AMF', 'AMF.06', '{\"cn\": \"AMF初始注册失败次数_非法设备\", \"en\": \"AMF.FailedInitReg.6\"}', 'AMF初始注册失败次数_非法设备', 'AMF Initial Reg Fail - Invalid Device', '1'); +INSERT INTO `kpi_title` VALUES (7, 'AMF', 'AMF.07', '{\"cn\": \"AMF初始注册失败次数_5GS服务不允许_用户原因\", \"en\": \"AMF.FailedInitReg.7.User\"}', 'AMF初始注册失败次数_5GS服务不允许_用户原因', 'AMF Initial Reg Fail - 5GS Service Not Allowed User', '1'); +INSERT INTO `kpi_title` VALUES (8, 'AMF', 'AMF.08', '{\"cn\": \"AMF初始注册失败次数_跟踪区内无合适小区_用户原因\", \"en\": \"AMF.FailedInitReg.15.User\"}', 'AMF初始注册失败次数_跟踪区内无合适小区_用户原因', 'AMF Initial Reg Fail - No Suitable Cell User', '1'); +INSERT INTO `kpi_title` VALUES (9, 'AMF', 'AMF.09', '{\"cn\": \"AMF初始注册失败次数_N1模式不允许\", \"en\": \"AMF.FailedInitReg.27\"}', 'AMF初始注册失败次数_N1模式不允许', 'AMF Initial Reg Fail - N1 Mode Not Allowed', '1'); +INSERT INTO `kpi_title` VALUES (10, 'AMF', 'AMF.10', '{\"cn\": \"AMF初始注册失败次数_PLMN不允许\", \"en\": \"AMF.FailedInitReg.11\"}', 'AMF初始注册失败次数_PLMN不允许', 'AMF Initial Reg Fail - PLMN Not Allowed', '1'); +INSERT INTO `kpi_title` VALUES (11, 'AMF', 'AMF.11', '{\"cn\": \"AMF初始注册失败次数_跟踪区不允许\", \"en\": \"AMF.FailedInitReg.12\"}', 'AMF初始注册失败次数_跟踪区不允许', 'AMF Initial Reg Fail - Tracking Area Not Allowed', '1'); +INSERT INTO `kpi_title` VALUES (12, 'AMF', 'AMF.12', '{\"cn\": \"AMF初始注册失败次数_漫游跟踪区禁止接入\", \"en\": \"AMF.FailedInitReg.13\"}', 'AMF初始注册失败次数_漫游跟踪区禁止接入', 'AMF Initial Reg Fail - Roaming TA Access Barred', '1'); +INSERT INTO `kpi_title` VALUES (13, 'AMF', 'AMF.13', '{\"cn\": \"AMF初始注册失败次数_无可用网络切片\", \"en\": \"AMF.FailedInitReg.62\"}', 'AMF初始注册失败次数_无可用网络切片', 'AMF Initial Reg Fail - No Slice Available', '1'); +INSERT INTO `kpi_title` VALUES (14, 'AMF', 'AMF.14', '{\"cn\": \"AMF初始注册失败次数_协议错误_用户原因\", \"en\": \"AMF.FailedInitReg.111.User\"}', 'AMF初始注册失败次数_协议错误_用户原因', 'AMF Initial Reg Fail - Protocol Error User', '1'); +INSERT INTO `kpi_title` VALUES (15, 'AMF', 'AMF.15', '{\"cn\": \"AMF一次寻呼响应次数\", \"en\": \"AMF.FirstPagingSucc\"}', 'AMF一次寻呼响应次数', 'AMF First Paging Responses', '1'); +INSERT INTO `kpi_title` VALUES (16, 'AMF', 'AMF.16', '{\"cn\": \"AMF二次寻呼响应次数\", \"en\": \"AMF.SecondPagingSucc\"}', 'AMF二次寻呼响应次数', 'AMF Second Paging Responses', '1'); +INSERT INTO `kpi_title` VALUES (17, 'AMF', 'AMF.17', '{\"cn\": \"AMF寻呼请求次数\", \"en\": \"AMF.PagAtt\"}', 'AMF寻呼请求次数', 'AMF Paging Requests', '1'); +INSERT INTO `kpi_title` VALUES (18, 'AMF', 'AMF.18', '{\"cn\": \"AMF业务请求被拒次数\", \"en\": \"AMF.FailServiceReq\"}', 'AMF业务请求被拒次数', 'AMF Service Requests Rejected', '1'); +INSERT INTO `kpi_title` VALUES (19, 'AMF', 'AMF.19', '{\"cn\": \"AMF业务请求尝试次数\", \"en\": \"AMF.AttServiceReq\"}', 'AMF业务请求尝试次数', 'AMF Service Request Attempts', '1'); -- INSERT INTO `kpi_title` VALUES (20, 'AMF', 'AMF.20', '{\"cn\": \"EPS在线用户数\", \"en\": \"SUB.NbrSub.EcmIdle+SUB.NbrSub.EcmConnected\"}', 'EPS在线用户数', 'SUB.NbrSub.EcmIdle+SUB.NbrSub.EcmConnected', '1'); -- INSERT INTO `kpi_title` VALUES (21, 'AMF', 'AMF.21', '{\"cn\": \"EPS附着成功次数\", \"en\": \"MM.SuccEpsAttach\"}', 'EPS附着成功次数', 'MM.SuccEpsAttach', '1'); -- INSERT INTO `kpi_title` VALUES (22, 'AMF', 'AMF.22', '{\"cn\": \"EPS附着请求次数\", \"en\": \"MM.AttEpsAttach\"}', 'EPS附着请求次数', 'MM.AttEpsAttach', '1'); @@ -53,26 +53,26 @@ INSERT INTO `kpi_title` VALUES (19, 'AMF', 'AMF.19', '{\"cn\": \"AMF业务请求 -- INSERT INTO `kpi_title` VALUES (30, 'AMF', 'AMF.30', '{\"cn\": \"MME一次寻呼响应次数\", \"en\": \"MM.FirstPagingSucc\"}', 'MME一次寻呼响应次数', 'MM.FirstPagingSucc', '1'); -- INSERT INTO `kpi_title` VALUES (31, 'AMF', 'AMF.31', '{\"cn\": \"MME二次寻呼响应次数\", \"en\": \"MM.SecondPagingSucc\"}', 'MME二次寻呼响应次数', 'MM.SecondPagingSucc', '1'); -- INSERT INTO `kpi_title` VALUES (32, 'AMF', 'AMF.32', '{\"cn\": \"MME寻呼请求次数\", \"en\": \"MM.PagAtt\"}', 'MME寻呼请求次数', 'MM.PagAtt', '1'); -INSERT INTO `kpi_title` VALUES (33, 'AMF', 'AMF.A.02', '{\"cn\":\"AMF移动性注册更新成功次数\",\"en\":\"AMF.SuccMobiReg\"}', 'AMF移动性注册更新成功次数', 'AMF.SuccMobiReg', '1'); -INSERT INTO `kpi_title` VALUES (34, 'AMF', 'AMF.A.03', '{\"cn\":\"AMF移动性注册更新失败次数\",\"en\":\"AMF.FailedMobiReg\"}', 'AMF移动性注册更新失败次数', 'AMF.FailedMobiReg', '1'); -INSERT INTO `kpi_title` VALUES (35, 'AMF', 'AMF.A.04', '{\"cn\":\"AMF紧急注册请求次数\",\"en\":\"AMF.AttEmergReg\"}', 'AMF紧急注册请求次数', 'AMF.AttEmergReg', '1'); -INSERT INTO `kpi_title` VALUES (36, 'AMF', 'AMF.A.05', '{\"cn\":\"AMF紧急注册成功次数\",\"en\":\"AMF.SuccEmergReg\"}', 'AMF紧急注册成功次数', 'AMF.SuccEmergReg', '1'); -INSERT INTO `kpi_title` VALUES (37, 'AMF', 'AMF.A.06', '{\"cn\":\"AMF紧急注册失败次数\",\"en\":\"AMF.FailedEmergReg\"}', 'AMF紧急注册失败次数', 'AMF.FailedEmergReg', '1'); -INSERT INTO `kpi_title` VALUES (38, 'AMF', 'AMF.A.07', '{\"cn\":\"UE发起的去注册请求次数\",\"en\":\"AMF.AttUeDereg\"}', 'UE发起的去注册请求次数', 'AMF.AttUeDereg', '1'); -INSERT INTO `kpi_title` VALUES (39, 'AMF', 'AMF.A.08', '{\"cn\":\"UE发起的去注册成功次数\",\"en\":\"AMF.SuccUeDereg\"}', 'UE发起的去注册成功次数', 'AMF.SuccUeDereg', '1'); -INSERT INTO `kpi_title` VALUES (40, 'AMF', 'AMF.A.09', '{\"cn\":\"AMF发起的去注册请求次数\",\"en\":\"AMF.AttAmfDereg\"}', 'AMF发起的去注册请求次数', 'AMF.AttAmfDereg', '1'); -INSERT INTO `kpi_title` VALUES (41, 'AMF', 'AMF.A.10', '{\"cn\":\"AMF发起的去注册成功次数\",\"en\":\"AMF.SuccAmfDereg\"}', 'AMF发起的去注册成功次数', 'AMF.SuccAmfDereg', '1'); -INSERT INTO `kpi_title` VALUES (42, 'AMF', 'AMF.A.11', '{\"cn\":\"UDM发起的去注册请求次数\",\"en\":\"AMF.AttUdmDereg\"}', 'UDM发起的去注册请求次数', 'AMF.AttUdmDereg', '1'); -INSERT INTO `kpi_title` VALUES (43, 'AMF', 'AMF.A.12', '{\"cn\":\"UDM发起的去注册成功次数\",\"en\":\"AMF.SuccUdmDereg\"}', 'UDM发起的去注册成功次数', 'AMF.SuccUdmDereg', '1'); -INSERT INTO `kpi_title` VALUES (44, 'AMF', 'AMF.A.13', '{\"cn\":\"AMF寻呼失败次数\",\"en\":\"AMF.PagFail\"}', 'AMF寻呼失败次数', 'AMF.PagFail', '1'); -INSERT INTO `kpi_title` VALUES (45, 'AMF', 'AMF.A.14', '{\"cn\":\"AMF隐式去注册次数\",\"en\":\"AMF.ImplicitDereg\"}', 'AMF隐式去注册次数', 'AMF.ImplicitDereg', '1'); +INSERT INTO `kpi_title` VALUES (33, 'AMF', 'AMF.A.02', '{\"cn\":\"AMF移动性注册更新成功次数\",\"en\":\"AMF.SuccMobiReg\"}', 'AMF移动性注册更新成功次数', 'Mobility Reg Update Successes', '1'); +INSERT INTO `kpi_title` VALUES (34, 'AMF', 'AMF.A.03', '{\"cn\":\"AMF移动性注册更新失败次数\",\"en\":\"AMF.FailedMobiReg\"}', 'AMF移动性注册更新失败次数', 'Mobility Reg Update Failures', '1'); +INSERT INTO `kpi_title` VALUES (35, 'AMF', 'AMF.A.04', '{\"cn\":\"AMF紧急注册请求次数\",\"en\":\"AMF.AttEmergReg\"}', 'AMF紧急注册请求次数', 'Emergency Reg Requests', '1'); +INSERT INTO `kpi_title` VALUES (36, 'AMF', 'AMF.A.05', '{\"cn\":\"AMF紧急注册成功次数\",\"en\":\"AMF.SuccEmergReg\"}', 'AMF紧急注册成功次数', 'Emergency Reg Successes', '1'); +INSERT INTO `kpi_title` VALUES (37, 'AMF', 'AMF.A.06', '{\"cn\":\"AMF紧急注册失败次数\",\"en\":\"AMF.FailedEmergReg\"}', 'AMF紧急注册失败次数', 'Emergency Reg Failures', '1'); +INSERT INTO `kpi_title` VALUES (38, 'AMF', 'AMF.A.07', '{\"cn\":\"UE发起的去注册请求次数\",\"en\":\"AMF.AttUeDereg\"}', 'UE发起的去注册请求次数', 'UE Dereg Requests', '1'); +INSERT INTO `kpi_title` VALUES (39, 'AMF', 'AMF.A.08', '{\"cn\":\"UE发起的去注册成功次数\",\"en\":\"AMF.SuccUeDereg\"}', 'UE发起的去注册成功次数', 'UE Dereg Successes', '1'); +INSERT INTO `kpi_title` VALUES (40, 'AMF', 'AMF.A.09', '{\"cn\":\"AMF发起的去注册请求次数\",\"en\":\"AMF.AttAmfDereg\"}', 'AMF发起的去注册请求次数', 'AMF Dereg Requests', '1'); +INSERT INTO `kpi_title` VALUES (41, 'AMF', 'AMF.A.10', '{\"cn\":\"AMF发起的去注册成功次数\",\"en\":\"AMF.SuccAmfDereg\"}', 'AMF发起的去注册成功次数', 'AMF Dereg Successes', '1'); +INSERT INTO `kpi_title` VALUES (42, 'AMF', 'AMF.A.11', '{\"cn\":\"UDM发起的去注册请求次数\",\"en\":\"AMF.AttUdmDereg\"}', 'UDM发起的去注册请求次数', 'UDM Dereg Requests', '1'); +INSERT INTO `kpi_title` VALUES (43, 'AMF', 'AMF.A.12', '{\"cn\":\"UDM发起的去注册成功次数\",\"en\":\"AMF.SuccUdmDereg\"}', 'UDM发起的去注册成功次数', 'UDM Dereg Successes', '1'); +INSERT INTO `kpi_title` VALUES (44, 'AMF', 'AMF.A.13', '{\"cn\":\"AMF寻呼失败次数\",\"en\":\"AMF.PagFail\"}', 'AMF寻呼失败次数', 'AMF Paging Failures', '1'); +INSERT INTO `kpi_title` VALUES (45, 'AMF', 'AMF.A.14', '{\"cn\":\"AMF隐式去注册次数\",\"en\":\"AMF.ImplicitDereg\"}', 'AMF隐式去注册次数', 'Implicit Deregistrations', '1'); --- 更新UDM 20250613 -INSERT INTO `kpi_title` VALUES (60, 'UDM', 'UDM.01', '{\"cn\": \"5G注册用户数\", \"en\": \"UDR.5gActSub\"}', '5G注册用户数', 'UDR.5gActSub', '1'); -INSERT INTO `kpi_title` VALUES (61, 'UDM', 'UDM.02', '{\"cn\": \"AMF发起的UECM注册请求次数\", \"en\": \"UDM.AmfUecmRegReq\"}', 'AMF发起的UECM注册请求次数', 'UDM.AmfUecmRegReq', '1'); -INSERT INTO `kpi_title` VALUES (62, 'UDM', 'UDM.03', '{\"cn\": \"AMF发起的UECM注册成功次数\", \"en\": \"UDM.AmfUecmRegSucc\"}', 'AMF发起的UECM注册成功次数', 'UDM.AmfUecmRegSucc', '1'); -INSERT INTO `kpi_title` VALUES (63, 'UDM', 'UDM.04', '{\"cn\": \"SMF发起的UECM注册成功次数\", \"en\": \"UDM.SmfUecmRegSucc\"}', 'SMF发起的UECM注册成功次数', 'UDM.SmfUecmRegSucc', '1'); -INSERT INTO `kpi_title` VALUES (64, 'UDM', 'UDM.05', '{\"cn\": \"SMF发起的UECM注册请求次数\", \"en\": \"UDM.SmfUecmRegReq\"}', 'SMF发起的UECM注册请求次数', 'UDM.SmfUecmRegReq', '1'); +-- 更新UDM 20250917 +INSERT INTO `kpi_title` VALUES (60, 'UDM', 'UDM.01', '{\"cn\": \"5G注册用户数\", \"en\": \"UDR.5gActSub\"}', '5G注册用户数', '5G Registered Users', '1'); +INSERT INTO `kpi_title` VALUES (61, 'UDM', 'UDM.02', '{\"cn\": \"AMF发起的UECM注册请求次数\", \"en\": \"UDM.AmfUecmRegReq\"}', 'AMF发起的UECM注册请求次数', 'AMF UECM Reg Requests', '1'); +INSERT INTO `kpi_title` VALUES (62, 'UDM', 'UDM.03', '{\"cn\": \"AMF发起的UECM注册成功次数\", \"en\": \"UDM.AmfUecmRegSucc\"}', 'AMF发起的UECM注册成功次数', 'AMF UECM Reg Successes', '1'); +INSERT INTO `kpi_title` VALUES (63, 'UDM', 'UDM.04', '{\"cn\": \"SMF发起的UECM注册成功次数\", \"en\": \"UDM.SmfUecmRegSucc\"}', 'SMF发起的UECM注册成功次数', 'SMF UECM Reg Successes', '1'); +INSERT INTO `kpi_title` VALUES (64, 'UDM', 'UDM.05', '{\"cn\": \"SMF发起的UECM注册请求次数\", \"en\": \"UDM.SmfUecmRegReq\"}', 'SMF发起的UECM注册请求次数', 'SMF UECM Reg Requests', '1'); -- INSERT INTO `kpi_title` VALUES (65, 'UDM', 'UDM.06', '{\"cn\": \"4G注册用户数\", \"en\": \"SUB.EpsActSubsInHss\"}', '4G注册用户数', 'SUB.EpsActSubsInHss', '1'); -- INSERT INTO `kpi_title` VALUES (66, 'UDM', 'UDM.07', '{\"cn\": \"4G鉴权信息查询成功次数\", \"en\": \"DIAM.AucInfoAnsSucc\"}', '4G鉴权信息查询成功次数', 'DIAM.AucInfoAnsSucc', '1'); -- INSERT INTO `kpi_title` VALUES (67, 'UDM', 'UDM.08', '{\"cn\": \"4G鉴权信息查询请求次数\", \"en\": \"DIAM.AucInfoReq\"}', '4G鉴权信息查询请求次数', 'DIAM.AucInfoReq', '1'); @@ -84,31 +84,31 @@ INSERT INTO `kpi_title` VALUES (64, 'UDM', 'UDM.05', '{\"cn\": \"SMF发起的UEC -- INSERT INTO `kpi_title` VALUES (73, 'UDM', 'UDM.14', '{\"cn\": \"LIR请求总次数\", \"en\": \"LIQ.AttLIR\"}', 'LIR请求总次数', 'LIQ.AttLIR', '1'); -- UDM融合AUSF -INSERT INTO `kpi_title` VALUES (78, 'UDM', 'AUSF.01', '{\"cn\": \"鉴权成功次数\", \"en\": \"Ausf.UeAuthAnsSucc\"}', '鉴权成功次数', 'Ausf.UeAuthAnsSucc', '1'); -INSERT INTO `kpi_title` VALUES (79, 'UDM', 'AUSF.02', '{\"cn\": \"鉴权请求次数\", \"en\": \"Ausf.UeAuthReq\"}', '鉴权请求次数', 'Ausf.UeAuthReq', '1'); +INSERT INTO `kpi_title` VALUES (78, 'UDM', 'AUSF.01', '{\"cn\": \"鉴权成功次数\", \"en\": \"Ausf.UeAuthAnsSucc\"}', '鉴权成功次数', 'Auth Successes', '1'); +INSERT INTO `kpi_title` VALUES (79, 'UDM', 'AUSF.02', '{\"cn\": \"鉴权请求次数\", \"en\": \"Ausf.UeAuthReq\"}', '鉴权请求次数', 'Auth Requests', '1'); --- 更新AUSF 20250613 -INSERT INTO `kpi_title` VALUES (80, 'AUSF', 'AUSF.01', '{\"cn\": \"鉴权成功次数\", \"en\": \"Ausf.UeAuthAnsSucc\"}', '鉴权成功次数', 'Ausf.UeAuthAnsSucc', '1'); -INSERT INTO `kpi_title` VALUES (81, 'AUSF', 'AUSF.02', '{\"cn\": \"鉴权请求次数\", \"en\": \"Ausf.UeAuthReq\"}', '鉴权请求次数', 'Ausf.UeAuthReq', '1'); +-- 更新AUSF 20250917 +INSERT INTO `kpi_title` VALUES (80, 'AUSF', 'AUSF.01', '{\"cn\": \"鉴权成功次数\", \"en\": \"Ausf.UeAuthAnsSucc\"}', '鉴权成功次数', 'Auth Successes', '1'); +INSERT INTO `kpi_title` VALUES (81, 'AUSF', 'AUSF.02', '{\"cn\": \"鉴权请求次数\", \"en\": \"Ausf.UeAuthReq\"}', '鉴权请求次数', 'Auth Requests', '1'); --- 更新UPF 20250613 -INSERT INTO `kpi_title` VALUES (90, 'UPF', 'UPF.01', '{\"cn\": \"PFCP会话建立成功次数\", \"en\": \"UPF.PfcpSessionEstabSucc\"}', 'PFCP会话建立成功次数', 'UPF.PfcpSessionEstabSucc', '1'); -INSERT INTO `kpi_title` VALUES (91, 'UPF', 'UPF.02', '{\"cn\": \"PFCP会话建立请求次数\", \"en\": \"UPF.PfcpSessionEstabReq\"}', 'PFCP会话建立请求次数', 'UPF.PfcpSessionEstabReq', '1'); -INSERT INTO `kpi_title` VALUES (92, 'UPF', 'UPF.03', '{\"cn\": \"N6接口上行字节数\", \"en\": \"UPF.N6OgOct\"}', 'N6接口上行字节数', 'UPF.N6OgOct', '1'); -INSERT INTO `kpi_title` VALUES (93, 'UPF', 'UPF.04', '{\"cn\": \"N6接口下行字节数\", \"en\": \"UPF.N6IncOct\"}', 'N6接口下行字节数', 'UPF.N6IncOct', '1'); -INSERT INTO `kpi_title` VALUES (94, 'UPF', 'UPF.05', '{\"cn\": \"N3接口上行字节数\", \"en\": \"UPF.N3OgOct\"}', 'N3接口上行字节数', 'UPF.N3OgOct', '1'); -INSERT INTO `kpi_title` VALUES (95, 'UPF', 'UPF.06', '{\"cn\": \"N3接口下行字节数\", \"en\": \"UPF.N3IncOct\"}', 'N3接口下行字节数', 'UPF.N3IncOct', '1'); +-- 更新UPF 20250917 +INSERT INTO `kpi_title` VALUES (90, 'UPF', 'UPF.01', '{\"cn\": \"PFCP会话建立成功次数\", \"en\": \"UPF.PfcpSessionEstabSucc\"}', 'PFCP会话建立成功次数', 'PFCP Session Successes', '1'); +INSERT INTO `kpi_title` VALUES (91, 'UPF', 'UPF.02', '{\"cn\": \"PFCP会话建立请求次数\", \"en\": \"UPF.PfcpSessionEstabReq\"}', 'PFCP会话建立请求次数', 'PFCP Session Requests', '1'); +INSERT INTO `kpi_title` VALUES (92, 'UPF', 'UPF.03', '{\"cn\": \"N6接口上行字节数\", \"en\": \"UPF.N6OgOct\"}', 'N6接口上行字节数', 'N6 Uplink Bytes', '1'); +INSERT INTO `kpi_title` VALUES (93, 'UPF', 'UPF.04', '{\"cn\": \"N6接口下行字节数\", \"en\": \"UPF.N6IncOct\"}', 'N6接口下行字节数', 'N6 Downlink Bytes', '1'); +INSERT INTO `kpi_title` VALUES (94, 'UPF', 'UPF.05', '{\"cn\": \"N3接口上行字节数\", \"en\": \"UPF.N3OgOct\"}', 'N3接口上行字节数', 'N3 Uplink Bytes', '1'); +INSERT INTO `kpi_title` VALUES (95, 'UPF', 'UPF.06', '{\"cn\": \"N3接口下行字节数\", \"en\": \"UPF.N3IncOct\"}', 'N3接口下行字节数', 'N3 Downlink Bytes', '1'); -- INSERT INTO `kpi_title` VALUES (96, 'UPF', 'UPF.07', '{\"cn\": \"SGi接口上行字节数\", \"en\": \"IP.PeakThroughputUlSgi\"}', 'SGi接口上行字节数', 'IP.PeakThroughputUlSgi', '1'); -- INSERT INTO `kpi_title` VALUES (97, 'UPF', 'UPF.08', '{\"cn\": \"SGi接口下行字节数\", \"en\": \"IP.PeakThroughputDlSgi\"}', 'SGi接口下行字节数', 'IP.PeakThroughputDlSgi', '1'); -- INSERT INTO `kpi_title` VALUES (98, 'UPF', 'UPF.09', '{\"cn\": \"S1-U接口上行字节数\", \"en\": \"GTP.OutOctS1uSgw\"}', 'S1-U接口上行字节数', 'GTP.OutOctS1uSgw', '1'); -- INSERT INTO `kpi_title` VALUES (99, 'UPF', 'UPF.10', '{\"cn\": \"S1-U接口下行字节数\", \"en\": \"GTP.IncOctS1uSgw\"}', 'S1-U接口下行字节数', 'GTP.IncOctS1uSgw', '1'); --- 更新SMF 20250613 -INSERT INTO `kpi_title` VALUES (120, 'SMF', 'SMF.01', '{\"cn\": \"5G实时PDU会话数\", \"en\": \"SMF.MeanPduSession\"}', '5G实时PDU会话数', 'SMF.MeanPduSession', '1'); -INSERT INTO `kpi_title` VALUES (121, 'SMF', 'SMF.02', '{\"cn\": \"PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession\"}', 'PDU会话建立成功次数', 'SMF.SuccCreatePduSession', '1'); -INSERT INTO `kpi_title` VALUES (122, 'SMF', 'SMF.03', '{\"cn\": \"PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession\"}', 'PDU会话建立请求次数', 'SMF.AttCreatePduSession', '1'); -INSERT INTO `kpi_title` VALUES (123, 'SMF', 'SMF.04', '{\"cn\": \"IMS PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession._Ims\"}', 'IMS PDU会话建立成功次数', 'SMF.SuccCreatePduSession._Ims', '1'); -INSERT INTO `kpi_title` VALUES (124, 'SMF', 'SMF.05', '{\"cn\": \"IMS PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession._Ims\"}', 'IMS PDU会话建立请求次数', 'SMF.AttCreatePduSession._Ims', '1'); +-- 更新SMF 20250917 +INSERT INTO `kpi_title` VALUES (120, 'SMF', 'SMF.01', '{\"cn\": \"5G实时PDU会话数\", \"en\": \"SMF.MeanPduSession\"}', '5G实时PDU会话数', '5G Real Time PDU Sessions', '1'); +INSERT INTO `kpi_title` VALUES (121, 'SMF', 'SMF.02', '{\"cn\": \"PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession\"}', 'PDU会话建立成功次数', 'PDU Session Create Successes', '1'); +INSERT INTO `kpi_title` VALUES (122, 'SMF', 'SMF.03', '{\"cn\": \"PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession\"}', 'PDU会话建立请求次数', 'PDU Session Create Requests', '1'); +INSERT INTO `kpi_title` VALUES (123, 'SMF', 'SMF.04', '{\"cn\": \"IMS PDU会话建立成功次数\", \"en\": \"SMF.SuccCreatePduSession._Ims\"}', 'IMS PDU会话建立成功次数', 'IMS PDU Session Create Successes', '1'); +INSERT INTO `kpi_title` VALUES (124, 'SMF', 'SMF.05', '{\"cn\": \"IMS PDU会话建立请求次数\", \"en\": \"SMF.AttCreatePduSession._Ims\"}', 'IMS PDU会话建立请求次数', 'IMS PDU Session Create Requests', '1'); -- INSERT INTO `kpi_title` VALUES (125, 'SMF', 'SMF.06', '{\"cn\": \"EPS-Fallback成功数\", \"en\": \"SMF.SuccSmfModifyBearerResponse.Epsfb\"}', 'EPS-Fallback成功数', 'SMF.SuccSmfModifyBearerResponse.Epsfb', '1'); -- INSERT INTO `kpi_title` VALUES (126, 'SMF', 'SMF.07', '{\"cn\": \"EPS-Fallback请求数\", \"en\": \"SMF.AttSmfModifyPduSession.Epsfb\"}', 'EPS-Fallback请求数', 'SMF.AttSmfModifyPduSession.Epsfb', '1'); -- INSERT INTO `kpi_title` VALUES (127, 'SMF', 'SMF.08', '{\"cn\": \"4G在线会话数\", \"en\": \"SM.MeanNbrBearerPgw.Default\"}', '4G在线会话数', 'SM.MeanNbrBearerPgw.Default', '1'); @@ -118,110 +118,109 @@ INSERT INTO `kpi_title` VALUES (124, 'SMF', 'SMF.05', '{\"cn\": \"IMS PDU会话 -- INSERT INTO `kpi_title` VALUES (131, 'SMF', 'SMF.12', '{\"cn\": \"PGW专用承载建立请求个数\", \"en\": \"SM.AttCreateDedicatedEpsBearer\"}', 'PGW专用承载建立请求个数', 'SM.AttCreateDedicatedEpsBearer', '1'); -- INSERT INTO `kpi_title` VALUES (132, 'SMF', 'SMF.13', '{\"cn\": \"IMS缺省承载成功建立个数\", \"en\": \"SM.SuccCreateDefaultEpsBearer._Ims\"}', 'IMS缺省承载成功建立个数', 'SM.SuccCreateDefaultEpsBearer._Ims', '1'); -- INSERT INTO `kpi_title` VALUES (133, 'SMF', 'SMF.14', '{\"cn\": \"IMS缺省承载请求建立个数\", \"en\": \"SM.AttCreateDefaultEpsBearer._Ims\"}', 'IMS缺省承载请求建立个数', 'SM.AttCreateDefaultEpsBearer._Ims', '1'); -INSERT INTO `kpi_title` VALUES (134, 'SMF', 'SMF.A.01', '{\"cn\":\"PDU会话接受次数\",\"en\":\"SMF.PduSessAcpt\"}', 'PDU会话接受次数', 'SMF.PduSessAcpt', '1'); -INSERT INTO `kpi_title` VALUES (135, 'SMF', 'SMF.A.02', '{\"cn\":\"基站Pdu资源创建成功次数\",\"en\":\"SM.PduResSetupSucc\"}', '基站Pdu资源创建成功次数', 'SM.PduResSetupSucc', '1'); -INSERT INTO `kpi_title` VALUES (136, 'SMF', 'SMF.A.03', '{\"cn\":\"查询用户SM数据失败次数\",\"en\":\"SM.RetrieveSmDataFail\"}', '查询用户SM数据失败次数', 'SM.RetrieveSmDataFail', '1'); -INSERT INTO `kpi_title` VALUES (137, 'SMF', 'SMF.A.04', '{\"cn\":\"PFCP会话建立失败次数\",\"en\":\"SM.PfcpSessEstFail\"}', 'PFCP会话建立失败次数', 'SM.PfcpSessEstFail', '1'); -INSERT INTO `kpi_title` VALUES (138, 'SMF', 'SMF.A.05', '{\"cn\":\"基站Pdu资源创建失败次数\",\"en\":\"SM.PduResSetupFail\"}', '基站Pdu资源创建失败次数', 'SM.PduResSetupFail', '1'); -INSERT INTO `kpi_title` VALUES (139, 'SMF', 'SMF.A.06', '{\"cn\":\"PFCP会话修改失败次数\",\"en\":\"SM.PfcpSessMdfyFail\"}', 'PFCP会话修改失败次数', 'SM.PfcpSessMdfyFail', '1'); -INSERT INTO `kpi_title` VALUES (140, 'SMF', 'SMF.A.07', '{\"cn\":\"PDU会话拒绝次数\",\"en\":\"SM.PduSessRejt\"}', 'PDU会话拒绝次数', 'SM.PduSessRejt', '1'); -INSERT INTO `kpi_title` VALUES (141, 'SMF', 'SMF.A.08', '{\"cn\":\"PDU会话释放指示次数\",\"en\":\"SM.PduSessRelCmd\"}', 'PDU会话释放指示次数', 'SM.PduSessRelCmd', '1'); +INSERT INTO `kpi_title` VALUES (134, 'SMF', 'SMF.A.01', '{\"cn\":\"PDU会话接受次数\",\"en\":\"SMF.PduSessAcpt\"}', 'PDU会话接受次数', 'PDU Session Accepts', '1'); +INSERT INTO `kpi_title` VALUES (135, 'SMF', 'SMF.A.02', '{\"cn\":\"基站Pdu资源创建成功次数\",\"en\":\"SM.PduResSetupSucc\"}', '基站Pdu资源创建成功次数', 'gNB PDU Resource Create Successes', '1'); +INSERT INTO `kpi_title` VALUES (136, 'SMF', 'SMF.A.03', '{\"cn\":\"查询用户SM数据失败次数\",\"en\":\"SM.RetrieveSmDataFail\"}', '查询用户SM数据失败次数', 'SM Data Query Failures', '1'); +INSERT INTO `kpi_title` VALUES (137, 'SMF', 'SMF.A.04', '{\"cn\":\"PFCP会话建立失败次数\",\"en\":\"SM.PfcpSessEstFail\"}', 'PFCP会话建立失败次数', 'PFCP Session Establish Failures', '1'); +INSERT INTO `kpi_title` VALUES (138, 'SMF', 'SMF.A.05', '{\"cn\":\"基站Pdu资源创建失败次数\",\"en\":\"SM.PduResSetupFail\"}', '基站Pdu资源创建失败次数', 'gNB PDU Resource Create Failures', '1'); +INSERT INTO `kpi_title` VALUES (139, 'SMF', 'SMF.A.06', '{\"cn\":\"PFCP会话修改失败次数\",\"en\":\"SM.PfcpSessMdfyFail\"}', 'PFCP会话修改失败次数', 'PFCP Session Modify Failures', '1'); +INSERT INTO `kpi_title` VALUES (140, 'SMF', 'SMF.A.07', '{\"cn\":\"PDU会话拒绝次数\",\"en\":\"SM.PduSessRejt\"}', 'PDU会话拒绝次数', 'PDU Session Rejects', '1'); +INSERT INTO `kpi_title` VALUES (141, 'SMF', 'SMF.A.08', '{\"cn\":\"PDU会话释放指示次数\",\"en\":\"SM.PduSessRelCmd\"}', 'PDU会话释放指示次数', 'PDU Session Release Indications', '1'); --- 更新NSSF 20250613 -INSERT INTO `kpi_title` VALUES (150, 'NSSF', 'NSSF.A.02', '{\"cn\":\"可用AMF注册次数\",\"en\":\"NSSF.SuccAvailAMFPut\"}', '可用AMF注册成功次数', 'NSSF.SuccAvailAMFPut', '1'); -INSERT INTO `kpi_title` VALUES (151, 'NSSF', 'NSSF.A.03', '{\"cn\":\"可用AMF注册更新成功次数\",\"en\":\"NSSF.AvailAMFPut\"}', '可用AMF注册次数', 'NSSF.AvailAMFPut', '1'); -INSERT INTO `kpi_title` VALUES (152, 'NSSF', 'NSSF.A.04', '{\"cn\":\"可用AMF注册更新次数\",\"en\":\"NSSF.SuccAvailAMFPatch\"}', '可用AMF注册更新成功次数', 'NSSF.SuccAvailAMFPatch', '1'); -INSERT INTO `kpi_title` VALUES (153, 'NSSF', 'NSSF.A.01', '{\"cn\":\"可用AMF注册成功次数\",\"en\":\"NSSF.AvailAMFPatch\"}', '可用AMF注册更新次数', 'NSSF.AvailAMFPatch', '1'); -INSERT INTO `kpi_title` VALUES (154, 'NSSF', 'NSSF.A.05', '{\"cn\":\"可用AMF去注册成功次数\",\"en\":\"NSSF.SuccAvailAMFDelete\"}', '可用AMF去注册成功次数', 'NSSF.SuccAvailAMFDelete', '1'); -INSERT INTO `kpi_title` VALUES (155, 'NSSF', 'NSSF.A.06', '{\"cn\":\"可用AMF去注册次数\",\"en\":\"NSSF.AvailAMFDelete\"}', '可用AMF去注册次数', 'NSSF.AvailAMFDelete', '1'); -INSERT INTO `kpi_title` VALUES (156, 'NSSF', 'NSSF.A.07', '{\"cn\":\"网元订阅成功次数\",\"en\":\"NSSF.SuccAvailSubscription\"}', '网元订阅成功次数', 'NSSF.SuccAvailSubscription', '1'); -INSERT INTO `kpi_title` VALUES (157, 'NSSF', 'NSSF.A.08', '{\"cn\":\"网元订阅次数\",\"en\":\"NSSF.AvailSubscription\"}', '网元订阅次数', 'NSSF.AvailSubscription', '1'); -INSERT INTO `kpi_title` VALUES (158, 'NSSF', 'NSSF.A.09', '{\"cn\":\"网元去订阅成功次数\",\"en\":\"NSSF.SuccAvailUnsubscription\"}', '网元去订阅成功次数', 'NSSF.SuccAvailUnsubscription', '1'); -INSERT INTO `kpi_title` VALUES (159, 'NSSF', 'NSSF.A.10', '{\"cn\":\"网元去订阅次数\",\"en\":\"NSSF.AvailUnsubscription\"}', '网元去订阅次数', 'NSSF.AvailUnsubscription', '1'); -INSERT INTO `kpi_title` VALUES (160, 'NSSF', 'NSSF.A.11', '{\"cn\":\"向NRF注册成功次数\",\"en\":\"NSSF.SuccNRFReg\"}', '向NRF注册成功次数', 'NSSF.SuccNRFReg', '1'); -INSERT INTO `kpi_title` VALUES (161, 'NSSF', 'NSSF.A.12', '{\"cn\":\"向NRF注册次数\",\"en\":\"NSSF.NRFReg\"}', '向NRF注册次数', 'NSSF.NRFReg', '1'); -INSERT INTO `kpi_title` VALUES (162, 'NSSF', 'NSSF.A.13', '{\"cn\":\"向NRF发送心跳次数\",\"en\":\"NSSF.NRFHeartbeat\"}', '向NRF发送心跳次数', 'NSSF.NRFHeartbeat', '1'); -INSERT INTO `kpi_title` VALUES (163, 'NSSF', 'NSSF.A.14', '{\"cn\":\"当前注册AMF个数\",\"en\":\"NSSF.CurrentAMFCount\"}', '当前注册AMF个数', 'NSSF.CurrentAMFCount', '1'); -INSERT INTO `kpi_title` VALUES (164, 'NSSF', 'NSSF.A.15', '{\"cn\":\"当前订阅网元个数\",\"en\":\"NSSF.CurrentSubscriperCount\"}', '当前订阅网元个数', 'NSSF.CurrentSubscriperCount', '1'); +-- 更新NSSF 20250917 +INSERT INTO `kpi_title` VALUES (150, 'NSSF', 'NSSF.A.02', '{\"cn\":\"可用AMF注册次数\",\"en\":\"NSSF.SuccAvailAMFPut\"}', '可用AMF注册成功次数', 'Available AMF Reg Successes', '1'); +INSERT INTO `kpi_title` VALUES (151, 'NSSF', 'NSSF.A.03', '{\"cn\":\"可用AMF注册更新成功次数\",\"en\":\"NSSF.AvailAMFPut\"}', '可用AMF注册次数', 'Available AMF Update Successes', '1'); +INSERT INTO `kpi_title` VALUES (152, 'NSSF', 'NSSF.A.04', '{\"cn\":\"可用AMF注册更新次数\",\"en\":\"NSSF.SuccAvailAMFPatch\"}', '可用AMF注册更新成功次数', 'Available AMF Update Attempts', '1'); +INSERT INTO `kpi_title` VALUES (153, 'NSSF', 'NSSF.A.01', '{\"cn\":\"可用AMF注册成功次数\",\"en\":\"NSSF.AvailAMFPatch\"}', '可用AMF注册更新次数', 'Available AMF Reg Successes', '1'); +INSERT INTO `kpi_title` VALUES (154, 'NSSF', 'NSSF.A.05', '{\"cn\":\"可用AMF去注册成功次数\",\"en\":\"NSSF.SuccAvailAMFDelete\"}', '可用AMF去注册成功次数', 'Available AMF Dereg Successes', '1'); +INSERT INTO `kpi_title` VALUES (155, 'NSSF', 'NSSF.A.06', '{\"cn\":\"可用AMF去注册次数\",\"en\":\"NSSF.AvailAMFDelete\"}', '可用AMF去注册次数', 'Available AMF Dereg Attempts', '1'); +INSERT INTO `kpi_title` VALUES (156, 'NSSF', 'NSSF.A.07', '{\"cn\":\"网元订阅成功次数\",\"en\":\"NSSF.SuccAvailSubscription\"}', '网元订阅成功次数', 'NF Subscription Successes', '1'); +INSERT INTO `kpi_title` VALUES (157, 'NSSF', 'NSSF.A.08', '{\"cn\":\"网元订阅次数\",\"en\":\"NSSF.AvailSubscription\"}', '网元订阅次数', 'NF Subscription Attempts', '1'); +INSERT INTO `kpi_title` VALUES (158, 'NSSF', 'NSSF.A.09', '{\"cn\":\"网元去订阅成功次数\",\"en\":\"NSSF.SuccAvailUnsubscription\"}', '网元去订阅成功次数', 'NF Unsubscribe Successes', '1'); +INSERT INTO `kpi_title` VALUES (159, 'NSSF', 'NSSF.A.10', '{\"cn\":\"网元去订阅次数\",\"en\":\"NSSF.AvailUnsubscription\"}', '网元去订阅次数', 'NF Unsubscribe Attempts', '1'); +INSERT INTO `kpi_title` VALUES (160, 'NSSF', 'NSSF.A.11', '{\"cn\":\"向NRF注册成功次数\",\"en\":\"NSSF.SuccNRFReg\"}', '向NRF注册成功次数', 'NRF Register Successes', '1'); +INSERT INTO `kpi_title` VALUES (161, 'NSSF', 'NSSF.A.12', '{\"cn\":\"向NRF注册次数\",\"en\":\"NSSF.NRFReg\"}', '向NRF注册次数', 'NRF Register Attempts', '1'); +INSERT INTO `kpi_title` VALUES (162, 'NSSF', 'NSSF.A.13', '{\"cn\":\"向NRF发送心跳次数\",\"en\":\"NSSF.NRFHeartbeat\"}', '向NRF发送心跳次数', 'NRF Heartbeats', '1'); +INSERT INTO `kpi_title` VALUES (163, 'NSSF', 'NSSF.A.14', '{\"cn\":\"当前注册AMF个数\",\"en\":\"NSSF.CurrentAMFCount\"}', '当前注册AMF个数', 'Current AMF Count', '1'); +INSERT INTO `kpi_title` VALUES (164, 'NSSF', 'NSSF.A.15', '{\"cn\":\"当前订阅网元个数\",\"en\":\"NSSF.CurrentSubscriperCount\"}', '当前订阅网元个数', 'Current NF Subscriber Count', '1'); --- 更新MME 20250626 -INSERT INTO `kpi_title` VALUES (180, 'MME', 'MME.A.01', '{\"cn\":\"MME附着请求次数\",\"en\":\"EpsAttachAtt\"}', 'MME附着请求次数', 'EpsAttachAtt', '1'); -INSERT INTO `kpi_title` VALUES (181, 'MME', 'MME.A.02', '{\"cn\":\"MME附着成功次数\",\"en\":\"EpsAttachSucc\"}', 'MME附着成功次数', 'EpsAttachSucc', '1'); --- INSERT INTO `kpi_title` VALUES (182, 'MME', 'MME.A.03', '{\"cn\":\"MME附着失败次数\",\"en\":\"EpsAttachFail\"}', 'MME附着失败次数', 'EpsAttachFail', '1'); -INSERT INTO `kpi_title` VALUES (183, 'MME', 'MME.A.04', '{\"cn\":\"MME组合附着请求次数\",\"en\":\"CombAttachAtt\"}', 'MME组合附着请求次数', 'CombAttachAtt', '1'); -INSERT INTO `kpi_title` VALUES (184, 'MME', 'MME.A.05', '{\"cn\":\"MME组合附着成功次数\",\"en\":\"CombAttachSucc\"}', 'MME组合附着成功次数', 'CombAttachSucc', '1'); +-- 更新MME 20250917 +INSERT INTO `kpi_title` VALUES (180, 'MME', 'MME.A.01', '{\"cn\":\"MME附着请求次数\",\"en\":\"EpsAttachAtt\"}', 'MME附着请求次数', 'MME Attach Requests', '1'); +INSERT INTO `kpi_title` VALUES (181, 'MME', 'MME.A.02', '{\"cn\":\"MME附着成功次数\",\"en\":\"EpsAttachSucc\"}', 'MME附着成功次数', 'MME Attach Successes', '1'); +INSERT INTO `kpi_title` VALUES (183, 'MME', 'MME.A.04', '{\"cn\":\"MME组合附着请求次数\",\"en\":\"CombAttachAtt\"}', 'MME组合附着请求次数', 'MME Combined Attach Requests', '1'); +INSERT INTO `kpi_title` VALUES (184, 'MME', 'MME.A.05', '{\"cn\":\"MME组合附着成功次数\",\"en\":\"CombAttachSucc\"}', 'MME组合附着成功次数', 'MME Combined Attach Successes', '1'); -- INSERT INTO `kpi_title` VALUES (185, 'MME', 'MME.A.06', '{\"cn\":\"MME组合附着失败次数\",\"en\":\"CombAttachFail\"}', 'MME组合附着失败次数', 'CombAttachFail', '1'); -INSERT INTO `kpi_title` VALUES (186, 'MME', 'MME.A.07', '{\"cn\":\"MME紧急附着请求次数\",\"en\":\"EmergAttachAtt\"}', 'MME紧急附着请求次数', 'EmergAttachAtt', '1'); -INSERT INTO `kpi_title` VALUES (187, 'MME', 'MME.A.08', '{\"cn\":\"MME紧急附着成功次数\",\"en\":\"EmergAttachSucc\"}', 'MME紧急附着成功次数', 'EmergAttachSucc', '1'); +INSERT INTO `kpi_title` VALUES (186, 'MME', 'MME.A.07', '{\"cn\":\"MME紧急附着请求次数\",\"en\":\"EmergAttachAtt\"}', 'MME紧急附着请求次数', 'MME Emergency Attach Requests', '1'); +INSERT INTO `kpi_title` VALUES (187, 'MME', 'MME.A.08', '{\"cn\":\"MME紧急附着成功次数\",\"en\":\"EmergAttachSucc\"}', 'MME紧急附着成功次数', 'MME Emergency Attach Successes', '1'); -- INSERT INTO `kpi_title` VALUES (188, 'MME', 'MME.A.09', '{\"cn\":\"MME紧急附着失败次数\",\"en\":\"EmergAttachFail\"}', 'MME紧急附着失败次数', 'EmergAttachFail', '1'); -INSERT INTO `kpi_title` VALUES (189, 'MME', 'MME.A.10', '{\"cn\":\"UE发起的分离请求次数\",\"en\":\"EpsDetachUeAtt\"}', 'UE发起的分离请求次数', 'EpsDetachUeAtt', '1'); -INSERT INTO `kpi_title` VALUES (190, 'MME', 'MME.A.11', '{\"cn\":\"UE发起的分离请求成功次数\",\"en\":\"EpsDetachUeSucc\"}', 'UE发起的分离请求成功次数', 'EpsDetachUeSucc', '1'); -INSERT INTO `kpi_title` VALUES (191, 'MME', 'MME.A.12', '{\"cn\":\"MME发起的分离请求次数\",\"en\":\"EpsDetachMMEAtt\"}', 'MME发起的分离请求次数', 'EpsDetachMMEAtt', '1'); -INSERT INTO `kpi_title` VALUES (192, 'MME', 'MME.A.13', '{\"cn\":\"MME发起的分离请求成功次数\",\"en\":\"EpsDetachMMESucc\"}', 'MME发起的分离请求成功次数', 'EpsDetachMMESucc', '1'); +INSERT INTO `kpi_title` VALUES (189, 'MME', 'MME.A.10', '{\"cn\":\"UE发起的分离请求次数\",\"en\":\"EpsDetachUeAtt\"}', 'UE发起的分离请求次数', 'UE Initiated Detach Requests', '1'); +INSERT INTO `kpi_title` VALUES (190, 'MME', 'MME.A.11', '{\"cn\":\"UE发起的分离请求成功次数\",\"en\":\"EpsDetachUeSucc\"}', 'UE发起的分离请求成功次数', 'UE Initiated Detach Successes', '1'); +INSERT INTO `kpi_title` VALUES (191, 'MME', 'MME.A.12', '{\"cn\":\"MME发起的分离请求次数\",\"en\":\"EpsDetachMMEAtt\"}', 'MME发起的分离请求次数', 'MME Initiated Detach Requests', '1'); +INSERT INTO `kpi_title` VALUES (192, 'MME', 'MME.A.13', '{\"cn\":\"MME发起的分离请求成功次数\",\"en\":\"EpsDetachMMESucc\"}', 'MME发起的分离请求成功次数', 'MME Initiated Detach Successes', '1'); -- INSERT INTO `kpi_title` VALUES (193, 'MME', 'MME.A.14', '{\"cn\":\"伴随SGW内切换的TAU请求次数\",\"en\":\"TauIntraSgwAtt\"}', '伴随SGW内切换的TAU请求次数', 'TauIntraSgwAtt', '1'); -- INSERT INTO `kpi_title` VALUES (194, 'MME', 'MME.A.15', '{\"cn\":\"伴随SGW内切换的TAU成功请求次数\",\"en\":\"TauIntraSgwSucc\"}', '伴随SGW内切换的TAU成功请求次数', 'TauIntraSgwSucc', '1'); -- INSERT INTO `kpi_title` VALUES (195, 'MME', 'MME.A.16', '{\"cn\":\"伴随SGW内切换的TAU失败请求次数\",\"en\":\"TauIntraSgwFail\"}', '伴随SGW内切换的TAU失败请求次数', 'TauIntraSgwFail', '1'); -INSERT INTO `kpi_title` VALUES (196, 'MME', 'MME.A.17', '{\"cn\":\"MME寻呼次数\",\"en\":\"PagingEpsAtt\"}', 'MME寻呼次数', 'PagingEpsAtt', '1'); -INSERT INTO `kpi_title` VALUES (197, 'MME', 'MME.A.18', '{\"cn\":\"MME寻呼成功次数\",\"en\":\"PagingEpsSucc\"}', 'MME寻呼成功次数', 'PagingEpsSucc', '1'); +INSERT INTO `kpi_title` VALUES (196, 'MME', 'MME.A.17', '{\"cn\":\"MME寻呼次数\",\"en\":\"PagingEpsAtt\"}', 'MME寻呼次数', 'MME Paging Attempts', '1'); +INSERT INTO `kpi_title` VALUES (197, 'MME', 'MME.A.18', '{\"cn\":\"MME寻呼成功次数\",\"en\":\"PagingEpsSucc\"}', 'MME寻呼成功次数', 'MME Paging Successes', '1'); -- INSERT INTO `kpi_title` VALUES (198, 'MME', 'MME.A.19', '{\"cn\":\"MME寻呼失败次数\",\"en\":\"PagingEpsFail\"}', 'MME寻呼失败次数', 'PagingEpsFail', '1'); -INSERT INTO `kpi_title` VALUES (199, 'MME', 'MME.A.20', '{\"cn\":\"MME隐式分离请求次数\",\"en\":\"EpsImplicitDetach\"}', 'MME隐式分离请求次数', 'EpsImplicitDetach', '1'); -INSERT INTO `kpi_title` VALUES (200, 'MME', 'MME.A.21', '{\"cn\":\"MME激活专用承载请求次数\",\"en\":\"ActDedicatedEpsBearerAtt\"}', 'MME激活专用承载请求次数', 'ActDedicatedEpsBearerAtt', '1'); -INSERT INTO `kpi_title` VALUES (201, 'MME', 'MME.A.22', '{\"cn\":\"MME激活专用承载请求成功次数\",\"en\":\"ActDedicatedEpsBearerSucc\"}', 'MME激活专用承载请求成功次数', 'ActDedicatedEpsBearerSucc', '1'); +INSERT INTO `kpi_title` VALUES (199, 'MME', 'MME.A.20', '{\"cn\":\"MME隐式分离请求次数\",\"en\":\"EpsImplicitDetach\"}', 'MME隐式分离请求次数', 'MME Implicit Detach Count', '1'); +INSERT INTO `kpi_title` VALUES (200, 'MME', 'MME.A.21', '{\"cn\":\"MME激活专用承载请求次数\",\"en\":\"ActDedicatedEpsBearerAtt\"}', 'MME激活专用承载请求次数', 'Dedicated Bearer Activate Requests', '1'); +INSERT INTO `kpi_title` VALUES (201, 'MME', 'MME.A.22', '{\"cn\":\"MME激活专用承载请求成功次数\",\"en\":\"ActDedicatedEpsBearerSucc\"}', 'MME激活专用承载请求成功次数', 'Dedicated Bearer Activate Successes', '1'); -- INSERT INTO `kpi_title` VALUES (202, 'MME', 'MME.A.23', '{\"cn\":\"MME激活专用承载请求失败次数\",\"en\":\"ActDedicatedEpsBearerFail\"}', 'MME激活专用承载请求失败次数', 'ActDedicatedEpsBearerFail', '1'); -INSERT INTO `kpi_title` VALUES (203, 'MME', 'MME.A.24', '{\"cn\":\"MME去激活专用承载请求次数\",\"en\":\"DeactEpsDedicatedBearerAtt\"}', 'MME去激活专用承载请求次数', 'DeactEpsDedicatedBearerAtt', '1'); -INSERT INTO `kpi_title` VALUES (204, 'MME', 'MME.A.25', '{\"cn\":\"MME去激活专用承载请求成功次数\",\"en\":\"DeactEpsDedicatedBearerSucc\"}', 'MME去激活专用承载请求成功次数', 'DeactEpsDedicatedBearerSucc', '1'); -INSERT INTO `kpi_title` VALUES (205, 'MME', 'MME.A.26', '{\"cn\":\"MME修改专用承载请求次数\",\"en\":\"ModEpsBearerAtt\"}', 'MME修改专用承载请求次数', 'ModEpsBearerAtt', '1'); -INSERT INTO `kpi_title` VALUES (206, 'MME', 'MME.A.27', '{\"cn\":\"MME修改专用承载请求成功次数\",\"en\":\"ModEpsBearerSucc\"}', 'MME修改专用承载请求成功次数', 'ModEpsBearerSucc', '1'); +INSERT INTO `kpi_title` VALUES (203, 'MME', 'MME.A.24', '{\"cn\":\"MME去激活专用承载请求次数\",\"en\":\"DeactEpsDedicatedBearerAtt\"}', 'MME去激活专用承载请求次数', 'Dedicated Bearer Deactivate Requests', '1'); +INSERT INTO `kpi_title` VALUES (204, 'MME', 'MME.A.25', '{\"cn\":\"MME去激活专用承载请求成功次数\",\"en\":\"DeactEpsDedicatedBearerSucc\"}', 'MME去激活专用承载请求成功次数', 'Dedicated Bearer Deactivate Successes', '1'); +INSERT INTO `kpi_title` VALUES (205, 'MME', 'MME.A.26', '{\"cn\":\"MME修改专用承载请求次数\",\"en\":\"ModEpsBearerAtt\"}', 'MME修改专用承载请求次数', 'Dedicated Bearer Modify Requests', '1'); +INSERT INTO `kpi_title` VALUES (206, 'MME', 'MME.A.27', '{\"cn\":\"MME修改专用承载请求成功次数\",\"en\":\"ModEpsBearerSucc\"}', 'MME修改专用承载请求成功次数', 'Dedicated Bearer Modify Successes', '1'); -- INSERT INTO `kpi_title` VALUES (207, 'MME', 'MME.A.28', '{\"cn\":\"MME修改专用承载请求失败次数\",\"en\":\"ModEpsBearerFail\"}', 'MME修改专用承载请求失败次数', 'ModEpsBearerFail', '1'); -INSERT INTO `kpi_title` VALUES (208, 'MME', 'MME.A.29', '{\"cn\":\"MME服务请求次数\",\"en\":\"EpsServiceReqAtt\"}', 'MME服务请求次数', 'EpsServiceReqAtt', '1'); -INSERT INTO `kpi_title` VALUES (209, 'MME', 'MME.A.30', '{\"cn\":\"MME服务请求成功次数\",\"en\":\"EpsServiceReqSucc\"}', 'MME服务请求成功次数', 'EpsServiceReqSucc', '1'); +INSERT INTO `kpi_title` VALUES (208, 'MME', 'MME.A.29', '{\"cn\":\"MME服务请求次数\",\"en\":\"EpsServiceReqAtt\"}', 'MME服务请求次数', 'MME Service Requests', '1'); +INSERT INTO `kpi_title` VALUES (209, 'MME', 'MME.A.30', '{\"cn\":\"MME服务请求成功次数\",\"en\":\"EpsServiceReqSucc\"}', 'MME服务请求成功次数', 'MME Service Successes', '1'); -- INSERT INTO `kpi_title` VALUES (210, 'MME', 'MME.A.31', '{\"cn\":\"MME服务请求失败次数\",\"en\":\"EpsServiceReqFail\"}', 'MME服务请求失败次数', 'EpsServiceReqFail', '1'); --- 更新MOCNGW 20250613 -INSERT INTO `kpi_title` VALUES (240, 'MOCNGW', 'MOCNGW.01', '{\"cn\":\"AttachRequest\",\"en\":\"AttachRequest\"}', 'AttachRequest', 'AttachRequest', '1'); -INSERT INTO `kpi_title` VALUES (241, 'MOCNGW', 'MOCNGW.02', '{\"cn\":\"AttachAccept\",\"en\":\"AttachAccept\"}', 'AttachAccept', 'AttachAccept', '1'); -INSERT INTO `kpi_title` VALUES (242, 'MOCNGW', 'MOCNGW.03', '{\"cn\":\"AttachComplete\",\"en\":\"AttachComplete\"}', 'AttachComplete', 'AttachComplete', '1'); -INSERT INTO `kpi_title` VALUES (243, 'MOCNGW', 'MOCNGW.04', '{\"cn\":\"AttachReject\",\"en\":\"AttachReject\"}', 'AttachReject', 'AttachReject', '1'); -INSERT INTO `kpi_title` VALUES (244, 'MOCNGW', 'MOCNGW.05', '{\"cn\":\"DetachRequest\",\"en\":\"DetachRequest\"}', 'DetachRequest', 'DetachRequest', '1'); -INSERT INTO `kpi_title` VALUES (245, 'MOCNGW', 'MOCNGW.06', '{\"cn\":\"DetachAccept\",\"en\":\"DetachAccept\"}', 'DetachAccept', 'DetachAccept', '1'); -INSERT INTO `kpi_title` VALUES (246, 'MOCNGW', 'MOCNGW.07', '{\"cn\":\"TrackingAreaUpdateRequest\",\"en\":\"TrackingAreaUpdateRequest\"}', 'TrackingAreaUpdateRequest', 'TrackingAreaUpdateRequest', '1'); -INSERT INTO `kpi_title` VALUES (247, 'MOCNGW', 'MOCNGW.08', '{\"cn\":\"TrackingAreaUpdateAccept\",\"en\":\"TrackingAreaUpdateAccept\"}', 'TrackingAreaUpdateAccept', 'TrackingAreaUpdateAccept', '1'); -INSERT INTO `kpi_title` VALUES (248, 'MOCNGW', 'MOCNGW.09', '{\"cn\":\"TrackingAreaUpdateComplete\",\"en\":\"TrackingAreaUpdateComplete\"}', 'TrackingAreaUpdateComplete', 'TrackingAreaUpdateComplete', '1'); -INSERT INTO `kpi_title` VALUES (249, 'MOCNGW', 'MOCNGW.10', '{\"cn\":\"TrackingAreaUpdateReject\",\"en\":\"TrackingAreaUpdateReject\"}', 'TrackingAreaUpdateReject', 'TrackingAreaUpdateReject', '1'); -INSERT INTO `kpi_title` VALUES (250, 'MOCNGW', 'MOCNGW.11', '{\"cn\":\"ServiceRequest\",\"en\":\"ServiceRequest\"}', 'ServiceRequest', 'ServiceRequest', '1'); -INSERT INTO `kpi_title` VALUES (251, 'MOCNGW', 'MOCNGW.12', '{\"cn\":\"ExtendedServiceRequest\",\"en\":\"ExtendedServiceRequest\"}', 'ExtendedServiceRequest', 'ExtendedServiceRequest', '1'); -INSERT INTO `kpi_title` VALUES (252, 'MOCNGW', 'MOCNGW.13', '{\"cn\":\"ControlPlaneServiceRequest\",\"en\":\"ControlPlaneServiceRequest\"}', 'ControlPlaneServiceRequest', 'ControlPlaneServiceRequest', '1'); -INSERT INTO `kpi_title` VALUES (253, 'MOCNGW', 'MOCNGW.14', '{\"cn\":\"ServiceReject\",\"en\":\"ServiceReject\"}', 'ServiceReject', 'ServiceReject', '1'); -INSERT INTO `kpi_title` VALUES (254, 'MOCNGW', 'MOCNGW.15', '{\"cn\":\"ServiceAccept\",\"en\":\"ServiceAccept\"}', 'ServiceAccept', 'ServiceAccept', '1'); -INSERT INTO `kpi_title` VALUES (255, 'MOCNGW', 'MOCNGW.16', '{\"cn\":\"GutiReallocationCommand\",\"en\":\"GutiReallocationCommand\"}', 'GutiReallocationCommand', 'GutiReallocationCommand', '1'); -INSERT INTO `kpi_title` VALUES (256, 'MOCNGW', 'MOCNGW.17', '{\"cn\":\"GutiReallocationComplete\",\"en\":\"GutiReallocationComplete\"}', 'GutiReallocationComplete', 'GutiReallocationComplete', '1'); -INSERT INTO `kpi_title` VALUES (257, 'MOCNGW', 'MOCNGW.18', '{\"cn\":\"AuthenticationRequest\",\"en\":\"AuthenticationRequest\"}', 'AuthenticationRequest', 'AuthenticationRequest', '1'); -INSERT INTO `kpi_title` VALUES (258, 'MOCNGW', 'MOCNGW.19', '{\"cn\":\"AuthenticationResponse\",\"en\":\"AuthenticationResponse\"}', 'AuthenticationResponse', 'AuthenticationResponse', '1'); -INSERT INTO `kpi_title` VALUES (259, 'MOCNGW', 'MOCNGW.20', '{\"cn\":\"AuthenticationReject\",\"en\":\"AuthenticationReject\"}', 'AuthenticationReject', 'AuthenticationReject', '1'); -INSERT INTO `kpi_title` VALUES (260, 'MOCNGW', 'MOCNGW.21', '{\"cn\":\"AuthenticationFailure\",\"en\":\"AuthenticationFailure\"}', 'AuthenticationFailure', 'AuthenticationFailure', '1'); -INSERT INTO `kpi_title` VALUES (261, 'MOCNGW', 'MOCNGW.22', '{\"cn\":\"IdentityRequest\",\"en\":\"IdentityRequest\"}', 'IdentityRequest', 'IdentityRequest', '1'); -INSERT INTO `kpi_title` VALUES (262, 'MOCNGW', 'MOCNGW.23', '{\"cn\":\"IdentityResponse\",\"en\":\"IdentityResponse\"}', 'IdentityResponse', 'IdentityResponse', '1'); -INSERT INTO `kpi_title` VALUES (263, 'MOCNGW', 'MOCNGW.24', '{\"cn\":\"SecurityModeCommand\",\"en\":\"SecurityModeCommand\"}', 'SecurityModeCommand', 'SecurityModeCommand', '1'); -INSERT INTO `kpi_title` VALUES (264, 'MOCNGW', 'MOCNGW.25', '{\"cn\":\"SecurityModeComplete\",\"en\":\"SecurityModeComplete\"}', 'SecurityModeComplete', 'SecurityModeComplete', '1'); -INSERT INTO `kpi_title` VALUES (265, 'MOCNGW', 'MOCNGW.26', '{\"cn\":\"SecurityModeReject\",\"en\":\"SecurityModeReject\"}', 'SecurityModeReject', 'SecurityModeReject', '1'); -INSERT INTO `kpi_title` VALUES (266, 'MOCNGW', 'MOCNGW.27', '{\"cn\":\"EmmStatus\",\"en\":\"EmmStatus\"}', 'EmmStatus', 'EmmStatus', '1'); -INSERT INTO `kpi_title` VALUES (267, 'MOCNGW', 'MOCNGW.28', '{\"cn\":\"EmmInformation\",\"en\":\"EmmInformation\"}', 'EmmInformation', 'EmmInformation', '1'); -INSERT INTO `kpi_title` VALUES (268, 'MOCNGW', 'MOCNGW.29', '{\"cn\":\"DownlinkNasTransport\",\"en\":\"DownlinkNasTransport\"}', 'DownlinkNasTransport', 'DownlinkNasTransport', '1'); -INSERT INTO `kpi_title` VALUES (269, 'MOCNGW', 'MOCNGW.30', '{\"cn\":\"UplinkNasTransport\",\"en\":\"UplinkNasTransport\"}', 'UplinkNasTransport', 'UplinkNasTransport', '1'); -INSERT INTO `kpi_title` VALUES (270, 'MOCNGW', 'MOCNGW.31', '{\"cn\":\"CsServiceNotification\",\"en\":\"CsServiceNotification\"}', 'CsServiceNotification', 'CsServiceNotification', '1'); -INSERT INTO `kpi_title` VALUES (271, 'MOCNGW', 'MOCNGW.32', '{\"cn\":\"DownlinkGenericNasTransport\",\"en\":\"DownlinkGenericNasTransport\"}', 'DownlinkGenericNasTransport', 'DownlinkGenericNasTransport', '1'); -INSERT INTO `kpi_title` VALUES (272, 'MOCNGW', 'MOCNGW.33', '{\"cn\":\"UplinkGenericNasTransport\",\"en\":\"UplinkGenericNasTransport\"}', 'UplinkGenericNasTransport', 'UplinkGenericNasTransport', '1'); +-- 更新MOCNGW 20250917 +INSERT INTO `kpi_title` VALUES (240, 'MOCNGW', 'MOCNGW.01', '{\"cn\":\"AttachRequest\",\"en\":\"AttachRequest\"}', 'AttachRequest', 'Attach Request', '1'); +INSERT INTO `kpi_title` VALUES (241, 'MOCNGW', 'MOCNGW.02', '{\"cn\":\"AttachAccept\",\"en\":\"AttachAccept\"}', 'AttachAccept', 'Attach Accept', '1'); +INSERT INTO `kpi_title` VALUES (242, 'MOCNGW', 'MOCNGW.03', '{\"cn\":\"AttachComplete\",\"en\":\"AttachComplete\"}', 'AttachComplete', 'Attach Complete', '1'); +INSERT INTO `kpi_title` VALUES (243, 'MOCNGW', 'MOCNGW.04', '{\"cn\":\"AttachReject\",\"en\":\"AttachReject\"}', 'AttachReject', 'Attach Reject', '1'); +INSERT INTO `kpi_title` VALUES (244, 'MOCNGW', 'MOCNGW.05', '{\"cn\":\"DetachRequest\",\"en\":\"DetachRequest\"}', 'DetachRequest', 'Detach Request', '1'); +INSERT INTO `kpi_title` VALUES (245, 'MOCNGW', 'MOCNGW.06', '{\"cn\":\"DetachAccept\",\"en\":\"DetachAccept\"}', 'DetachAccept', 'Detach Accept', '1'); +INSERT INTO `kpi_title` VALUES (246, 'MOCNGW', 'MOCNGW.07', '{\"cn\":\"TrackingAreaUpdateRequest\",\"en\":\"TrackingAreaUpdateRequest\"}', 'TrackingAreaUpdateRequest', 'Tracking Area Update Request', '1'); +INSERT INTO `kpi_title` VALUES (247, 'MOCNGW', 'MOCNGW.08', '{\"cn\":\"TrackingAreaUpdateAccept\",\"en\":\"TrackingAreaUpdateAccept\"}', 'TrackingAreaUpdateAccept', 'Tracking Area Update Accept', '1'); +INSERT INTO `kpi_title` VALUES (248, 'MOCNGW', 'MOCNGW.09', '{\"cn\":\"TrackingAreaUpdateComplete\",\"en\":\"TrackingAreaUpdateComplete\"}', 'TrackingAreaUpdateComplete', 'Tracking Area Update Complete', '1'); +INSERT INTO `kpi_title` VALUES (249, 'MOCNGW', 'MOCNGW.10', '{\"cn\":\"TrackingAreaUpdateReject\",\"en\":\"TrackingAreaUpdateReject\"}', 'TrackingAreaUpdateReject', 'Tracking Area Update Reject', '1'); +INSERT INTO `kpi_title` VALUES (250, 'MOCNGW', 'MOCNGW.11', '{\"cn\":\"ServiceRequest\",\"en\":\"ServiceRequest\"}', 'ServiceRequest', 'Service Request', '1'); +INSERT INTO `kpi_title` VALUES (251, 'MOCNGW', 'MOCNGW.12', '{\"cn\":\"ExtendedServiceRequest\",\"en\":\"ExtendedServiceRequest\"}', 'ExtendedServiceRequest', 'Extended Service Request', '1'); +INSERT INTO `kpi_title` VALUES (252, 'MOCNGW', 'MOCNGW.13', '{\"cn\":\"ControlPlaneServiceRequest\",\"en\":\"ControlPlaneServiceRequest\"}', 'ControlPlaneServiceRequest', 'Control Plane Service Request', '1'); +INSERT INTO `kpi_title` VALUES (253, 'MOCNGW', 'MOCNGW.14', '{\"cn\":\"ServiceReject\",\"en\":\"ServiceReject\"}', 'ServiceReject', 'Service Reject', '1'); +INSERT INTO `kpi_title` VALUES (254, 'MOCNGW', 'MOCNGW.15', '{\"cn\":\"ServiceAccept\",\"en\":\"ServiceAccept\"}', 'ServiceAccept', 'Service Accept', '1'); +INSERT INTO `kpi_title` VALUES (255, 'MOCNGW', 'MOCNGW.16', '{\"cn\":\"GutiReallocationCommand\",\"en\":\"GutiReallocationCommand\"}', 'GutiReallocationCommand', 'GUTI Reallocation Command', '1'); +INSERT INTO `kpi_title` VALUES (256, 'MOCNGW', 'MOCNGW.17', '{\"cn\":\"GutiReallocationComplete\",\"en\":\"GutiReallocationComplete\"}', 'GutiReallocationComplete', 'GUTI Reallocation Complete', '1'); +INSERT INTO `kpi_title` VALUES (257, 'MOCNGW', 'MOCNGW.18', '{\"cn\":\"AuthenticationRequest\",\"en\":\"AuthenticationRequest\"}', 'AuthenticationRequest', 'Authentication Request', '1'); +INSERT INTO `kpi_title` VALUES (258, 'MOCNGW', 'MOCNGW.19', '{\"cn\":\"AuthenticationResponse\",\"en\":\"AuthenticationResponse\"}', 'AuthenticationResponse', 'Authentication Response', '1'); +INSERT INTO `kpi_title` VALUES (259, 'MOCNGW', 'MOCNGW.20', '{\"cn\":\"AuthenticationReject\",\"en\":\"AuthenticationReject\"}', 'AuthenticationReject', 'Authentication Reject', '1'); +INSERT INTO `kpi_title` VALUES (260, 'MOCNGW', 'MOCNGW.21', '{\"cn\":\"AuthenticationFailure\",\"en\":\"AuthenticationFailure\"}', 'AuthenticationFailure', 'Authentication Failure', '1'); +INSERT INTO `kpi_title` VALUES (261, 'MOCNGW', 'MOCNGW.22', '{\"cn\":\"IdentityRequest\",\"en\":\"IdentityRequest\"}', 'IdentityRequest', 'Identity Request', '1'); +INSERT INTO `kpi_title` VALUES (262, 'MOCNGW', 'MOCNGW.23', '{\"cn\":\"IdentityResponse\",\"en\":\"IdentityResponse\"}', 'IdentityResponse', 'Identity Response', '1'); +INSERT INTO `kpi_title` VALUES (263, 'MOCNGW', 'MOCNGW.24', '{\"cn\":\"SecurityModeCommand\",\"en\":\"SecurityModeCommand\"}', 'SecurityModeCommand', 'Security Mode Command', '1'); +INSERT INTO `kpi_title` VALUES (264, 'MOCNGW', 'MOCNGW.25', '{\"cn\":\"SecurityModeComplete\",\"en\":\"SecurityModeComplete\"}', 'SecurityModeComplete', 'Security Mode Complete', '1'); +INSERT INTO `kpi_title` VALUES (265, 'MOCNGW', 'MOCNGW.26', '{\"cn\":\"SecurityModeReject\",\"en\":\"SecurityModeReject\"}', 'SecurityModeReject', 'Security Mode Reject', '1'); +INSERT INTO `kpi_title` VALUES (266, 'MOCNGW', 'MOCNGW.27', '{\"cn\":\"EmmStatus\",\"en\":\"EmmStatus\"}', 'EmmStatus', 'EMM Status', '1'); +INSERT INTO `kpi_title` VALUES (267, 'MOCNGW', 'MOCNGW.28', '{\"cn\":\"EmmInformation\",\"en\":\"EmmInformation\"}', 'EmmInformation', 'EMM Information', '1'); +INSERT INTO `kpi_title` VALUES (268, 'MOCNGW', 'MOCNGW.29', '{\"cn\":\"DownlinkNasTransport\",\"en\":\"DownlinkNasTransport\"}', 'DownlinkNasTransport', 'Downlink NAS Transport', '1'); +INSERT INTO `kpi_title` VALUES (269, 'MOCNGW', 'MOCNGW.30', '{\"cn\":\"UplinkNasTransport\",\"en\":\"UplinkNasTransport\"}', 'UplinkNasTransport', 'Uplink NAS Transport', '1'); +INSERT INTO `kpi_title` VALUES (270, 'MOCNGW', 'MOCNGW.31', '{\"cn\":\"CsServiceNotification\",\"en\":\"CsServiceNotification\"}', 'CsServiceNotification', 'CS Service Notification', '1'); +INSERT INTO `kpi_title` VALUES (271, 'MOCNGW', 'MOCNGW.32', '{\"cn\":\"DownlinkGenericNasTransport\",\"en\":\"DownlinkGenericNasTransport\"}', 'DownlinkGenericNasTransport', 'Downlink Generic NAS Transport', '1'); +INSERT INTO `kpi_title` VALUES (272, 'MOCNGW', 'MOCNGW.33', '{\"cn\":\"UplinkGenericNasTransport\",\"en\":\"UplinkGenericNasTransport\"}', 'UplinkGenericNasTransport', 'Uplink Generic NAS Transport', '1'); --- 更新IMS 20250627 +-- 更新IMS 20250917 -- INSERT INTO `kpi_title` VALUES (300, 'IMS', 'SCSCF.01', '{\"cn\": \"LTE接入注册用户数\",\"en\": \"UR.SubsLTE.fromVoLTE\"}', 'LTE接入注册用户数', 'UR.SubsLTE.fromVoLTE', '1'); -- INSERT INTO `kpi_title` VALUES (301, 'IMS', 'SCSCF.02', '{\"cn\": \"5G接入注册用户数\",\"en\": \"UR.Subs5G.fromVo5G\"}', '5G接入注册用户数', 'UR.Subs5G.fromVo5G', '1'); -INSERT INTO `kpi_title` VALUES (302, 'IMS', 'SCSCF.03', '{\"cn\": \"初始注册成功次数\",\"en\": \"UR.SuccInitReg\"}', '初始注册成功次数', 'UR.SuccInitReg', '1'); -INSERT INTO `kpi_title` VALUES (303, 'IMS', 'SCSCF.04', '{\"cn\": \"初始注册请求次数\",\"en\": \"UR.AttInitReg\"}', '初始注册请求次数', 'UR.AttInitReg', '1'); -INSERT INTO `kpi_title` VALUES (304, 'IMS', 'SCSCF.05', '{\"cn\": \"主叫接通次数\",\"en\": \"SC.SuccSessionOrig\"}', '主叫接通次数', 'SC.SuccSessionOrig', '1'); -INSERT INTO `kpi_title` VALUES (305, 'IMS', 'SCSCF.06', '{\"cn\": \"主叫试呼次数\",\"en\": \"SC.AttSessionOrig\"}', '主叫试呼次数', 'SC.AttSessionOrig', '1'); -INSERT INTO `kpi_title` VALUES (306, 'IMS', 'SCSCF.07', '{\"cn\": \"被叫接通次数\",\"en\": \"SC.SuccSessionTerm\"}', '被叫接通次数', 'SC.SuccSessionTerm', '1'); -INSERT INTO `kpi_title` VALUES (307, 'IMS', 'SCSCF.08', '{\"cn\": \"被叫试呼次数\",\"en\": \"SC.AttSessionTerm\"}', '被叫试呼次数', 'SC.AttSessionTerm', '1'); -INSERT INTO `kpi_title` VALUES (308, 'IMS', 'SCSCF.09', '{\"cn\": \"主叫应答次数\",\"en\": \"SC.AnsSessionOrig\"}', '主叫应答次数', 'SC.AnsSessionOrig', '1'); +INSERT INTO `kpi_title` VALUES (302, 'IMS', 'SCSCF.03', '{\"cn\": \"初始注册成功次数\",\"en\": \"UR.SuccInitReg\"}', '初始注册成功次数', 'Initial Reg Successes', '1'); +INSERT INTO `kpi_title` VALUES (303, 'IMS', 'SCSCF.04', '{\"cn\": \"初始注册请求次数\",\"en\": \"UR.AttInitReg\"}', '初始注册请求次数', 'Initial Reg Requests', '1'); +INSERT INTO `kpi_title` VALUES (304, 'IMS', 'SCSCF.05', '{\"cn\": \"主叫接通次数\",\"en\": \"SC.SuccSessionOrig\"}', '主叫接通次数', 'MO Call Successes', '1'); +INSERT INTO `kpi_title` VALUES (305, 'IMS', 'SCSCF.06', '{\"cn\": \"主叫试呼次数\",\"en\": \"SC.AttSessionOrig\"}', '主叫试呼次数', 'MO Call Attempts', '1'); +INSERT INTO `kpi_title` VALUES (306, 'IMS', 'SCSCF.07', '{\"cn\": \"被叫接通次数\",\"en\": \"SC.SuccSessionTerm\"}', '被叫接通次数', 'MT Call Successes', '1'); +INSERT INTO `kpi_title` VALUES (307, 'IMS', 'SCSCF.08', '{\"cn\": \"被叫试呼次数\",\"en\": \"SC.AttSessionTerm\"}', '被叫试呼次数', 'MT Call Attempts', '1'); +INSERT INTO `kpi_title` VALUES (308, 'IMS', 'SCSCF.09', '{\"cn\": \"主叫应答次数\",\"en\": \"SC.AnsSessionOrig\"}', '主叫应答次数', 'MO Call Answers', '1'); -- INSERT INTO `kpi_title` VALUES (309, 'IMS', 'SCSCF.10', '{\"cn\": \"主叫早释次数\",\"en\": \"SC.OrigRelBeforeRing\"}', '主叫早释次数', 'SC.OrigRelBeforeRing', '1'); -- INSERT INTO `kpi_title` VALUES (310, 'IMS', 'SCSCF.11', '{\"cn\": \"主叫振铃早释次数\",\"en\": \"SC.OrigRelAfterRing\"}', '主叫振铃早释次数', 'SC.OrigRelAfterRing', '1'); -- INSERT INTO `kpi_title` VALUES (311, 'IMS', 'SCSCF.12', '{\"cn\": \"主叫403请求禁止次数\",\"en\": \"SC.FailSessionOrig.403\"}', '主叫403请求禁止次数', 'SC.FailSessionOrig.403', '1'); @@ -234,7 +233,7 @@ INSERT INTO `kpi_title` VALUES (308, 'IMS', 'SCSCF.09', '{\"cn\": \"主叫应答 -- INSERT INTO `kpi_title` VALUES (318, 'IMS', 'SCSCF.19', '{\"cn\": \"主叫600用户忙次数\",\"en\": \"SC.FailSessionOrig.600\"}', '主叫600用户忙次数', 'SC.FailSessionOrig.600', '1'); -- INSERT INTO `kpi_title` VALUES (319, 'IMS', 'SCSCF.20', '{\"cn\": \"主叫603用户拒接次数\",\"en\": \"SC.FailSessionOrig.603\"}', '主叫603用户拒接次数', 'SC.FailSessionOrig.603', '1'); -- INSERT INTO `kpi_title` VALUES (320, 'IMS', 'SCSCF.21', '{\"cn\": \"主叫604用户信息不存在次数\",\"en\": \"SC.FailSessionOrig.604\"}', '主叫604用户信息不存在次数', 'SC.FailSessionOrig.604', '1'); -INSERT INTO `kpi_title` VALUES (321, 'IMS', 'SCSCF.22', '{\"cn\": \"被叫应答次数\",\"en\": \"SC.AnsSessionTerm\"}', '被叫应答次数', 'SC.AnsSessionTerm', '1'); +INSERT INTO `kpi_title` VALUES (321, 'IMS', 'SCSCF.22', '{\"cn\": \"被叫应答次数\",\"en\": \"SC.AnsSessionTerm\"}', '被叫应答次数', 'MT Call Answers', '1'); -- INSERT INTO `kpi_title` VALUES (322, 'IMS', 'SCSCF.23', '{\"cn\": \"被叫早释次\",\"en\": \"SC.TermiRelBeforeRing\"}', '被叫早释次', 'SC.TermiRelBeforeRing', '1'); -- INSERT INTO `kpi_title` VALUES (323, 'IMS', 'SCSCF.24', '{\"cn\": \"被叫振铃早释次数\",\"en\": \"SC.TermiRelAfterRing\"}', '被叫振铃早释次数', 'SC.TermiRelAfterRing', '1'); -- INSERT INTO `kpi_title` VALUES (324, 'IMS', 'SCSCF.25', '{\"cn\": \"被叫403请求禁止次数\",\"en\": \"SC.FailSessionTerm.403\"}', '被叫403请求禁止次数', 'SC.FailSessionTerm.403', '1'); @@ -247,19 +246,19 @@ INSERT INTO `kpi_title` VALUES (321, 'IMS', 'SCSCF.22', '{\"cn\": \"被叫应答 -- INSERT INTO `kpi_title` VALUES (331, 'IMS', 'SCSCF.32', '{\"cn\": \"被叫600用户忙次数\",\"en\": \"SC.FailSessionTerm.600\"}', '被叫600用户忙次数', 'SC.FailSessionTerm.600', '1'); -- INSERT INTO `kpi_title` VALUES (332, 'IMS', 'SCSCF.33', '{\"cn\": \"被叫603用户拒接次数\",\"en\": \"SC.FailSessionTerm.603\"}', '被叫603用户拒接次数', 'SC.FailSessionTerm.603', '1'); -- INSERT INTO `kpi_title` VALUES (333, 'IMS', 'SCSCF.34', '{\"cn\": \"被叫604用户信息不存在次数\",\"en\": \"SC.FailSessionTerm.604\"}', '被叫604用户信息不存在次数', 'SC.FailSessionTerm.604', '1'); -INSERT INTO `kpi_title` VALUES (334, 'IMS', 'IDD.01', '', '呼出IDD呼叫尝试次数', 'IDDOutgoingAttSessionOrig', '1'); -INSERT INTO `kpi_title` VALUES (335, 'IMS', 'IDD.02', '', '呼出IDD接通次数', 'IDDOutgoingAnsSession', '1'); -INSERT INTO `kpi_title` VALUES (336, 'IMS', 'IDD.03', '', '呼出IDD接通成功次数', 'IDDOutgoingSuccSession', '1'); -INSERT INTO `kpi_title` VALUES (337, 'IMS', 'IDD.04', '', '呼入IDD呼叫尝试次数', 'IDDIncomingAttSessionOrig', '1'); -INSERT INTO `kpi_title` VALUES (338, 'IMS', 'IDD.05', '', '呼入IDD接通次数', 'IDDIncomingAnsSession', '1'); -INSERT INTO `kpi_title` VALUES (339, 'IMS', 'IDD.06', '', '呼入IDD接通成功次数', 'IDDIncomingSuccSession', '1'); +INSERT INTO `kpi_title` VALUES (334, 'IMS', 'IDD.01', '', '呼出IDD呼叫尝试次数', 'IDD Outgoing Call Attempts', '1'); +INSERT INTO `kpi_title` VALUES (335, 'IMS', 'IDD.02', '', '呼出IDD接通次数', 'IDD Outgoing Call Answers', '1'); +INSERT INTO `kpi_title` VALUES (336, 'IMS', 'IDD.03', '', '呼出IDD接通成功次数', 'IDD Outgoing Call Successes', '1'); +INSERT INTO `kpi_title` VALUES (337, 'IMS', 'IDD.04', '', '呼入IDD呼叫尝试次数', 'IDD Incoming Call Attempts', '1'); +INSERT INTO `kpi_title` VALUES (338, 'IMS', 'IDD.05', '', '呼入IDD接通次数', 'IDD Incoming Call Answers', '1'); +INSERT INTO `kpi_title` VALUES (339, 'IMS', 'IDD.06', '', '呼入IDD接通成功次数', 'IDD Incoming Call Successes', '1'); --- 更新PCF 20250613 +-- 更新PCF 20250917 -- INSERT INTO `kpi_title` VALUES (350, 'PCF', 'PCF.01', '{\"cn\": \"在线N7会话数\", \"en\": \"PCF.SmAssocNbrMean\"}', '在线N7会话数', 'PCF.SmAssocNbrMean', '1'); -INSERT INTO `kpi_title` VALUES (351, 'PCF', 'PCF.02', '{\"cn\": \"SM策略关联建立成功次数\", \"en\": \"PCF.PolicySmAssocCreateSucc\"}', 'SM策略关联建立成功次数', 'PCF.PolicySmAssocCreateSucc', '1'); -INSERT INTO `kpi_title` VALUES (352, 'PCF', 'PCF.03', '{\"cn\": \"SM策略关联建立请求次数\", \"en\": \"PCF.PolicySmAssocCreateReq\"}', 'SM策略关联建立请求次数', 'PCF.PolicySmAssocCreateReq', '1'); -INSERT INTO `kpi_title` VALUES (353, 'PCF', 'PCF.04', '{\"cn\": \"SM策略关联更新成功次数\", \"en\": \"PCF.PolicySmAssocUpdateSucc\"}', 'SM策略关联更新成功次数', 'PCF.PolicySmAssocUpdateSucc', '1'); -INSERT INTO `kpi_title` VALUES (354, 'PCF', 'PCF.05', '{\"cn\": \"SM策略关联更新请求次数\", \"en\": \"PCF.PolicySmAssocUpdateReq\"}', 'SM策略关联更新请求次数', 'PCF.PolicySmAssocUpdateReq', '1'); +INSERT INTO `kpi_title` VALUES (351, 'PCF', 'PCF.02', '{\"cn\": \"SM策略关联建立成功次数\", \"en\": \"PCF.PolicySmAssocCreateSucc\"}', 'SM策略关联建立成功次数', 'SM Policy Assoc Create Successes', '1'); +INSERT INTO `kpi_title` VALUES (352, 'PCF', 'PCF.03', '{\"cn\": \"SM策略关联建立请求次数\", \"en\": \"PCF.PolicySmAssocCreateReq\"}', 'SM策略关联建立请求次数', 'SM Policy Assoc Create Requests', '1'); +INSERT INTO `kpi_title` VALUES (353, 'PCF', 'PCF.04', '{\"cn\": \"SM策略关联更新成功次数\", \"en\": \"PCF.PolicySmAssocUpdateSucc\"}', 'SM策略关联更新成功次数', 'SM Policy Assoc Update Successes', '1'); +INSERT INTO `kpi_title` VALUES (354, 'PCF', 'PCF.05', '{\"cn\": \"SM策略关联更新请求次数\", \"en\": \"PCF.PolicySmAssocUpdateReq\"}', 'SM策略关联更新请求次数', 'SM Policy Assoc Update Requests', '1'); -- INSERT INTO `kpi_title` VALUES (355, 'PCF', 'PCF.06', '{\"cn\": \"在线Gx会话数\", \"en\": \"SM.SessionNbrMean\"}', '在线Gx会话数', 'SM.SessionNbrMean', '1'); -- INSERT INTO `kpi_title` VALUES (356, 'PCF', 'PCF.07', '{\"cn\": \"在线Rx会话数\", \"en\": \"SM.RxSessionMean\"}', '在线Rx会话数', 'SM.RxSessionMean', '1'); -- INSERT INTO `kpi_title` VALUES (357, 'PCF', 'PCF.08', '{\"cn\": \"PCRF策略控制发起成功次数\", \"en\": \"DIAM.CcInitialSuccess\"}', 'PCRF策略控制发起成功次数', 'DIAM.CcInitialSuccess', '1'); @@ -269,11 +268,11 @@ INSERT INTO `kpi_title` VALUES (354, 'PCF', 'PCF.05', '{\"cn\": \"SM策略关联 -- INSERT INTO `kpi_title` VALUES (361, 'PCF', 'PCF.12', '{\"cn\": \"PCRF策略控制更新成功次数\", \"en\": \"DIAM.CcUpdateSuccess\"}', 'PCRF策略控制更新成功次数', 'DIAM.CcUpdateSuccess', '1'); -- INSERT INTO `kpi_title` VALUES (362, 'PCF', 'PCF.13', '{\"cn\": \"PCRF策略控制更新请求次数\", \"en\": \"DIAM.CcUpdateRequest\"}', 'PCRF策略控制更新请求次数', 'DIAM.CcUpdateRequest', '1'); --- 更新SMSC 20240815 -INSERT INTO `kpi_title` VALUES (380, 'SMSC', 'SMSC.A.01', '{\"cn\": \"MS到SMSC短信请求次数\", \"en\": \"SMSC.MStoSMSCAtt\"}', 'MS到SMSC短信请求次数', 'SMSC.MStoSMSCAtt', '1'); -INSERT INTO `kpi_title` VALUES (381, 'SMSC', 'SMSC.A.02', '{\"cn\": \"MS到SMSC短信成功次数\", \"en\": \"SMSC.MStoSMSCSucc\"}', 'MS到SMSC短信成功次数', 'SMSC.MStoSMSCSucc', '1'); -INSERT INTO `kpi_title` VALUES (382, 'SMSC', 'SMSC.A.03', '{\"cn\": \"MS到SMSC短信失败次数\", \"en\": \"SMSC.MStoSMSCFail\"}', 'MS到SMSC短信失败次数', 'SMSC.MStoSMSCFail', '1'); -INSERT INTO `kpi_title` VALUES (383, 'SMSC', 'SMSC.A.04', '{\"cn\": \"MS到SMSC短信字节数\", \"en\": \"SMSC.MStoSMSCBytes\"}', 'MS到SMSC短信字节数', 'SMSC.MStoSMSCBytes', '1'); +-- 更新SMSC 20250917 +INSERT INTO `kpi_title` VALUES (380, 'SMSC', 'SMSC.A.01', '{\"cn\": \"MS到SMSC短信请求次数\", \"en\": \"SMSC.MStoSMSCAtt\"}', 'MS到SMSC短信请求次数', 'MS to SMSC SMS Requests', '1'); +INSERT INTO `kpi_title` VALUES (381, 'SMSC', 'SMSC.A.02', '{\"cn\": \"MS到SMSC短信成功次数\", \"en\": \"SMSC.MStoSMSCSucc\"}', 'MS到SMSC短信成功次数', 'MS to SMSC SMS Successes', '1'); +INSERT INTO `kpi_title` VALUES (382, 'SMSC', 'SMSC.A.03', '{\"cn\": \"MS到SMSC短信失败次数\", \"en\": \"SMSC.MStoSMSCFail\"}', 'MS到SMSC短信失败次数', 'MS to SMSC SMS Failures', '1'); +INSERT INTO `kpi_title` VALUES (383, 'SMSC', 'SMSC.A.04', '{\"cn\": \"MS到SMSC短信字节数\", \"en\": \"SMSC.MStoSMSCBytes\"}', 'MS到SMSC短信字节数', 'MS to SMSC SMS Bytes', '1'); -- INSERT INTO `kpi_title` VALUES (384, 'SMSC', 'SMSC.A.05', '{\"cn\": \"VSS到SMSC短信请求次数\", \"en\": \"SMSC.VSStoSMSCAtt\"}', 'VSS到SMSC短信请求次数', 'SMSC.VSStoSMSCAtt', '1'); -- INSERT INTO `kpi_title` VALUES (385, 'SMSC', 'SMSC.A.06', '{\"cn\": \"VSS到SMSC短信成功次数\", \"en\": \"SMSC.VSStoSMSCSucc\"}', 'VSS到SMSC短信成功次数', 'SMSC.VSStoSMSCSucc', '1'); -- INSERT INTO `kpi_title` VALUES (386, 'SMSC', 'SMSC.A.07', '{\"cn\": \"VSS到SMSC短信失败次数\", \"en\": \"SMSC.VSStoSMSCFail\"}', 'VSS到SMSC短信失败次数', 'SMSC.VSStoSMSCFail', '1'); @@ -286,10 +285,10 @@ INSERT INTO `kpi_title` VALUES (383, 'SMSC', 'SMSC.A.04', '{\"cn\": \"MS到SMSC -- INSERT INTO `kpi_title` VALUES (393, 'SMSC', 'SMSC.A.14', '{\"cn\": \"SMPP到SMSC短信成功次数\", \"en\": \"SMSC.SMPPtoSMSCSucc\"}', 'SMPP到SMSC短信成功次数', 'SMSC.SMPPtoSMSCSucc', '1'); -- INSERT INTO `kpi_title` VALUES (394, 'SMSC', 'SMSC.A.15', '{\"cn\": \"SMPP到SMSC短信失败次数\", \"en\": \"SMSC.SMPPtoSMSCFail\"}', 'SMPP到SMSC短信失败次数', 'SMSC.SMPPtoSMSCFail', '1'); -- INSERT INTO `kpi_title` VALUES (395, 'SMSC', 'SMSC.A.16', '{\"cn\": \"SMPP到SMSC短信字节数\", \"en\": \"SMSC.SMPPtoSMSCBytes\"}', 'SMPP到SMSC短信字节数', 'SMSC.SMPPtoSMSCBytes', '1'); -INSERT INTO `kpi_title` VALUES (396, 'SMSC', 'SMSC.A.17', '{\"cn\": \"SMSC到MS短信请求次数\", \"en\": \"SMSC.SMSCtoMSAtt\"}', 'SMSC到MS短信请求次数', 'SMSC.SMSCtoMSAtt', '1'); -INSERT INTO `kpi_title` VALUES (397, 'SMSC', 'SMSC.A.18', '{\"cn\": \"SMSC到MS短信成功次数\", \"en\": \"SMSC.SMSCtoMSSucc\"}', 'SMSC到MS短信成功次数', 'SMSC.SMSCtoMSSucc', '1'); -INSERT INTO `kpi_title` VALUES (398, 'SMSC', 'SMSC.A.19', '{\"cn\": \"SMSC到MS短信失败次数\", \"en\": \"SMSC.SMSCtoMSFail\"}', 'SMSC到MS短信失败次数', 'SMSC.SMSCtoMSFail', '1'); -INSERT INTO `kpi_title` VALUES (399, 'SMSC', 'SMSC.A.20', '{\"cn\": \"SMSC到MS短信字节数\", \"en\": \"SMSC.SMSCtoMSBytes\"}', 'SMSC到MS短信字节数', 'SMSC.SMSCtoMSBytes', '1'); +INSERT INTO `kpi_title` VALUES (396, 'SMSC', 'SMSC.A.17', '{\"cn\": \"SMSC到MS短信请求次数\", \"en\": \"SMSC.SMSCtoMSAtt\"}', 'SMSC到MS短信请求次数', 'SMSC to MS SMS Requests', '1'); +INSERT INTO `kpi_title` VALUES (397, 'SMSC', 'SMSC.A.18', '{\"cn\": \"SMSC到MS短信成功次数\", \"en\": \"SMSC.SMSCtoMSSucc\"}', 'SMSC到MS短信成功次数', 'SMSC to MS SMS Successes', '1'); +INSERT INTO `kpi_title` VALUES (398, 'SMSC', 'SMSC.A.19', '{\"cn\": \"SMSC到MS短信失败次数\", \"en\": \"SMSC.SMSCtoMSFail\"}', 'SMSC到MS短信失败次数', 'SMSC to MS SMS Failures', '1'); +INSERT INTO `kpi_title` VALUES (399, 'SMSC', 'SMSC.A.20', '{\"cn\": \"SMSC到MS短信字节数\", \"en\": \"SMSC.SMSCtoMSBytes\"}', 'SMSC到MS短信字节数', 'SMSC to MS SMS Bytes', '1'); -- INSERT INTO `kpi_title` VALUES (400, 'SMSC', 'SMSC.A.21', '{\"cn\": \"SMSC到VSS短信请求次数\", \"en\": \"SMSC.SMSCtoVSSAtt\"}', 'SMSC到VSS短信请求次数', 'SMSC.SMSCtoVSSAtt', '1'); -- INSERT INTO `kpi_title` VALUES (401, 'SMSC', 'SMSC.A.22', '{\"cn\": \"SMSC到VSS短信成功次数\", \"en\": \"SMSC.SMSCtoVSSucc\"}', 'SMSC到VSS短信成功次数', 'SMSC.SMSCtoVSSucc', '1'); -- INSERT INTO `kpi_title` VALUES (402, 'SMSC', 'SMSC.A.23', '{\"cn\": \"SMSC到VSS短信失败次数\", \"en\": \"SMSC.SMSCtoVSSFail\"}', 'SMSC到VSS短信失败次数', 'SMSC.SMSCtoVSSFail', '1'); @@ -303,40 +302,40 @@ INSERT INTO `kpi_title` VALUES (399, 'SMSC', 'SMSC.A.20', '{\"cn\": \"SMSC到MS -- INSERT INTO `kpi_title` VALUES (410, 'SMSC', 'SMSC.A.31', '{\"cn\": \"SMSC到SMPP短信失败次数\", \"en\": \"SMSC.SMSCtoSMPPFail\"}', 'SMSC到SMPP短信失败次数', 'SMSC.SMSCtoSMPPFail', '1'); -- INSERT INTO `kpi_title` VALUES (411, 'SMSC', 'SMSC.A.32', '{\"cn\": \"SMSC到SMPP短信字节数\", \"en\": \"SMSC.SMSCtoSMPPBytes\"}', 'SMSC到SMPP短信字节数', 'SMSC.SMSCtoSMPPBytes', '1'); --- 更新CBC 20240823 +-- 更新CBC 20250917 INSERT INTO `kpi_title` VALUES (430, 'CBC', 'CBC.A.01', '{\"cn\": \"CBC 发起 Create Write 消息成功\", \"en\": \"WarningReqSucc\"}', 'CBC 发起 Create Write 消息成功', 'WarningReqSucc', '1'); INSERT INTO `kpi_title` VALUES (431, 'CBC', 'CBC.A.02', '{\"cn\": \"CBC 发起 Create Write 消息失败\", \"en\": \"WarningReqFail\"}', 'CBC 发起 Create Write 消息失败', 'WarningReqFail', '1'); INSERT INTO `kpi_title` VALUES (432, 'CBC', 'CBC.A.03', '{\"cn\": \"CBC 发起 Cancel Write 消息成功\", \"en\": \"WarningCancelSucc\"}', 'CBC 发起 Cancel Write 消息成功', 'WarningCancelSucc', '1'); INSERT INTO `kpi_title` VALUES (433, 'CBC', 'CBC.A.04', '{\"cn\": \"CBC 发起 Cancel Write 消息失败\", \"en\": \"WarningCancelFail\"}', 'CBC 发起 Cancel Write 消息失败', 'WarningCancelFail', '1'); --- 更新HLR 20250613 -INSERT INTO `kpi_title` VALUES (440, 'HLR', 'HLR.A.001', NULL, '鉴权信息请求次数', 'AuthReqTotalNum', '1'); -INSERT INTO `kpi_title` VALUES (441, 'HLR', 'HLR.A.002', NULL, '鉴权信息请求成功次数', 'AuthSuccTotalNum', '1'); -INSERT INTO `kpi_title` VALUES (442, 'HLR', 'HLR.A.003', NULL, '鉴权请求失败:缺参数', 'AuthFailByMissPara', '1'); -INSERT INTO `kpi_title` VALUES (443, 'HLR', 'HLR.A.004', NULL, '鉴权请求失败:系统错误', 'AuthFailBySysFail', '1'); -INSERT INTO `kpi_title` VALUES (444, 'HLR', 'HLR.A.005', NULL, '鉴权请求失败:非期望的参数值', 'AuthFailByUnexptData', '1'); -INSERT INTO `kpi_title` VALUES (445, 'HLR', 'HLR.A.006', NULL, '鉴权请求失败:未知用户', 'AuthFailByUnknownUser', '1'); -INSERT INTO `kpi_title` VALUES (446, 'HLR', 'HLR.A.007', NULL, '鉴权失败报告次数', 'AuthFailReportTotalNum', '1'); -INSERT INTO `kpi_title` VALUES (447, 'HLR', 'HLR.A.008', NULL, '鉴权失败报告(错误的网络签名)次数', 'AuthFailReportByErrNetSign', '1'); -INSERT INTO `kpi_title` VALUES (448, 'HLR', 'HLR.A.009', NULL, '鉴权失败报告(错误的用户响应)次数', 'AuthFailReportByErrUserRsp', '1'); -INSERT INTO `kpi_title` VALUES (449, 'HLR', 'HLR.A.010', NULL, '登记请求次数', 'LuReqTotalNum', '1'); -INSERT INTO `kpi_title` VALUES (450, 'HLR', 'HLR.A.011', NULL, '登记成功次数', 'LuSuccTotalNum', '1'); -INSERT INTO `kpi_title` VALUES (451, 'HLR', 'HLR.A.012', NULL, '登记失败:复制手机', 'LuFailByDuplicUnit', '1'); -INSERT INTO `kpi_title` VALUES (452, 'HLR', 'HLR.A.013', NULL, '登记失败:无效ESN', 'LuFailByInvalidESN', '1'); -INSERT INTO `kpi_title` VALUES (453, 'HLR', 'HLR.A.014', NULL, '登记失败:缺鉴权参数', 'LuFailByMissAuthPara', '1'); -INSERT INTO `kpi_title` VALUES (454, 'HLR', 'HLR.A.015', NULL, '登记失败:在这个MSC中不能使用', 'LuFailByMscNotAllow', '1'); -INSERT INTO `kpi_title` VALUES (455, 'HLR', 'HLR.A.016', NULL, '登记失败:终端类型不匹配', 'LuFailByUeTypeMismatch', '1'); -INSERT INTO `kpi_title` VALUES (456, 'HLR', 'HLR.A.017', NULL, '登记失败:未分配号码的手机', 'LuFailByUnAssignMsisdn', '1'); -INSERT INTO `kpi_title` VALUES (457, 'HLR', 'HLR.A.018', NULL, '登记失败:不确定', 'LuFailByUnKnown', '1'); -INSERT INTO `kpi_title` VALUES (458, 'HLR', 'HLR.A.019', NULL, '注销登记次数', 'CancelLuReqTotalNum', '1'); -INSERT INTO `kpi_title` VALUES (459, 'HLR', 'HLR.A.020', NULL, '注销登记成功次数', 'CancelLuSuccTotalNum', '1'); -INSERT INTO `kpi_title` VALUES (460, 'HLR', 'HLR.A.021', NULL, '注销失败:系统错误', 'CancelLuFailBySysFail', '1'); -INSERT INTO `kpi_title` VALUES (461, 'HLR', 'HLR.A.022', NULL, '注销失败:缺参数', 'CancelLuFailByMissPara', '1'); -INSERT INTO `kpi_title` VALUES (462, 'HLR', 'HLR.A.023', NULL, '移动台去活次数', 'MsPurgeReqTotalNum', '1'); -INSERT INTO `kpi_title` VALUES (463, 'HLR', 'HLR.A.024', NULL, '移动台去活成功次数', 'MsPurgeSuccTotalNum', '1'); -INSERT INTO `kpi_title` VALUES (464, 'HLR', 'HLR.A.025', NULL, '移动台去活:系统错误', 'MsPurgeFailBySysFail', '1'); -INSERT INTO `kpi_title` VALUES (465, 'HLR', 'HLR.A.026', NULL, '移动台去活:非期望的参数值', 'MsPurgeFailByUnexptPara', '1'); -INSERT INTO `kpi_title` VALUES (466, 'HLR', 'HLR.A.027', NULL, '移动台去活:未知用户', 'MsPurgeFailByUnknownUser', '1'); +-- 更新HLR 20250917 +INSERT INTO `kpi_title` VALUES (440, 'HLR', 'HLR.A.001', NULL, '鉴权信息请求次数', 'Auth Info Requests', '1'); +INSERT INTO `kpi_title` VALUES (441, 'HLR', 'HLR.A.002', NULL, '鉴权信息请求成功次数', 'Auth Info Successes', '1'); +INSERT INTO `kpi_title` VALUES (442, 'HLR', 'HLR.A.003', NULL, '鉴权请求失败:缺参数', 'Auth Fail Missing Params', '1'); +INSERT INTO `kpi_title` VALUES (443, 'HLR', 'HLR.A.004', NULL, '鉴权请求失败:系统错误', 'Auth Fail System Error', '1'); +INSERT INTO `kpi_title` VALUES (444, 'HLR', 'HLR.A.005', NULL, '鉴权请求失败:非期望的参数值', 'Auth Fail Unexpected Value', '1'); +INSERT INTO `kpi_title` VALUES (445, 'HLR', 'HLR.A.006', NULL, '鉴权请求失败:未知用户', 'Auth Fail Unknown User', '1'); +INSERT INTO `kpi_title` VALUES (446, 'HLR', 'HLR.A.007', NULL, '鉴权失败报告次数', 'Auth Failure Reports', '1'); +INSERT INTO `kpi_title` VALUES (447, 'HLR', 'HLR.A.008', NULL, '鉴权失败报告(错误的网络签名)次数', 'Auth Fail Bad Net Sig', '1'); +INSERT INTO `kpi_title` VALUES (448, 'HLR', 'HLR.A.009', NULL, '鉴权失败报告(错误的用户响应)次数', 'Auth Fail Bad User Resp', '1'); +INSERT INTO `kpi_title` VALUES (449, 'HLR', 'HLR.A.010', NULL, '登记请求次数', 'Register Requests', '1'); +INSERT INTO `kpi_title` VALUES (450, 'HLR', 'HLR.A.011', NULL, '登记成功次数', 'Register Successes', '1'); +INSERT INTO `kpi_title` VALUES (451, 'HLR', 'HLR.A.012', NULL, '登记失败:复制手机', 'Register Fail Cloned UE', '1'); +INSERT INTO `kpi_title` VALUES (452, 'HLR', 'HLR.A.013', NULL, '登记失败:无效ESN', 'Register Fail Invalid ESN', '1'); +INSERT INTO `kpi_title` VALUES (453, 'HLR', 'HLR.A.014', NULL, '登记失败:缺鉴权参数', 'Register Fail Missing Auth', '1'); +INSERT INTO `kpi_title` VALUES (454, 'HLR', 'HLR.A.015', NULL, '登记失败:在这个MSC中不能使用', 'Register Fail MSC Not Allowed', '1'); +INSERT INTO `kpi_title` VALUES (455, 'HLR', 'HLR.A.016', NULL, '登记失败:终端类型不匹配', 'Register Fail UE Type Mismatch', '1'); +INSERT INTO `kpi_title` VALUES (456, 'HLR', 'HLR.A.017', NULL, '登记失败:未分配号码的手机', 'Register Fail Unassigned MSISDN', '1'); +INSERT INTO `kpi_title` VALUES (457, 'HLR', 'HLR.A.018', NULL, '登记失败:不确定', 'Register Fail Unknown', '1'); +INSERT INTO `kpi_title` VALUES (458, 'HLR', 'HLR.A.019', NULL, '注销登记次数', 'Deregister Requests', '1'); +INSERT INTO `kpi_title` VALUES (459, 'HLR', 'HLR.A.020', NULL, '注销登记成功次数', 'Deregister Successes', '1'); +INSERT INTO `kpi_title` VALUES (460, 'HLR', 'HLR.A.021', NULL, '注销失败:系统错误', 'Deregister Fail System', '1'); +INSERT INTO `kpi_title` VALUES (461, 'HLR', 'HLR.A.022', NULL, '注销失败:缺参数', 'Deregister Fail Missing Params', '1'); +INSERT INTO `kpi_title` VALUES (462, 'HLR', 'HLR.A.023', NULL, '移动台去活次数', 'MS Purge Requests', '1'); +INSERT INTO `kpi_title` VALUES (463, 'HLR', 'HLR.A.024', NULL, '移动台去活成功次数', 'MS Purge Successes', '1'); +INSERT INTO `kpi_title` VALUES (464, 'HLR', 'HLR.A.025', NULL, '移动台去活:系统错误', 'MS Purge Fail System', '1'); +INSERT INTO `kpi_title` VALUES (465, 'HLR', 'HLR.A.026', NULL, '移动台去活:非期望的参数值', 'MS Purge Fail Bad Param', '1'); +INSERT INTO `kpi_title` VALUES (466, 'HLR', 'HLR.A.027', NULL, '移动台去活:未知用户', 'MS Purge Fail Unknown User', '1'); -- INSERT INTO `kpi_title` VALUES (467, 'HLR', 'HLR.A.028', NULL, 'GPRS登记请求次数', 'GprsLuReqTotalNum', '1'); -- INSERT INTO `kpi_title` VALUES (468, 'HLR', 'HLR.A.029', NULL, 'GPRS登记请求成功次数', 'GprsLuSuccTotalNum', '1'); -- INSERT INTO `kpi_title` VALUES (469, 'HLR', 'HLR.A.030', NULL, 'GPRS去登记次数', 'GprsPurgeReqTotalNum', '1'); @@ -480,16 +479,16 @@ INSERT INTO `kpi_title` VALUES (466, 'HLR', 'HLR.A.027', NULL, '移动台去活 -- INSERT INTO `kpi_title` VALUES (607, 'HLR', 'HLR.A.168', NULL, '重启成功次数', 'ResetSuccTotalNum', '1'); -- INSERT INTO `kpi_title` VALUES (608, 'HLR', 'HLR.A.169', NULL, '数据恢复请求次数', 'RestoreDataReqTotalNum', '1'); -- INSERT INTO `kpi_title` VALUES (609, 'HLR', 'HLR.A.170', NULL, '数据恢复成功次数', 'RestoreDataReqSuccNum', '1'); -INSERT INTO `kpi_title` VALUES (610, 'HLR', 'HLR.A.171', NULL, 'C2G Boss开户成功次数', 'AddUserBossSuccNum', '1'); -INSERT INTO `kpi_title` VALUES (611, 'HLR', 'HLR.A.172', NULL, 'C2G Boss销户成功次数', 'DelUserBossSuccNum', '1'); -INSERT INTO `kpi_title` VALUES (612, 'HLR', 'HLR.A.173', NULL, 'C2G Boss修改用户成功次数', 'ModUserBossSuccNum', '1'); -INSERT INTO `kpi_title` VALUES (613, 'HLR', 'HLR.A.174', NULL, 'C2G Boss开户请求次数', 'AddUserBossReqNum', '1'); -INSERT INTO `kpi_title` VALUES (614, 'HLR', 'HLR.A.175', NULL, 'C2G Boss受理失败返回IMSI not used次数', 'BossServFailByImsiNot', '1'); -INSERT INTO `kpi_title` VALUES (615, 'HLR', 'HLR.A.176', NULL, 'C2G Boss受理失败返回ISDN not used次数', 'BossServFailByIsdnNot', '1'); -INSERT INTO `kpi_title` VALUES (616, 'HLR', 'HLR.A.177', NULL, 'C2G Boss受理失败返回其他错误次数', 'BossServFailByOther', '1'); -INSERT INTO `kpi_title` VALUES (617, 'HLR', 'HLR.A.178', NULL, 'C2G Boss受理失败返回repeat IMSI次数', 'BossServFailByRepImsi', '1'); -INSERT INTO `kpi_title` VALUES (618, 'HLR', 'HLR.A.179', NULL, 'C2G Boss受理失败返回repeat ISDN次数', 'BossServFailByRepIsdn', '1'); -INSERT INTO `kpi_title` VALUES (619, 'HLR', 'HLR.A.180', NULL, 'C2G Boss销户请求次数', 'DelUserBossReqNum', '1'); -INSERT INTO `kpi_title` VALUES (620, 'HLR', 'HLR.A.181', NULL, 'C2G Boss修改用户请求次数', 'ModUserBossReqNum', '1'); +INSERT INTO `kpi_title` VALUES (610, 'HLR', 'HLR.A.171', NULL, 'C2G Boss开户成功次数', 'Boss Add User Successes', '1'); +INSERT INTO `kpi_title` VALUES (611, 'HLR', 'HLR.A.172', NULL, 'C2G Boss销户成功次数', 'Boss Delete User Successes', '1'); +INSERT INTO `kpi_title` VALUES (612, 'HLR', 'HLR.A.173', NULL, 'C2G Boss修改用户成功次数', 'Boss Modify User Successes', '1'); +INSERT INTO `kpi_title` VALUES (613, 'HLR', 'HLR.A.174', NULL, 'C2G Boss开户请求次数', 'Boss Add User Requests', '1'); +INSERT INTO `kpi_title` VALUES (614, 'HLR', 'HLR.A.175', NULL, 'C2G Boss受理失败返回IMSI not used次数', 'Boss Fail IMSI Not Used', '1'); +INSERT INTO `kpi_title` VALUES (615, 'HLR', 'HLR.A.176', NULL, 'C2G Boss受理失败返回ISDN not used次数', 'Boss Fail ISDN Not Used', '1'); +INSERT INTO `kpi_title` VALUES (616, 'HLR', 'HLR.A.177', NULL, 'C2G Boss受理失败返回其他错误次数', 'Boss Fail Other Errors', '1'); +INSERT INTO `kpi_title` VALUES (617, 'HLR', 'HLR.A.178', NULL, 'C2G Boss受理失败返回repeat IMSI次数', 'Boss Fail Repeat IMSI', '1'); +INSERT INTO `kpi_title` VALUES (618, 'HLR', 'HLR.A.179', NULL, 'C2G Boss受理失败返回repeat ISDN次数', 'Boss Fail Repeat ISDN', '1'); +INSERT INTO `kpi_title` VALUES (619, 'HLR', 'HLR.A.180', NULL, 'C2G Boss销户请求次数', 'Boss Delete User Requests', '1'); +INSERT INTO `kpi_title` VALUES (620, 'HLR', 'HLR.A.181', NULL, 'C2G Boss修改用户请求次数', 'Boss Modify User Requests', '1'); SET FOREIGN_KEY_CHECKS = 1; diff --git a/build/database/std/install/kpi_c_report_nrf.sql b/build/database/std/install/kpi_c_report_nrf.sql new file mode 100644 index 00000000..12432748 --- /dev/null +++ b/build/database/std/install/kpi_c_report_nrf.sql @@ -0,0 +1,24 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for kpi_c_report_nrf +-- ---------------------------- +DROP TABLE IF EXISTS `kpi_c_report_nrf`; +CREATE TABLE `kpi_c_report_nrf` ( + `id` int NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss', + `start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss', + `end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss', + `index` int NOT NULL COMMENT 'Index of the report', + `granularity` int DEFAULT '60' COMMENT 'Time granualarity: 5/10/.../60/300 (second)', + `kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String', + `created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_c_nrf_uid_at` (`rm_uid`,`created_at`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_NRF'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/build/database/std/install/kpi_report_nrf.sql b/build/database/std/install/kpi_report_nrf.sql new file mode 100644 index 00000000..69e07de5 --- /dev/null +++ b/build/database/std/install/kpi_report_nrf.sql @@ -0,0 +1,24 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for kpi_report_nrf +-- ---------------------------- +DROP TABLE IF EXISTS `kpi_report_nrf`; +CREATE TABLE `kpi_report_nrf` ( + `id` int NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss', + `start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss', + `end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss', + `index` int NOT NULL COMMENT 'Index of the report', + `granularity` int DEFAULT '60' COMMENT 'Time granualarity: 5/10/.../60/300 (second)', + `kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String', + `created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_nrf_uid_at` (`rm_uid`,`created_at`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_NRF'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/build/database/std/install/sys_i18n.sql b/build/database/std/install/sys_i18n.sql index 62eec66a..b3c04cb7 100644 --- a/build/database/std/install/sys_i18n.sql +++ b/build/database/std/install/sys_i18n.sql @@ -774,7 +774,7 @@ INSERT INTO `sys_i18n` VALUES (756, 'dictData.trace_interfaces.14', 'N14', 'N14' INSERT INTO `sys_i18n` VALUES (757, 'dictData.trace_interfaces.5', 'N5', 'N5'); INSERT INTO `sys_i18n` VALUES (758, "alarm.export.alarmCode", "告警编码", "Alarm Code"); INSERT INTO `sys_i18n` VALUES (759, "config.sys.user.fristPasswdChangeRemark", "关闭改为false 开启改为true, 建议同时设置密码有效期", "Off to false On to true, it is recommended to set the password expiration date at the same time."); -INSERT INTO `sys_i18n` VALUES (760, "menu.perf.kpiIMSOverview", "语音数据概览", "Voice Data Overview"); +INSERT INTO `sys_i18n` VALUES (760, "menu.perf.kpiIMSOverview", "语音通话统计", "Voice Call Statistic"); INSERT INTO `sys_i18n` VALUES (761, "dictType.sys_user_type", "用户类型", "User Type"); INSERT INTO `sys_i18n` VALUES (762, "dictData.sys_user_type.system", "系统", "System"); INSERT INTO `sys_i18n` VALUES (763, "dictData.sys_user_type.ldap", "LDAP", "LDAP"); @@ -790,6 +790,27 @@ INSERT INTO `sys_i18n` VALUES (772, 'job.delete_uenb_record_remark', 'storeDays INSERT INTO `sys_i18n` VALUES (773, 'menu.perf.kpiTitle', '关键指标标题', 'Key Performance Title'); INSERT INTO `sys_i18n` VALUES (774, 'menu.neData.cbcCBE', '预警广播', 'Early Warning Broadcast'); INSERT INTO `sys_i18n` VALUES (775, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast'); +INSERT INTO `sys_i18n` VALUES (776, 'menu.common.async', '主动同步', 'Active Synchronization'); +INSERT INTO `sys_i18n` VALUES (777, 'menu.common.dataview', '数据视图', 'Data View'); +INSERT INTO `sys_i18n` VALUES (778, 'menu.common.pcapview', 'PCAP视图', 'PCAP View'); +INSERT INTO `sys_i18n` VALUES (779, 'menu.common.fileview', '历史抓包文件', 'Historical Packet Capture File'); +INSERT INTO `sys_i18n` VALUES (780, 'menu.common.start', '启动', 'Start'); +INSERT INTO `sys_i18n` VALUES (781, 'menu.common.stop', '停止', 'Stop'); +INSERT INTO `sys_i18n` VALUES (782, 'menu.common.restart', '重新启动', 'Restart'); +INSERT INTO `sys_i18n` VALUES (783, 'menu.common.reload', '重新加载', 'Reload'); +INSERT INTO `sys_i18n` VALUES (784, 'menu.common.download', '下载', 'Download'); +INSERT INTO `sys_i18n` VALUES (785, 'menu.common.upload', '上传', 'Upload'); +INSERT INTO `sys_i18n` VALUES (786, 'menu.common.oam', 'OAM', 'OAM'); +INSERT INTO `sys_i18n` VALUES (787, 'menu.common.sync', '同步', 'Synchronization'); +INSERT INTO `sys_i18n` VALUES (788, 'menu.common.upgrade', '升级', 'Upgrade'); +INSERT INTO `sys_i18n` VALUES (789, 'menu.common.rollback', '回滚', 'Rollback'); +INSERT INTO `sys_i18n` VALUES (790, 'menu.common.ftp', 'FTP 配置', 'FTP Config'); +INSERT INTO `sys_i18n` VALUES (791, 'menu.common.ftpSync', 'FTP 同步', 'FTP Synchronization'); +INSERT INTO `sys_i18n` VALUES (792, 'job.backup_export_kpi', '备份-KPI数据定期导出', 'Backup-Periodic export of KPI Data'); +INSERT INTO `sys_i18n` VALUES (793, 'job.backup_export_kpi_remark', 'dataType: 类型支持 ims/smf/sgwc/smsc\nfileType: 文件类型 csv/xlsx\nhour: 数据时间从任务执行时间前的小时数', 'dataType: type support ims/smf/sgwc/smsc\nfileType: file type csv/xlsx\nhour: data time from the hour before the task execution time'); +INSERT INTO `sys_i18n` VALUES (794, 'menu.system.setting.homeSet', '主页设置', 'Home Set'); +INSERT INTO `sys_i18n` VALUES (795, 'menu.system.setting.reset', '重置', 'Reset'); +INSERT INTO `sys_i18n` VALUES (796, 'menu.system.setting.backup', '备份还原', 'Backup Restore'); INSERT INTO `sys_i18n` VALUES (2000, 'menu.psap.agent', '座席', 'Agent'); INSERT INTO `sys_i18n` VALUES (2001, 'menu.psap.agent.callings', '并行话务', 'Calling Information'); diff --git a/build/database/std/install/sys_job.sql b/build/database/std/install/sys_job.sql index 6b28cacc..5a636041 100644 --- a/build/database/std/install/sys_job.sql +++ b/build/database/std/install/sys_job.sql @@ -46,6 +46,9 @@ INSERT INTO `sys_job` VALUES (30, 'job.backup_remove_file', 'SYSTEM', 'backup_re INSERT INTO `sys_job` VALUES (31, 'job.backup_export_udm', 'SYSTEM', 'backup_export_udm', '{\"dataType\":[\"auth\",\"sub\",\"voip\",\"volte\"],\"fileType\":\"txt\"}', '0 35 0 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_udm_remark'); INSERT INTO `sys_job` VALUES (32, 'job.backup_export_cdr', 'SYSTEM', 'backup_export_cdr', '{\"dataType\":[\"ims\",\"smf\",\"sgwc\",\"smsc\"],\"fileType\":\"xlsx\",\"hour\":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_cdr_remark'); INSERT INTO `sys_job` VALUES (33, 'job.backup_export_log', 'SYSTEM', 'backup_export_log', '{\"dataType\":[\"operate\",\"login\"],\"fileType\":\"xlsx\",\"hour\":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_log_remark'); +INSERT INTO `sys_job` VALUES (34, 'job.backup_export_kpi', 'SYSTEM', 'backup_export_kpi', '{\"dataType\":[\"ims\",\"amf\",\"udm\",\"smf\",\"pcf\",\"upf\",\"mme\",\"smsc\"],\"fileType\":\"xlsx\",\"hour\":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_kpi_remark'); + + -- INSERT INTO `sys_job` VALUES (34, 'job.backup_export_table_sys_log_operate', 'SYSTEM', 'backup_export_table', '{\"hour\":1,\"columns\":[\"id\",\"title\",\"business_type\",\"opera_by\",\"opera_url_method\",\"opera_url\",\"opera_ip\",\"status\",\"opera_time\",\"cost_time\"],\"tableName\":\"sys_log_operate\",\"backupPath\":\"/log/operate_log\"}', '0 0 0/1 * * ?', '3', '0', '0', '1', 'system', 1698478134839, 'system', 1698478134839, 'job.backup_export_table_sys_log_operate_remark'); -- INSERT INTO `sys_job` VALUES (35, 'job.backup_export_table_cdr_event_ims', 'SYSTEM', 'backup_export_table', '{\"hour\":1,\"columns\":[\"id\",\"record_type\",\"call_type\",\"caller_party\",\"called_party\",\"call_duration\",\"cause\",\"seizure_time\",\"release_time\"],\"tableName\":\"cdr_event_ims\",\"backupPath\":\"/cdr/ims_cdr\"}', '0 0 0/1 * * ?', '3', '0', '0', '1', 'system', 1698478134839, 'system', 1698478134839, 'job.backup_export_table_cdr_event_ims_remark'); -- INSERT INTO `sys_job` VALUES (36, 'job.backup_export_table_cdr_event_smf', 'SYSTEM', 'backup_export_table', '{\"hour\":1,\"columns\":[\"id\",\"charging_id\",\"subscription_id_data\",\"subscription_id_type\",\"data_volume_uplink\",\"data_volume_downlink\",\"data_total_volume\",\"invocation_timestamp\",\"user_identifier\",\"ssc_mode\",\"dnn_id\",\"pdu_type\",\"rat_type\",\"pdu_ipv4\",\"pdu_ipv6\",\"network_function_ipv4_address\",\"record_nfId\",\"record_type\",\"record_opening_time\"],\"tableName\":\"cdr_event_smf\",\"backupPath\":\"/cdr/smf_cdr\"}', '0 0 0/1 * * ?', '3', '0', '0', '1', 'system', 1698478134839, 'system', 1698478134839, 'job.backup_export_table_cdr_event_smf_remark'); diff --git a/build/database/std/install/sys_menu.sql b/build/database/std/install/sys_menu.sql index 57212b9b..89f2b6c0 100644 --- a/build/database/std/install/sys_menu.sql +++ b/build/database/std/install/sys_menu.sql @@ -117,6 +117,94 @@ INSERT INTO `sys_menu` VALUES (1057, 'menu.common.query', 109, 1, '#', '', '1', INSERT INTO `sys_menu` VALUES (1058, 'menu.common.add', 109, 2, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:add', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); INSERT INTO `sys_menu` VALUES (1059, 'menu.common.edit', 109, 3, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:edit', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); INSERT INTO `sys_menu` VALUES (1060, 'menu.common.delete', 109, 4, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:remove', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); +INSERT INTO `sys_menu` VALUES (1061, 'menu.common.query', 2088, 0, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:search', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO `sys_menu` VALUES (1062, 'menu.common.add', 2088, 1, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:add', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO `sys_menu` VALUES (1063, 'menu.common.delete', 2088, 2, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:delete', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO `sys_menu` VALUES (1064, 'menu.common.edit', 2088, 3, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:edit', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO `sys_menu` VALUES (1065, 'menu.common.import', 2088, 4, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:import', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO `sys_menu` VALUES (1066, 'menu.common.export', 2088, 5, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:export', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO `sys_menu` VALUES (1067, 'menu.common.async', 2088, 6, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:async', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +INSERT INTO `sys_menu` VALUES (1068, 'menu.common.query', 2097, 0, '', '', '1', '1', 'B', '1', '1', 'faultManage:history-alarm:search', '#', '0', 'supervisor', 1757575020996, 'supervisor', 1757575020996, ''); +INSERT INTO `sys_menu` VALUES (1069, 'menu.common.export', 2097, 1, '', '', '1', '1', 'B', '1', '1', 'faultManage:history-alarm:export', '#', '0', 'supervisor', 1757575020996, 'supervisor', 1757575020996, ''); +INSERT INTO `sys_menu` VALUES (1070, 'menu.common.query', 2084, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:search', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO `sys_menu` VALUES (1071, 'menu.common.add', 2084, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:add', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO `sys_menu` VALUES (1072, 'menu.common.delete', 2084, 2, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:delete', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO `sys_menu` VALUES (1073, 'menu.common.dataview', 2084, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:dataview', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO `sys_menu` VALUES (1074, 'menu.common.pcapview', 2084, 4, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:pcapview', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO `sys_menu` VALUES (1075, 'menu.common.edit', 2084, 5, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:edit', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +INSERT INTO `sys_menu` VALUES (1076, 'menu.common.query', 2086, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:search', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO `sys_menu` VALUES (1077, 'menu.common.fileview', 2086, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:fileview', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO `sys_menu` VALUES (1078, 'menu.common.start', 2086, 2, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:start', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO `sys_menu` VALUES (1079, 'menu.common.stop', 2086, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:stop', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO `sys_menu` VALUES (1080, 'menu.common.reload', 2086, 4, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:textlog', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO `sys_menu` VALUES (1081, 'menu.common.download', 2086, 5, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:download', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +INSERT INTO `sys_menu` VALUES (1082, 'menu.common.query', 2163, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:tshark:search', '#', '0', 'supervisor', 1757667388112, 'supervisor', 1757667388112, ''); +INSERT INTO `sys_menu` VALUES (1083, 'menu.system.setting.backup', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:backup', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +INSERT INTO `sys_menu` VALUES (1084, 'menu.system.setting.reset', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:reset', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +INSERT INTO `sys_menu` VALUES (1085, 'menu.common.query', 2164, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:search', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +INSERT INTO `sys_menu` VALUES (1086, 'menu.common.start', 2164, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:start', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +INSERT INTO `sys_menu` VALUES (1087, 'menu.common.stop', 2164, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:stop', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +INSERT INTO `sys_menu` VALUES (1088, 'menu.common.query', 2137, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:search', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1089, 'menu.common.add', 2137, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:add', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1090, 'menu.common.oam', 2137, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:oam', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1091, 'menu.common.delete', 2137, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:delete', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1092, 'menu.common.edit', 2137, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:edit', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1093, 'menu.common.restart', 2137, 5, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:restart', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1094, 'menu.system.setting.homeSet', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:homeSet', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +INSERT INTO `sys_menu` VALUES (1095, 'menu.common.start', 2137, 7, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:start', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1096, 'menu.common.stop', 2137, 8, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:stop', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1097, 'menu.common.import', 2137, 9, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:import', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1098, 'menu.common.export', 2137, 10, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:export', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +INSERT INTO `sys_menu` VALUES (1099, 'menu.common.query', 2143, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:search', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO `sys_menu` VALUES (1100, 'menu.common.upload', 2143, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:upload', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO `sys_menu` VALUES (1101, 'menu.common.reload', 2143, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:reload', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO `sys_menu` VALUES (1102, 'menu.common.sync', 2143, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:sync', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO `sys_menu` VALUES (1103, 'menu.common.edit', 2143, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:edit', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +INSERT INTO `sys_menu` VALUES (1104, 'menu.common.query', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:search', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO `sys_menu` VALUES (1105, 'menu.common.upload', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:upload', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO `sys_menu` VALUES (1106, 'menu.common.delete', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:delete', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO `sys_menu` VALUES (1107, 'menu.common.edit', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:edit', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO `sys_menu` VALUES (1108, 'menu.common.download', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:download', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +INSERT INTO `sys_menu` VALUES (1109, 'menu.common.query', 2145, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:search', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +INSERT INTO `sys_menu` VALUES (1110, 'menu.common.upload', 2145, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:upload', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +INSERT INTO `sys_menu` VALUES (1111, 'menu.common.upgrade', 2145, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:upgrade', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +INSERT INTO `sys_menu` VALUES (1112, 'menu.common.rollback', 2145, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:rollback', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +INSERT INTO `sys_menu` VALUES (1113, 'menu.common.query', 2154, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:search', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +INSERT INTO `sys_menu` VALUES (1114, 'menu.common.ftp', 2154, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:ftp', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +INSERT INTO `sys_menu` VALUES (1115, 'menu.common.ftpSync', 2154, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:ftpSync', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +INSERT INTO `sys_menu` VALUES (1116, 'menu.common.download', 2154, 5, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:download', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +INSERT INTO `sys_menu` VALUES (1117, 'menu.common.query', 2000, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:search', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO `sys_menu` VALUES (1118, 'menu.common.add', 2000, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:add', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO `sys_menu` VALUES (1119, 'menu.common.delete', 2000, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:delete', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO `sys_menu` VALUES (1120, 'menu.common.reload', 2000, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:reload', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO `sys_menu` VALUES (1121, 'menu.common.import', 2000, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:import', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO `sys_menu` VALUES (1122, 'menu.common.edit', 2000, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:edit', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO `sys_menu` VALUES (1123, 'menu.common.export', 2000, 6, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:export', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +INSERT INTO `sys_menu` VALUES (1124, 'menu.common.query', 2001, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:search', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO `sys_menu` VALUES (1125, 'menu.common.add', 2001, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:add', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO `sys_menu` VALUES (1126, 'menu.common.delete', 2001, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:delete', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO `sys_menu` VALUES (1127, 'menu.common.reload', 2001, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:reload', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO `sys_menu` VALUES (1128, 'menu.common.import', 2001, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:import', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO `sys_menu` VALUES (1129, 'menu.common.export', 2001, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:export', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO `sys_menu` VALUES (1130, 'menu.common.edit', 2001, 6, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:edit', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +INSERT INTO `sys_menu` VALUES (1131, 'menu.common.query', 2002, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:search', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO `sys_menu` VALUES (1132, 'menu.common.add', 2002, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:add', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO `sys_menu` VALUES (1133, 'menu.common.delete', 2002, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:delete', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO `sys_menu` VALUES (1134, 'menu.common.reload', 2002, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:reload', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO `sys_menu` VALUES (1135, 'menu.common.import', 2002, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:import', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO `sys_menu` VALUES (1136, 'menu.common.export', 2002, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:export', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +INSERT INTO `sys_menu` VALUES (1137, 'menu.common.query', 2003, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:search', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO `sys_menu` VALUES (1138, 'menu.common.add', 2003, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:add', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO `sys_menu` VALUES (1139, 'menu.common.delete', 2003, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:delete', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO `sys_menu` VALUES (1140, 'menu.common.reload', 2003, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:reload', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO `sys_menu` VALUES (1141, 'menu.common.import', 2003, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:import', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO `sys_menu` VALUES (1142, 'menu.common.export', 2003, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:export', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +INSERT INTO `sys_menu` VALUES (1143, 'menu.common.query', 2004, 0, '', '', '1', '1', 'B', '1', '1', 'neData:ims-sub:search', '#', '0', 'supervisor', 1757673749038, 'supervisor', 1757673749038, ''); +INSERT INTO `sys_menu` VALUES (1144, 'menu.common.query', 2096, 0, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:search', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +INSERT INTO `sys_menu` VALUES (1145, 'menu.common.ftp', 2096, 1, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:ftp', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +INSERT INTO `sys_menu` VALUES (1146, 'menu.common.ftpSync', 2096, 2, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:ftpSync', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +INSERT INTO `sys_menu` VALUES (1147, 'menu.common.download', 2096, 3, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:download', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +INSERT INTO `sys_menu` VALUES (1148, 'menu.common.delete', 2096, 4, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:delete', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); INSERT INTO `sys_menu` VALUES (2000, 'menu.neData.udmAuth', 5, 1, 'udm-auth', 'neData/udm-auth/index', '1', '1', 'M', '1', '1', 'udm#auth:index', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588,'system', 1728641403588, ''); INSERT INTO `sys_menu` VALUES (2001, 'menu.neData.udmSub', 5, 3, 'udm-sub', 'neData/udm-sub/index', '1', '1', 'M', '1', '1', 'udm#sub:index', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588,'system', 1728641403588, ''); INSERT INTO `sys_menu` VALUES (2002, 'menu.neData.udmVOIP', 5, 5, 'udm-voip', 'neData/udm-voip/index', '1', '0', 'M', '1', '1', 'udm#voip:list', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588,'system', 1728641403588, ''); @@ -134,14 +222,14 @@ INSERT INTO `sys_menu` VALUES (2084, 'menu.trace.task', 2083, 1, 'task', 'traceM INSERT INTO `sys_menu` VALUES (2085, 'menu.trace.taskData', 2083, 4, 'task/inline/data', 'traceManage/task/data', '1', '0', 'M', '0', '1', 'traceManage:task:data', '#', '0', 'system', 1728641403588, 'system', 1744453921381, ''); INSERT INTO `sys_menu` VALUES (2086, 'menu.trace.pcap', 2083, 11, 'pcap', 'traceManage/pcap/index', '1', '1', 'M', '1', '1', 'traceManage:pcap:index', 'icon-soutubiao', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.trace.pcapRemark'); INSERT INTO `sys_menu` VALUES (2087, 'menu.fault', 0, 2, 'faultManage', '', '1', '0', 'D', '1', '1', '', 'icon-jinggao', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.faultRemark'); -INSERT INTO `sys_menu` VALUES (2088, 'menu.fault.active', 2129, 1, 'active-alarm', 'faultManage/active-alarm/index', '1', '1', 'M', '1', '1', 'faultManage:active-alarm:index', 'icon-wenjian', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.activemRemark'); +INSERT INTO `sys_menu` VALUES (2088, 'menu.fault.active', 2129, 1, 'active-alarm', 'faultManage/active-alarm/index', '1', '0', 'M', '1', '1', 'faultManage:active-alarm:index', 'icon-wenjian', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.activemRemark'); INSERT INTO `sys_menu` VALUES (2089, 'menu.log', 0, 9, 'logManage', '', '1', '0', 'D', '1', '1', '', 'icon-fuzhidaima', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.logRemark'); INSERT INTO `sys_menu` VALUES (2091, 'menu.log.mml', 2089, 30, 'mml', 'logManage/mml/index', '1', '1', 'M', '1', '1', 'logManage:mml:index', 'icon-wocanyu', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.log.mmlRemark'); INSERT INTO `sys_menu` VALUES (2092, 'menu.log.alarm', 2089, 40, 'alarm-log', 'logManage/alarm/index', '1', '0', 'M', '1', '1', 'logManage:alarm:index', 'icon-fuzhidaima', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.log.alarmRemark'); INSERT INTO `sys_menu` VALUES (2094, 'menu.log.forwarding', 2089, 41, 'forwarding', 'logManage/forwarding/index', '1', '0', 'M', '1', '1', 'logManage:forwarding:index', 'icon-huizhiguize', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.log.forwardingRemark'); INSERT INTO `sys_menu` VALUES (2095, 'menu.log.set', 2089, 45, 'logSet', 'logManage/logSet/index', '1', '0', 'M', '0', '0', 'logManage:logSet:index', 'icon-you', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.log.setRemark'); INSERT INTO `sys_menu` VALUES (2096, 'menu.neData.backupData', 5, 40, 'backup-data', 'neData/backup-data/index', '1', '0', 'M', '1', '1', 'ne-data:backup-data:list', 'icon-wenjian', '0', 'system', 1728641403588,'system', 1728641403588, ''); -INSERT INTO `sys_menu` VALUES (2097, 'menu.fault.history', 2129, 2, 'history-alarm', 'faultManage/history-alarm/index', '1', '1', 'M', '1', '1', 'faultManage/history-alarm/index', 'icon-huizhiguize', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.historyRemark'); +INSERT INTO `sys_menu` VALUES (2097, 'menu.fault.history', 2129, 2, 'history-alarm', 'faultManage/history-alarm/index', '1', '0', 'M', '1', '1', 'faultManage/history-alarm/index', 'icon-huizhiguize', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.historyRemark'); INSERT INTO `sys_menu` VALUES (2098, 'menu.fault.set', 2129, 100, 'fault-setting', 'faultManage/fault-setting/index', '1', '0', 'M', '0', '1', 'faultManage/fault-setting/index', 'icon-gonggaodayi', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.setRemark'); INSERT INTO `sys_menu` VALUES (2099, 'menu.perf', 0, 5, 'perfManage', '', '1', '0', 'D', '1', '1', '', 'icon-soutubiao', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.perfRemark'); INSERT INTO `sys_menu` VALUES (2100, 'menu.perf.task', 2099, 1, 'taskManage', 'perfManage/taskManage/index', '1', '0', 'M', '0', '1', 'perfManage:taskManage:index', 'icon-wofaqi', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.perf.taskRemark'); @@ -214,7 +302,7 @@ INSERT INTO `sys_menu` VALUES (2167, 'menu.dashboard.overview.imsUeNum', 2132, 2 INSERT INTO `sys_menu` VALUES (2168, 'menu.dashboard.overview.gnbBase', 2132, 6, '', '', '1', '1', 'B', '1', '1', 'dashboard:overview:gnbBase', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); INSERT INTO `sys_menu` VALUES (2169, 'menu.dashboard.overview.enbBase', 2132, 8, '', '', '1', '1', 'B', '1', '1', 'dashboard:overview:enbBase', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); -INSERT INTO `sys_menu` VALUES (20000, 'menu.ue.cbc.cbe', 5, 20, 'cbe', 'cbc/cbe/index', '1', '0', 'M', '1', '1', 'cbc#dashboard:cdr:index', 'icon-tubiaoku', '0', 'system', 1711352709786, 'system', 1747796007372, ''); +INSERT INTO `sys_menu` VALUES (20000, 'menu.neData.cbcCBE', 5, 20, 'cbe', 'cbc/cbe/index', '1', '0', 'M', '1', '1', 'cbc#dashboard:cdr:index', 'icon-tubiaoku', '0', 'system', 1711352709786, 'system', 1747796007372, ''); SET FOREIGN_KEY_CHECKS = 1; diff --git a/build/database/std/install/sys_role_menu.sql b/build/database/std/install/sys_role_menu.sql index 052e4a23..7a303c73 100644 --- a/build/database/std/install/sys_role_menu.sql +++ b/build/database/std/install/sys_role_menu.sql @@ -52,6 +52,88 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1051); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1053); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1055); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1056); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1057); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1058); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1059); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1060); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1061); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1062); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1063); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1064); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1065); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1066); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1067); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1068); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1069); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1070); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1071); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1072); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1073); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1074); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1075); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1076); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1077); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1078); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1079); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1080); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1081); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1082); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1083); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1084); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1085); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1086); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1087); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1088); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1089); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1090); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1091); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1092); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1093); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1094); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1095); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1096); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1097); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1098); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1099); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1100); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1101); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1102); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1103); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1109); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1110); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1111); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1112); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1117); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1118); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1119); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1120); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1121); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1122); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1124); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1125); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1126); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1127); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1128); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1129); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1130); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1131); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1132); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1133); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1134); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1135); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1136); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1137); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1138); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1139); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1140); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1141); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1142); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1143); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1144); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1145); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1146); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1147); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1148); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2000); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2001); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2002); @@ -119,13 +201,75 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 20000); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 4); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 5); -INSERT IGNORE INTO `sys_role_menu` VALUES (3, 60); -INSERT IGNORE INTO `sys_role_menu` VALUES (3, 65); -INSERT IGNORE INTO `sys_role_menu` VALUES (3, 66); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 108); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 112); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 500); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 501); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1039); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1042); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1061); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1062); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1063); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1064); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1065); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1066); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1067); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1068); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1069); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1070); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1071); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1072); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1073); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1074); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1075); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1076); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1077); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1078); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1079); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1080); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1081); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1082); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1088); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1089); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1090); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1091); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1092); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1093); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1095); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1096); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1097); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1098); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1099); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1100); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1101); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1102); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1103); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1117); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1118); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1119); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1120); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1121); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1122); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1124); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1125); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1126); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1127); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1128); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1129); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1130); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1131); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1132); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1133); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1134); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1135); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1136); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1137); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1138); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1139); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1140); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1141); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1142); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1143); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2000); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2001); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2002); @@ -144,7 +288,6 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2087); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2088); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2089); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2092); -INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2094); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2097); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2112); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2116); @@ -183,6 +326,15 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1041); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1042); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1044); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1048); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1061); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1062); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1063); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1064); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1065); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1066); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1067); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1068); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1069); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2087); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2088); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2089); diff --git a/build/database/std/upgrade/upg_kpi_c_report_nrf.sql b/build/database/std/upgrade/upg_kpi_c_report_nrf.sql new file mode 100644 index 00000000..fe949e98 --- /dev/null +++ b/build/database/std/upgrade/upg_kpi_c_report_nrf.sql @@ -0,0 +1,27 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for kpi_c_report_nrf +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `kpi_c_report_nrf` ( + `id` int NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss', + `start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss', + `end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss', + `index` int NOT NULL COMMENT 'Index of the report', + `granularity` int DEFAULT '60' COMMENT 'Time granualarity: 5/10/.../60/300 (second)', + `kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String', + `created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_c_nrf_uid_at` (`rm_uid`,`created_at`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_自定义指标数据_NRF'; + +-- ---------------------------- +-- COLUMN for kpi_c_report_nrf +-- ---------------------------- + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/build/database/std/upgrade/upg_kpi_report_nrf.sql b/build/database/std/upgrade/upg_kpi_report_nrf.sql new file mode 100644 index 00000000..caf0d026 --- /dev/null +++ b/build/database/std/upgrade/upg_kpi_report_nrf.sql @@ -0,0 +1,27 @@ +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for kpi_report_nrf +-- ---------------------------- +CREATE TABLE IF NOT EXISTS `kpi_report_nrf` ( + `id` int NOT NULL AUTO_INCREMENT, + `ne_type` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `rm_uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '', + `date` varchar(10) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT 'Date of the report yyyy-mm-dd hh:mi:ss', + `start_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'Start time of the report hh:mi:ss', + `end_time` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'End time of the report hh:mi:ss', + `index` int NOT NULL COMMENT 'Index of the report', + `granularity` int DEFAULT '60' COMMENT 'Time granualarity: 5/10/.../60/300 (second)', + `kpi_values` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'KPI values JSON String', + `created_at` bigint DEFAULT '0' COMMENT 'Creation time 接收到的timestamp秒级存储毫秒时间戳', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_nrf_uid_at` (`rm_uid`,`created_at`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='KPI_指标数据_NRF'; + +-- ---------------------------- +-- COLUMN for kpi_report_nrf +-- ---------------------------- + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/build/database/std/upgrade/upg_sys_i18n.sql b/build/database/std/upgrade/upg_sys_i18n.sql index c7e99ad2..6041d3f7 100644 --- a/build/database/std/upgrade/upg_sys_i18n.sql +++ b/build/database/std/upgrade/upg_sys_i18n.sql @@ -787,6 +787,27 @@ REPLACE INTO `sys_i18n` VALUES (772, 'job.delete_uenb_record_remark', 'storeDays REPLACE INTO `sys_i18n` VALUES (773, 'menu.perf.kpiTitle', '关键指标标题', 'Key Performance Title'); REPLACE INTO `sys_i18n` VALUES (774, 'menu.neData.cbcCBE', '预警广播', 'Early Warning Broadcast'); REPLACE INTO `sys_i18n` VALUES (775, 'log.operate.title.cbcMessage', '预警广播', 'Early Warning Broadcast'); +REPLACE INTO `sys_i18n` VALUES (776, 'menu.common.async', '主动同步', 'Active Synchronization'); +REPLACE INTO `sys_i18n` VALUES (777, 'menu.common.dataview', '数据视图', 'Data View'); +REPLACE INTO `sys_i18n` VALUES (778, 'menu.common.pcapview', 'PCAP视图', 'PCAP View'); +REPLACE INTO `sys_i18n` VALUES (779, 'menu.common.fileview', '历史抓包文件', 'Historical Packet Capture File'); +REPLACE INTO `sys_i18n` VALUES (780, 'menu.common.start', '启动', 'Start'); +REPLACE INTO `sys_i18n` VALUES (781, 'menu.common.stop', '停止', 'Stop'); +REPLACE INTO `sys_i18n` VALUES (782, 'menu.common.restart', '重新启动', 'Restart'); +REPLACE INTO `sys_i18n` VALUES (783, 'menu.common.reload', '重新加载', 'Reload'); +REPLACE INTO `sys_i18n` VALUES (784, 'menu.common.download', '下载', 'Download'); +REPLACE INTO `sys_i18n` VALUES (785, 'menu.common.upload', '上传', 'Upload'); +REPLACE INTO `sys_i18n` VALUES (786, 'menu.common.oam', 'OAM', 'OAM'); +REPLACE INTO `sys_i18n` VALUES (787, 'menu.common.sync', '同步', 'Synchronization'); +REPLACE INTO `sys_i18n` VALUES (788, 'menu.common.upgrade', '升级', 'Upgrade'); +REPLACE INTO `sys_i18n` VALUES (789, 'menu.common.rollback', '回滚', 'Rollback'); +REPLACE INTO `sys_i18n` VALUES (790, 'menu.common.ftp', 'FTP 配置', 'FTP Config'); +REPLACE INTO `sys_i18n` VALUES (791, 'menu.common.ftpSync', 'FTP 同步', 'FTP Synchronization'); +REPLACE INTO `sys_i18n` VALUES (792, 'job.backup_export_kpi', '备份-KPI数据定期导出', 'Backup-Periodic export of KPI Data'); +REPLACE INTO `sys_i18n` VALUES (793, 'job.backup_export_kpi_remark', 'dataType: 类型支持 ims/smf/sgwc/smsc\nfileType: 文件类型 csv/xlsx\nhour: 数据时间从任务执行时间前的小时数', 'dataType: type support ims/smf/sgwc/smsc\nfileType: file type csv/xlsx\nhour: data time from the hour before the task execution time'); +REPLACE INTO `sys_i18n` VALUES (794, 'menu.system.setting.homeSet', '主页设置', 'Home Set'); +REPLACE INTO `sys_i18n` VALUES (795, 'menu.system.setting.reset', '重置', 'Reset'); +REPLACE INTO `sys_i18n` VALUES (796, 'menu.system.setting.backup', '备份还原', 'Backup Restore'); REPLACE INTO `sys_i18n` VALUES (2000, 'menu.psap.agent', '座席', 'Agent'); REPLACE INTO `sys_i18n` VALUES (2001, 'menu.psap.agent.callings', '并行话务', 'Calling Information'); diff --git a/build/database/std/upgrade/upg_sys_job.sql b/build/database/std/upgrade/upg_sys_job.sql index 9e964593..7148021d 100644 --- a/build/database/std/upgrade/upg_sys_job.sql +++ b/build/database/std/upgrade/upg_sys_job.sql @@ -62,6 +62,9 @@ REPLACE INTO `sys_job` VALUES (30, 'job.backup_remove_file', 'SYSTEM', 'backup_r REPLACE INTO `sys_job` VALUES (31, 'job.backup_export_udm', 'SYSTEM', 'backup_export_udm', '{\"dataType\":[\"auth\",\"sub\",\"voip\",\"volte\"],\"fileType\":\"txt\"}', '0 35 0 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_udm_remark'); REPLACE INTO `sys_job` VALUES (32, 'job.backup_export_cdr', 'SYSTEM', 'backup_export_cdr', '{\"dataType\":[\"ims\",\"smf\",\"sgwc\",\"smsc\"],\"fileType\":\"xlsx\",\"hour\":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_cdr_remark'); REPLACE INTO `sys_job` VALUES (33, 'job.backup_export_log', 'SYSTEM', 'backup_export_log', '{\"dataType\":[\"operate\",\"login\"],\"fileType\":\"xlsx\",\"hour\":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_log_remark'); +REPLACE INTO `sys_job` VALUES (34, 'job.backup_export_kpi', 'SYSTEM', 'backup_export_kpi', '{\"dataType\":[\"ims\",\"amf\",\"udm\",\"smf\",\"pcf\",\"upf\",\"mme\",\"smsc\"],\"fileType\":\"xlsx\",\"hour\":1}', '0 0 0/1 * * ?', '3', '0', '1', '1', 'system', 1698478134839, 'supervisor', 1745481169354, 'job.backup_export_kpi_remark'); + + -- REPLACE INTO `sys_job` VALUES (34, 'job.backup_export_table_sys_log_operate', 'SYSTEM', 'backup_export_table', '{\"hour\":1,\"columns\":[\"id\",\"title\",\"business_type\",\"opera_by\",\"opera_url_method\",\"opera_url\",\"opera_ip\",\"status\",\"opera_time\",\"cost_time\"],\"tableName\":\"sys_log_operate\",\"backupPath\":\"/log/operate_log\"}', '0 0 0/1 * * ?', '3', '0', '0', '1', 'system', 1698478134839, 'system', 1698478134839, 'job.backup_export_table_sys_log_operate_remark'); -- REPLACE INTO `sys_job` VALUES (35, 'job.backup_export_table_cdr_event_ims', 'SYSTEM', 'backup_export_table', '{\"hour\":1,\"columns\":[\"id\",\"record_type\",\"call_type\",\"caller_party\",\"called_party\",\"call_duration\",\"cause\",\"seizure_time\",\"release_time\"],\"tableName\":\"cdr_event_ims\",\"backupPath\":\"/cdr/ims_cdr\"}', '0 0 0/1 * * ?', '3', '0', '0', '1', 'system', 1698478134839, 'system', 1698478134839, 'job.backup_export_table_cdr_event_ims_remark'); -- REPLACE INTO `sys_job` VALUES (36, 'job.backup_export_table_cdr_event_smf', 'SYSTEM', 'backup_export_table', '{\"hour\":1,\"columns\":[\"id\",\"charging_id\",\"subscription_id_data\",\"subscription_id_type\",\"data_volume_uplink\",\"data_volume_downlink\",\"data_total_volume\",\"invocation_timestamp\",\"user_identifier\",\"ssc_mode\",\"dnn_id\",\"pdu_type\",\"rat_type\",\"pdu_ipv4\",\"pdu_ipv6\",\"network_function_ipv4_address\",\"record_nfId\",\"record_type\",\"record_opening_time\"],\"tableName\":\"cdr_event_smf\",\"backupPath\":\"/cdr/smf_cdr\"}', '0 0 0/1 * * ?', '3', '0', '0', '1', 'system', 1698478134839, 'system', 1698478134839, 'job.backup_export_table_cdr_event_smf_remark'); diff --git a/build/database/std/upgrade/upg_sys_menu.sql b/build/database/std/upgrade/upg_sys_menu.sql index 711c3206..9bf4970d 100644 --- a/build/database/std/upgrade/upg_sys_menu.sql +++ b/build/database/std/upgrade/upg_sys_menu.sql @@ -139,6 +139,94 @@ REPLACE INTO `sys_menu` VALUES (1057, 'menu.common.query', 109, 1, '#', '', '1', REPLACE INTO `sys_menu` VALUES (1058, 'menu.common.add', 109, 2, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:add', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); REPLACE INTO `sys_menu` VALUES (1059, 'menu.common.edit', 109, 3, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:edit', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); REPLACE INTO `sys_menu` VALUES (1060, 'menu.common.delete', 109, 4, '#', '', '1', '1', 'B', '1', '1', 'system:loginSource:remove', '#', '0', 'system', 1728641403588,'system', 1728641403588, ''); +REPLACE INTO `sys_menu` VALUES (1061, 'menu.common.query', 2088, 0, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:search', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO `sys_menu` VALUES (1062, 'menu.common.add', 2088, 1, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:add', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO `sys_menu` VALUES (1063, 'menu.common.delete', 2088, 2, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:delete', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO `sys_menu` VALUES (1064, 'menu.common.edit', 2088, 3, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:edit', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO `sys_menu` VALUES (1065, 'menu.common.import', 2088, 4, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:import', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO `sys_menu` VALUES (1066, 'menu.common.export', 2088, 5, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:export', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO `sys_menu` VALUES (1067, 'menu.common.async', 2088, 6, '', '', '1', '1', 'B', '1', '1', 'faultManage:active-alarm:async', '#', '0', 'supervisor', 1757573172991, 'supervisor', 1757574077936, ''); +REPLACE INTO `sys_menu` VALUES (1068, 'menu.common.query', 2097, 0, '', '', '1', '1', 'B', '1', '1', 'faultManage:history-alarm:search', '#', '0', 'supervisor', 1757575020996, 'supervisor', 1757575020996, ''); +REPLACE INTO `sys_menu` VALUES (1069, 'menu.common.export', 2097, 1, '', '', '1', '1', 'B', '1', '1', 'faultManage:history-alarm:export', '#', '0', 'supervisor', 1757575020996, 'supervisor', 1757575020996, ''); +REPLACE INTO `sys_menu` VALUES (1070, 'menu.common.query', 2084, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:search', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO `sys_menu` VALUES (1071, 'menu.common.add', 2084, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:add', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO `sys_menu` VALUES (1072, 'menu.common.delete', 2084, 2, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:delete', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO `sys_menu` VALUES (1073, 'menu.common.dataview', 2084, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:dataview', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO `sys_menu` VALUES (1074, 'menu.common.pcapview', 2084, 4, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:pcapview', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO `sys_menu` VALUES (1075, 'menu.common.edit', 2084, 5, '', '', '1', '1', 'B', '1', '1', 'traceManage:task:edit', '#', '0', 'supervisor', 1757575930962, 'supervisor', 1757575930962, ''); +REPLACE INTO `sys_menu` VALUES (1076, 'menu.common.query', 2086, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:search', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO `sys_menu` VALUES (1077, 'menu.common.fileview', 2086, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:fileview', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO `sys_menu` VALUES (1078, 'menu.common.start', 2086, 2, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:start', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO `sys_menu` VALUES (1079, 'menu.common.stop', 2086, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:stop', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO `sys_menu` VALUES (1080, 'menu.common.reload', 2086, 4, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:textlog', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO `sys_menu` VALUES (1081, 'menu.common.download', 2086, 5, '', '', '1', '1', 'B', '1', '1', 'traceManage:pcap:download', '#', '0', 'supervisor', 1757576647815, 'supervisor', 1757576647815, ''); +REPLACE INTO `sys_menu` VALUES (1082, 'menu.common.query', 2163, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:tshark:search', '#', '0', 'supervisor', 1757667388112, 'supervisor', 1757667388112, ''); +REPLACE INTO `sys_menu` VALUES (1083, 'menu.system.setting.backup', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:backup', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +REPLACE INTO `sys_menu` VALUES (1084, 'menu.system.setting.reset', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:reset', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +REPLACE INTO `sys_menu` VALUES (1085, 'menu.common.query', 2164, 0, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:search', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +REPLACE INTO `sys_menu` VALUES (1086, 'menu.common.start', 2164, 1, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:start', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +REPLACE INTO `sys_menu` VALUES (1087, 'menu.common.stop', 2164, 3, '', '', '1', '1', 'B', '1', '1', 'traceManage:wireshark:stop', '#', '0', 'supervisor', 1757667601966, 'supervisor', 1757667601966, ''); +REPLACE INTO `sys_menu` VALUES (1088, 'menu.common.query', 2137, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:search', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1089, 'menu.common.add', 2137, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:add', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1090, 'menu.common.oam', 2137, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:oam', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1091, 'menu.common.delete', 2137, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:delete', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1092, 'menu.common.edit', 2137, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:edit', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1093, 'menu.common.restart', 2137, 5, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:restart', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1094, 'menu.system.setting.homeSet', 2114, 7, '', '', '1', '1', 'B', '1', '1', 'system:setting:homeSet', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); +REPLACE INTO `sys_menu` VALUES (1095, 'menu.common.start', 2137, 7, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:start', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1096, 'menu.common.stop', 2137, 8, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:stop', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1097, 'menu.common.import', 2137, 9, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:import', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1098, 'menu.common.export', 2137, 10, '', '', '1', '1', 'B', '1', '1', 'ne:neInfo:export', '#', '0', 'supervisor', 1757668326671, 'supervisor', 1757668326671, ''); +REPLACE INTO `sys_menu` VALUES (1099, 'menu.common.query', 2143, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:search', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO `sys_menu` VALUES (1100, 'menu.common.upload', 2143, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:upload', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO `sys_menu` VALUES (1101, 'menu.common.reload', 2143, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:reload', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO `sys_menu` VALUES (1102, 'menu.common.sync', 2143, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:sync', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO `sys_menu` VALUES (1103, 'menu.common.edit', 2143, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neLicense:edit', '#', '0', 'supervisor', 1757669412817, 'supervisor', 1757669412817, ''); +REPLACE INTO `sys_menu` VALUES (1104, 'menu.common.query', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:search', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO `sys_menu` VALUES (1105, 'menu.common.upload', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:upload', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO `sys_menu` VALUES (1106, 'menu.common.delete', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:delete', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO `sys_menu` VALUES (1107, 'menu.common.edit', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:edit', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO `sys_menu` VALUES (1108, 'menu.common.download', 2144, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neSoftware:download', '#', '0', 'supervisor', 1757670420438, 'supervisor', 1757670420438, ''); +REPLACE INTO `sys_menu` VALUES (1109, 'menu.common.query', 2145, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:search', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +REPLACE INTO `sys_menu` VALUES (1110, 'menu.common.upload', 2145, 1, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:upload', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +REPLACE INTO `sys_menu` VALUES (1111, 'menu.common.upgrade', 2145, 2, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:upgrade', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +REPLACE INTO `sys_menu` VALUES (1112, 'menu.common.rollback', 2145, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neVersion:rollback', '#', '0', 'supervisor', 1757670920498, 'supervisor', 1757670920498, ''); +REPLACE INTO `sys_menu` VALUES (1113, 'menu.common.query', 2154, 0, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:search', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +REPLACE INTO `sys_menu` VALUES (1114, 'menu.common.ftp', 2154, 3, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:ftp', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +REPLACE INTO `sys_menu` VALUES (1115, 'menu.common.ftpSync', 2154, 4, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:ftpSync', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +REPLACE INTO `sys_menu` VALUES (1116, 'menu.common.download', 2154, 5, '', '', '1', '1', 'B', '1', '1', 'ne:neConfigBackup:download', '#', '0', 'supervisor', 1757671370761, 'supervisor', 1757671370761, ''); +REPLACE INTO `sys_menu` VALUES (1117, 'menu.common.query', 2000, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:search', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO `sys_menu` VALUES (1118, 'menu.common.add', 2000, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:add', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO `sys_menu` VALUES (1119, 'menu.common.delete', 2000, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:delete', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO `sys_menu` VALUES (1120, 'menu.common.reload', 2000, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:reload', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO `sys_menu` VALUES (1121, 'menu.common.import', 2000, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:import', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO `sys_menu` VALUES (1122, 'menu.common.edit', 2000, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:edit', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO `sys_menu` VALUES (1123, 'menu.common.export', 2000, 6, '', '', '1', '1', 'B', '1', '1', 'neData:udm-auth:export', '#', '0', 'supervisor', 1757671977637, 'supervisor', 1757671977637, ''); +REPLACE INTO `sys_menu` VALUES (1124, 'menu.common.query', 2001, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:search', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO `sys_menu` VALUES (1125, 'menu.common.add', 2001, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:add', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO `sys_menu` VALUES (1126, 'menu.common.delete', 2001, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:delete', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO `sys_menu` VALUES (1127, 'menu.common.reload', 2001, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:reload', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO `sys_menu` VALUES (1128, 'menu.common.import', 2001, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:import', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO `sys_menu` VALUES (1129, 'menu.common.export', 2001, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:export', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO `sys_menu` VALUES (1130, 'menu.common.edit', 2001, 6, '', '', '1', '1', 'B', '1', '1', 'neData:udm-sub:edit', '#', '0', 'supervisor', 1757672390000, 'supervisor', 1757672390000, ''); +REPLACE INTO `sys_menu` VALUES (1131, 'menu.common.query', 2002, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:search', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO `sys_menu` VALUES (1132, 'menu.common.add', 2002, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:add', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO `sys_menu` VALUES (1133, 'menu.common.delete', 2002, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:delete', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO `sys_menu` VALUES (1134, 'menu.common.reload', 2002, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:reload', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO `sys_menu` VALUES (1135, 'menu.common.import', 2002, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:import', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO `sys_menu` VALUES (1136, 'menu.common.export', 2002, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-voip:export', '#', '0', 'supervisor', 1757672781645, 'supervisor', 1757672803128, ''); +REPLACE INTO `sys_menu` VALUES (1137, 'menu.common.query', 2003, 0, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:search', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO `sys_menu` VALUES (1138, 'menu.common.add', 2003, 1, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:add', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO `sys_menu` VALUES (1139, 'menu.common.delete', 2003, 2, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:delete', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO `sys_menu` VALUES (1140, 'menu.common.reload', 2003, 3, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:reload', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO `sys_menu` VALUES (1141, 'menu.common.import', 2003, 4, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:import', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO `sys_menu` VALUES (1142, 'menu.common.export', 2003, 5, '', '', '1', '1', 'B', '1', '1', 'neData:udm-volte:export', '#', '0', 'supervisor', 1757673311688, 'supervisor', 1757673311688, ''); +REPLACE INTO `sys_menu` VALUES (1143, 'menu.common.query', 2004, 0, '', '', '1', '1', 'B', '1', '1', 'neData:ims-sub:search', '#', '0', 'supervisor', 1757673749038, 'supervisor', 1757673749038, ''); +REPLACE INTO `sys_menu` VALUES (1144, 'menu.common.query', 2096, 0, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:search', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +REPLACE INTO `sys_menu` VALUES (1145, 'menu.common.ftp', 2096, 1, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:ftp', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +REPLACE INTO `sys_menu` VALUES (1146, 'menu.common.ftpSync', 2096, 2, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:ftpSync', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +REPLACE INTO `sys_menu` VALUES (1147, 'menu.common.download', 2096, 3, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:download', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); +REPLACE INTO `sys_menu` VALUES (1148, 'menu.common.delete', 2096, 4, '', '', '1', '1', 'B', '1', '1', 'ne-data:backup-data:delete', '#', '0', 'supervisor', 1757673844822, 'supervisor', 1757673844822, ''); REPLACE INTO `sys_menu` VALUES (2000, 'menu.neData.udmAuth', 5, 1, 'udm-auth', 'neData/udm-auth/index', '1', '1', 'M', '1', '1', 'udm#auth:index', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588,'system', 1728641403588, ''); REPLACE INTO `sys_menu` VALUES (2001, 'menu.neData.udmSub', 5, 3, 'udm-sub', 'neData/udm-sub/index', '1', '1', 'M', '1', '1', 'udm#sub:index', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588,'system', 1728641403588, ''); REPLACE INTO `sys_menu` VALUES (2002, 'menu.neData.udmVOIP', 5, 5, 'udm-voip', 'neData/udm-voip/index', '1', '0', 'M', '1', '1', 'udm#voip:list', 'icon-xiangmuchengyuan', '0', 'system', 1728641403588,'system', 1728641403588, ''); @@ -156,14 +244,14 @@ REPLACE INTO `sys_menu` VALUES (2084, 'menu.trace.task', 2083, 1, 'task', 'trace REPLACE INTO `sys_menu` VALUES (2085, 'menu.trace.taskData', 2083, 4, 'task/inline/data', 'traceManage/task/data', '1', '0', 'M', '0', '1', 'traceManage:task:data', '#', '0', 'system', 1728641403588, 'system', 1744453921381, ''); REPLACE INTO `sys_menu` VALUES (2086, 'menu.trace.pcap', 2083, 11, 'pcap', 'traceManage/pcap/index', '1', '1', 'M', '1', '1', 'traceManage:pcap:index', 'icon-soutubiao', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.trace.pcapRemark'); REPLACE INTO `sys_menu` VALUES (2087, 'menu.fault', 0, 2, 'faultManage', '', '1', '0', 'D', '1', '1', '', 'icon-jinggao', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.faultRemark'); -REPLACE INTO `sys_menu` VALUES (2088, 'menu.fault.active', 2129, 1, 'active-alarm', 'faultManage/active-alarm/index', '1', '1', 'M', '1', '1', 'faultManage:active-alarm:index', 'icon-wenjian', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.activemRemark'); +REPLACE INTO `sys_menu` VALUES (2088, 'menu.fault.active', 2129, 1, 'active-alarm', 'faultManage/active-alarm/index', '1', '0', 'M', '1', '1', 'faultManage:active-alarm:index', 'icon-wenjian', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.activemRemark'); REPLACE INTO `sys_menu` VALUES (2089, 'menu.log', 0, 9, 'logManage', '', '1', '0', 'D', '1', '1', '', 'icon-fuzhidaima', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.logRemark'); REPLACE INTO `sys_menu` VALUES (2091, 'menu.log.mml', 2089, 30, 'mml', 'logManage/mml/index', '1', '1', 'M', '1', '1', 'logManage:mml:index', 'icon-wocanyu', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.log.mmlRemark'); REPLACE INTO `sys_menu` VALUES (2092, 'menu.log.alarm', 2089, 40, 'alarm-log', 'logManage/alarm/index', '1', '0', 'M', '1', '1', 'logManage:alarm:index', 'icon-fuzhidaima', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.log.alarmRemark'); REPLACE INTO `sys_menu` VALUES (2094, 'menu.log.forwarding', 2089, 41, 'forwarding', 'logManage/forwarding/index', '1', '0', 'M', '1', '1', 'logManage:forwarding:index', 'icon-huizhiguize', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.log.forwardingRemark'); REPLACE INTO `sys_menu` VALUES (2095, 'menu.log.set', 2089, 45, 'logSet', 'logManage/logSet/index', '1', '0', 'M', '0', '0', 'logManage:logSet:index', 'icon-you', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.log.setRemark'); REPLACE INTO `sys_menu` VALUES (2096, 'menu.neData.backupData', 5, 40, 'backup-data', 'neData/backup-data/index', '1', '0', 'M', '1', '1', 'ne-data:backup-data:list', 'icon-wenjian', '0', 'system', 1728641403588,'system', 1728641403588, ''); -REPLACE INTO `sys_menu` VALUES (2097, 'menu.fault.history', 2129, 2, 'history-alarm', 'faultManage/history-alarm/index', '1', '1', 'M', '1', '1', 'faultManage/history-alarm/index', 'icon-huizhiguize', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.historyRemark'); +REPLACE INTO `sys_menu` VALUES (2097, 'menu.fault.history', 2129, 2, 'history-alarm', 'faultManage/history-alarm/index', '1', '0', 'M', '1', '1', 'faultManage/history-alarm/index', 'icon-huizhiguize', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.historyRemark'); REPLACE INTO `sys_menu` VALUES (2098, 'menu.fault.set', 2129, 100, 'fault-setting', 'faultManage/fault-setting/index', '1', '0', 'M', '0', '1', 'faultManage/fault-setting/index', 'icon-gonggaodayi', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.fault.setRemark'); REPLACE INTO `sys_menu` VALUES (2099, 'menu.perf', 0, 5, 'perfManage', '', '1', '0', 'D', '1', '1', '', 'icon-soutubiao', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.perfRemark'); REPLACE INTO `sys_menu` VALUES (2100, 'menu.perf.task', 2099, 1, 'taskManage', 'perfManage/taskManage/index', '1', '0', 'M', '0', '1', 'perfManage:taskManage:index', 'icon-wofaqi', '0', 'system', 1728641403588,'system', 1728641403588, 'menu.perf.taskRemark'); @@ -236,7 +324,7 @@ REPLACE INTO `sys_menu` VALUES (2167, 'menu.dashboard.overview.imsUeNum', 2132, REPLACE INTO `sys_menu` VALUES (2168, 'menu.dashboard.overview.gnbBase', 2132, 6, '', '', '1', '1', 'B', '1', '1', 'dashboard:overview:gnbBase', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); REPLACE INTO `sys_menu` VALUES (2169, 'menu.dashboard.overview.enbBase', 2132, 8, '', '', '1', '1', 'B', '1', '1', 'dashboard:overview:enbBase', '#', '0', 'system', 1728641403588, 'system', 1728641403588, ''); -REPLACE INTO `sys_menu` VALUES (20000, 'menu.ue.cbc.cbe', 5, 20, 'cbe', 'cbc/cbe/index', '1', '0', 'M', '1', '1', 'cbc#dashboard:cdr:index', 'icon-tubiaoku', '0', 'system', 1711352709786, 'system', 1747796007372, ''); +REPLACE INTO `sys_menu` VALUES (20000, 'menu.neData.cbcCBE', 5, 20, 'cbe', 'cbc/cbe/index', '1', '0', 'M', '1', '1', 'cbc#dashboard:cdr:index', 'icon-tubiaoku', '0', 'system', 1711352709786, 'system', 1747796007372, ''); SET FOREIGN_KEY_CHECKS = 1; diff --git a/build/database/std/upgrade/upg_sys_role_menu.sql b/build/database/std/upgrade/upg_sys_role_menu.sql index cf50260f..48c4a237 100644 --- a/build/database/std/upgrade/upg_sys_role_menu.sql +++ b/build/database/std/upgrade/upg_sys_role_menu.sql @@ -52,6 +52,88 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1051); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1053); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1055); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1056); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1057); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1058); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1059); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1060); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1061); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1062); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1063); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1064); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1065); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1066); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1067); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1068); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1069); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1070); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1071); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1072); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1073); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1074); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1075); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1076); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1077); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1078); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1079); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1080); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1081); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1082); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1083); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1084); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1085); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1086); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1087); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1088); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1089); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1090); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1091); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1092); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1093); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1094); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1095); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1096); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1097); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1098); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1099); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1100); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1101); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1102); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1103); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1109); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1110); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1111); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1112); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1117); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1118); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1119); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1120); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1121); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1122); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1124); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1125); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1126); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1127); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1128); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1129); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1130); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1131); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1132); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1133); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1134); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1135); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1136); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1137); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1138); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1139); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1140); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1141); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1142); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1143); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1144); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1145); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1146); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1147); +INSERT IGNORE INTO `sys_role_menu` VALUES (2, 1148); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2000); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2001); INSERT IGNORE INTO `sys_role_menu` VALUES (2, 2002); @@ -119,13 +201,75 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (2, 20000); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 4); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 5); -INSERT IGNORE INTO `sys_role_menu` VALUES (3, 60); -INSERT IGNORE INTO `sys_role_menu` VALUES (3, 65); -INSERT IGNORE INTO `sys_role_menu` VALUES (3, 66); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 108); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 112); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 500); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 501); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1039); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1042); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1061); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1062); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1063); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1064); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1065); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1066); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1067); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1068); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1069); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1070); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1071); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1072); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1073); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1074); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1075); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1076); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1077); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1078); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1079); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1080); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1081); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1082); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1088); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1089); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1090); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1091); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1092); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1093); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1095); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1096); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1097); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1098); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1099); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1100); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1101); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1102); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1103); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1117); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1118); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1119); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1120); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1121); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1122); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1124); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1125); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1126); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1127); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1128); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1129); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1130); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1131); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1132); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1133); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1134); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1135); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1136); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1137); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1138); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1139); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1140); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1141); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1142); +INSERT IGNORE INTO `sys_role_menu` VALUES (3, 1143); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2000); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2001); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2002); @@ -144,7 +288,6 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2087); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2088); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2089); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2092); -INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2094); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2097); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2112); INSERT IGNORE INTO `sys_role_menu` VALUES (3, 2116); @@ -183,6 +326,15 @@ INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1041); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1042); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1044); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1048); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1061); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1062); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1063); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1064); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1065); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1066); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1067); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1068); +INSERT IGNORE INTO `sys_role_menu` VALUES (4, 1069); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2087); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2088); INSERT IGNORE INTO `sys_role_menu` VALUES (4, 2089); diff --git a/src/framework/database/db/expand.go b/src/framework/database/db/expand.go index ec4af539..e36ccc40 100644 --- a/src/framework/database/db/expand.go +++ b/src/framework/database/db/expand.go @@ -107,9 +107,10 @@ func processSQLFile(db *gorm.DB, filePath string) { // 忽略重复记录错误 // Error 1062 (23000): Duplicate entry 'value' for key 'key_name' log.Println(err.Error()) - } else if strings.Contains(errorStr, "unknown column") { + } else if strings.Contains(errorStr, "unknown column") || strings.Contains(errorStr, "no such column") { // 忽略未知字段错误 // Error 1054 (42S22): Unknown column 'field_name' in 'table' + // sql logic error: no such column: "field_name" (1) } else if strings.Contains(errorStr, "can't drop") { // 忽略删除字段或索引错误 // Error 1091 (42000): Can't DROP COLUMN `field_name`; check that it exists diff --git a/src/modules/auth/controller/oauth2_client.go b/src/modules/auth/controller/oauth2_client.go index 830c9b71..b8be0406 100644 --- a/src/modules/auth/controller/oauth2_client.go +++ b/src/modules/auth/controller/oauth2_client.go @@ -31,6 +31,13 @@ type Oauth2ClientController struct { // GET /list func (s Oauth2ClientController) List(c *gin.Context) { query := reqctx.QueryMap(c) + // 分页检查 + pageNum := parse.Number(query["pageNum"]) + pageSize := parse.Number(query["pageSize"]) + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return + } rows, total := s.oauth2ClientService.FindByPage(query) c.JSON(200, resp.OkData(map[string]any{"rows": rows, "total": total})) } diff --git a/src/modules/crontask/processor/backup_export_cdr/backup_export_cdr.go b/src/modules/crontask/processor/backup_export_cdr/backup_export_cdr.go index e1e7646f..38649a16 100644 --- a/src/modules/crontask/processor/backup_export_cdr/backup_export_cdr.go +++ b/src/modules/crontask/processor/backup_export_cdr/backup_export_cdr.go @@ -61,26 +61,49 @@ func (s *BackupExportCDRProcessor) Execute(data any) (any, error) { } for _, v := range params.DataType { + // 前 hour 小时 + now := time.Now() + end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location()) + start := end.Add(-time.Duration(params.Hour) * time.Hour) + query := map[string]string{ + "neType": "", + "neId": "", + "rmUID": "", + "beginTime": fmt.Sprint(start.UnixMilli()), + "endTime": fmt.Sprint(end.UnixMilli()), + } switch v { case "ims": neList := s.neInfoService.Find(neModel.NeInfo{NeType: "IMS"}, false, false) for _, ne := range neList { - result[ne.NeName] = s.exportIMS(params.Hour, ne.RmUID, params.FileType) + query["neType"] = "IMS" + query["neId"] = ne.NeId + query["rmUID"] = ne.RmUID + result[ne.NeName] = s.exportIMS(query, params.FileType) } case "smsc": neList := s.neInfoService.Find(neModel.NeInfo{NeType: "SMSC"}, false, false) for _, ne := range neList { - result[ne.NeName] = s.exportSMSC(params.Hour, ne.RmUID, params.FileType) + query["neType"] = "SMSC" + query["neId"] = ne.NeId + query["rmUID"] = ne.RmUID + result[ne.NeName] = s.exportSMSC(query, params.FileType) } case "smf": neList := s.neInfoService.Find(neModel.NeInfo{NeType: "SMF"}, false, false) for _, ne := range neList { - result[ne.NeName] = s.exportSMF(params.Hour, ne.RmUID, params.FileType) + query["neType"] = "SMF" + query["neId"] = ne.NeId + query["rmUID"] = ne.RmUID + result[ne.NeName] = s.exportSMF(query, params.FileType) } case "sgwc": neList := s.neInfoService.Find(neModel.NeInfo{NeType: "SGWC"}, false, false) for _, ne := range neList { - result[ne.NeName] = s.exportSGWC(params.Hour, ne.RmUID, params.FileType) + query["neType"] = "SGWC" + query["neId"] = ne.NeId + query["rmUID"] = ne.RmUID + result[ne.NeName] = s.exportSGWC(query, params.FileType) } } } @@ -90,30 +113,21 @@ func (s *BackupExportCDRProcessor) Execute(data any) (any, error) { } // exportIMS 导出IMS-CDR会话事件数据 -func (s BackupExportCDRProcessor) exportIMS(hour int, rmUID, fileType string) string { - // 前 hour 小时 - now := time.Now() - end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location()) - start := end.Add(-time.Duration(hour) * time.Hour) - +func (s BackupExportCDRProcessor) exportIMS(query map[string]string, fileType string) string { language := "en" - query := map[string]string{ - "sortField": "timestamp", - "sortOrder": "asc", - "rmUID": rmUID, - "beginTime": fmt.Sprint(start.UnixMilli()), - "endTime": fmt.Sprint(end.UnixMilli()), - "pageNum": fmt.Sprint(1), - "pageSize": fmt.Sprint(30000), - } - rows, total := s.cdrEventService.FindByPage("IMS", query) + neType := query["neType"] + neTypeLower := strings.ToLower(neType) + neId := query["neId"] + endTime := parse.Number(query["endTime"]) + rows, total := s.cdrEventService.FindByPage(neType, query) if total == 0 { return "no data" } // 导出文件名称 - fileName := fmt.Sprintf("ims_cdr_event_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType) - filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/ims_cdr_event", fileName) + dateStr := date.ParseDateToStr(endTime, date.YYYYMMDDHHMMSS) + fileName := fmt.Sprintf("%s_%s_cdr_export_%d_%s.%s", neTypeLower, neId, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, fmt.Sprintf("/cdr/%s", neTypeLower), fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) } @@ -379,30 +393,21 @@ func (s BackupExportCDRProcessor) exportIMS(hour int, rmUID, fileType string) st } // exportSMSC 导出SMSC-CDR会话事件数据 -func (s BackupExportCDRProcessor) exportSMSC(hour int, rmUID, fileType string) string { - // 前 hour 小时 - now := time.Now() - end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location()) - start := end.Add(-time.Duration(hour) * time.Hour) - +func (s BackupExportCDRProcessor) exportSMSC(query map[string]string, fileType string) string { language := "en" - query := map[string]string{ - "sortField": "timestamp", - "sortOrder": "asc", - "rmUID": rmUID, - "beginTime": fmt.Sprint(start.UnixMilli()), - "endTime": fmt.Sprint(end.UnixMilli()), - "pageNum": fmt.Sprint(1), - "pageSize": fmt.Sprint(30000), - } - rows, total := s.cdrEventService.FindByPage("SMSC", query) + neType := query["neType"] + neTypeLower := strings.ToLower(neType) + neId := query["neId"] + endTime := parse.Number(query["endTime"]) + rows, total := s.cdrEventService.FindByPage(neType, query) if total == 0 { return "no data" } // 导出文件名称 - fileName := fmt.Sprintf("smsc_cdr_event_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType) - filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/smsc_cdr_event", fileName) + dateStr := date.ParseDateToStr(endTime, date.YYYYMMDDHHMMSS) + fileName := fmt.Sprintf("%s_%s_cdr_export_%d_%s.%s", neTypeLower, neId, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, fmt.Sprintf("/cdr/%s", neTypeLower), fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) } @@ -596,29 +601,20 @@ func (s BackupExportCDRProcessor) exportSMSC(hour int, rmUID, fileType string) s } // exportSMF 导出SMF-CDR会话事件数据 -func (s BackupExportCDRProcessor) exportSMF(hour int, rmUID, fileType string) string { - // 前 hour 小时 - now := time.Now() - end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location()) - start := end.Add(-time.Duration(hour) * time.Hour) - - query := map[string]string{ - "sortField": "timestamp", - "sortOrder": "asc", - "rmUID": rmUID, - "beginTime": fmt.Sprint(start.UnixMilli()), - "endTime": fmt.Sprint(end.UnixMilli()), - "pageNum": fmt.Sprint(1), - "pageSize": fmt.Sprint(30000), - } - rows, total := s.cdrEventService.FindByPage("SMF", query) +func (s BackupExportCDRProcessor) exportSMF(query map[string]string, fileType string) string { + neType := query["neType"] + neTypeLower := strings.ToLower(neType) + neId := query["neId"] + endTime := parse.Number(query["endTime"]) + rows, total := s.cdrEventService.FindByPage(neType, query) if total == 0 { return "no data" } // 导出文件名称 - fileName := fmt.Sprintf("smf_cdr_event_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType) - filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/smf_cdr_event", fileName) + dateStr := date.ParseDateToStr(endTime, date.YYYYMMDDHHMMSS) + fileName := fmt.Sprintf("%s_%s_cdr_export_%d_%s.%s", neTypeLower, neId, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, fmt.Sprintf("/cdr/%s", neTypeLower), fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) } @@ -1004,29 +1000,20 @@ func (s BackupExportCDRProcessor) exportSMF(hour int, rmUID, fileType string) st } // exportSGWC 导出SGWC-CDR会话事件数据 -func (s BackupExportCDRProcessor) exportSGWC(hour int, rmUID, fileType string) string { - // 前 hour 小时 - now := time.Now() - end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location()) - start := end.Add(-time.Duration(hour) * time.Hour) - - query := map[string]string{ - "sortField": "timestamp", - "sortOrder": "asc", - "rmUID": rmUID, - "beginTime": fmt.Sprint(start.UnixMilli()), - "endTime": fmt.Sprint(end.UnixMilli()), - "pageNum": fmt.Sprint(1), - "pageSize": fmt.Sprint(30000), - } - rows, total := s.cdrEventService.FindByPage("SGWC", query) +func (s BackupExportCDRProcessor) exportSGWC(query map[string]string, fileType string) string { + neType := query["neType"] + neTypeLower := strings.ToLower(neType) + neId := query["neId"] + endTime := parse.Number(query["endTime"]) + rows, total := s.cdrEventService.FindByPage(neType, query) if total == 0 { return "no data" } // 导出文件名称 - fileName := fmt.Sprintf("sgwc_cdr_event_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType) - filePath := filepath.Join(s.backupService.BACKUP_DIR, "/cdr/sgwc_cdr_event", fileName) + dateStr := date.ParseDateToStr(endTime, date.YYYYMMDDHHMMSS) + fileName := fmt.Sprintf("%s_%s_cdr_export_%d_%s.%s", neTypeLower, neId, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, fmt.Sprintf("/cdr/%s", neTypeLower), fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) } diff --git a/src/modules/crontask/processor/backup_export_kpi/backup_export_kpi.go b/src/modules/crontask/processor/backup_export_kpi/backup_export_kpi.go new file mode 100644 index 00000000..248fc49f --- /dev/null +++ b/src/modules/crontask/processor/backup_export_kpi/backup_export_kpi.go @@ -0,0 +1,416 @@ +package backup_export_kpi + +import ( + "encoding/json" + "fmt" + "path/filepath" + "runtime" + "sort" + "strconv" + "strings" + "time" + + "be.ems/src/framework/cron" + "be.ems/src/framework/logger" + "be.ems/src/framework/utils/date" + "be.ems/src/framework/utils/file" + "be.ems/src/framework/utils/parse" + neModel "be.ems/src/modules/ne/model" + neService "be.ems/src/modules/ne/service" + neDataModel "be.ems/src/modules/ne_data/model" + neDataService "be.ems/src/modules/ne_data/service" +) + +var NewProcessor = &BackupExportKPIProcessor{ + count: 0, + backupService: neDataService.NewBackup, + neInfoService: neService.NewNeInfo, + kpiReportService: neDataService.NewKpiReport, + kpicReportService: neDataService.NewKpiCReport, +} + +// BackupExportKPI 队列任务处理 +type BackupExportKPIProcessor struct { + count int // 执行次数 + backupService *neDataService.Backup // 备份相关服务 + neInfoService *neService.NeInfo // 网元信息服务 + kpiReportService *neDataService.KpiReport // 统计信息服务 + kpicReportService *neDataService.KpiCReport // 统计信息服务 +} + +func (s *BackupExportKPIProcessor) Execute(data any) (any, error) { + s.count++ // 执行次数加一 + options := data.(cron.JobData) + sysJob := options.SysJob + logger.Infof("重复:%v 任务ID:%d 执行次数:%d", options.Repeat, sysJob.JobId, s.count) + // 返回结果,用于记录执行结果 + result := map[string]any{ + "count": s.count, + } + + var params struct { + DataType []string `json:"dataType"` // 类型支持 ims/amf/udm/smf/pcf/upf/mme/smsc + FileType string `json:"fileType"` // 文件类型 csv/xlsx + Hour int `json:"hour"` // 数据时间从任务执行时间前的小时数 + } + if err := json.Unmarshal([]byte(sysJob.TargetParams), ¶ms); err != nil { + return nil, err + } + if !(params.FileType == "csv" || params.FileType == "xlsx") { + return nil, fmt.Errorf("file type error, only support csv,xlsx") + } + + for _, v := range params.DataType { + neList := s.neInfoService.Find(neModel.NeInfo{NeType: strings.ToUpper(v)}, false, false) + for _, ne := range neList { + // 前 hour 小时 + now := time.Now() + end := time.Date(now.Year(), now.Month(), now.Day(), now.Hour(), 0, 0, 0, now.Location()) + start := end.Add(-time.Duration(params.Hour) * time.Hour) + // 密度 + var interval int64 = 60 + if ne.NeType == "UPF" { + interval = 5 + } + + // 指标 + query := neDataModel.KPIQuery{ + NeType: ne.NeType, + NeID: ne.NeId, + RmUID: ne.RmUID, + Interval: interval, + BeginTime: start.UnixMilli(), + EndTime: end.UnixMilli(), + } + result[ne.NeName+"_kpi"] = s.exportKPI(query, params.FileType) + + // 自定义指标 + queryC := neDataModel.KPICQuery{ + NeType: ne.NeType, + NeID: ne.NeId, + RmUID: ne.RmUID, + Interval: interval, + BeginTime: start.UnixMilli(), + EndTime: end.UnixMilli(), + } + result[ne.NeName+"_kpic"] = s.exportKPIC(queryC, params.FileType) + } + } + + // 返回结果,用于记录执行结果 + return result, nil +} + +// exportKPI 导出KPI数据 +func (s *BackupExportKPIProcessor) exportKPI(query neDataModel.KPIQuery, fileType string) string { + rows := s.kpiReportService.FindData(query) + if len(rows) == 0 { + return "no data" + } + + // 获取数据指标id + kpiIdMap := make(map[string]string, 0) + kpiTitles := s.kpiReportService.FindTitle(query.NeType) + for _, v := range kpiTitles { + kpiIdMap[v.KpiId] = v.EnTitle + } + + // 导出文件名称 + dateStr := date.ParseDateToStr(parse.Number(query.EndTime), date.YYYYMMDDHHMMSS) + fileName := fmt.Sprintf("%s_%s_kpi_export_%d_%s.%s", strings.ToLower(query.NeType), query.NeID, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, fmt.Sprintf("/kpi/%s", strings.ToLower(query.NeType)), fileName) + if runtime.GOOS == "windows" { + filePath = fmt.Sprintf("C:%s", filePath) + } + + if fileType == "csv" { + data := [][]string{} + + // 获取kpiIdMap的键并排序 + var sortedKpiIds []string + for kpiId := range kpiIdMap { + sortedKpiIds = append(sortedKpiIds, kpiId) + } + sort.Strings(sortedKpiIds) // 按字母排序 + + // 头 - 按排序后的顺序添加标题 + header := []string{} + for _, kpiId := range sortedKpiIds { + header = append(header, kpiIdMap[kpiId]) + } + header = append(header, "NE Name") + header = append(header, "Time") + data = append(data, header) + + for _, row := range rows { + // 取时间 + timeStr := "" + if v, ok := row["timeGroup"]; ok && v != nil { + if releaseTime := parse.Number(v); releaseTime > 0 { + timeStr = date.ParseDateToStr(releaseTime, date.YYYY_MM_DDTHH_MM_SSZ) + } else { + timeStr = fmt.Sprintf("%s", v) + } + } + // 取网元名称 + neName := "" + if v, ok := row["neName"]; ok && v != nil { + neName = fmt.Sprintf("%s", v) + } + + // 按排序后的顺序获取数据 + dataRow := []string{} + for _, kpiId := range sortedKpiIds { + value := "" + if v, ok := row[kpiId]; ok && v != nil { + value = fmt.Sprint(v) + } + dataRow = append(dataRow, value) + } + dataRow = append(dataRow, neName) + dataRow = append(dataRow, timeStr) + data = append(data, dataRow) + } + // 输出到文件 + if err := file.WriterFileCSV(data, filePath); err != nil { + logger.Errorf("export operate log err => %v", err.Error()) + return "export err" + } + } + + if fileType == "xlsx" { + // 获取kpiIdMap的键并排序 + var sortedKpiIds []string + for kpiId := range kpiIdMap { + sortedKpiIds = append(sortedKpiIds, kpiId) + } + sort.Strings(sortedKpiIds) // 按字母排序 + + // 第一行表头标题 - 按排序后的顺序 + headerCells := map[string]string{} + colIndex := 0 + + // 先添加KPI标题列 + for i, kpiId := range sortedKpiIds { + colLetter := string(rune('A' + i)) + headerCells[colLetter+"1"] = kpiIdMap[kpiId] + colIndex++ + } + + // 添加NE Name和Time列 + neNameCol := string(rune('A' + colIndex)) + headerCells[neNameCol+"1"] = "NE Name" + colIndex++ + + timeCol := string(rune('A' + colIndex)) + headerCells[timeCol+"1"] = "Time" + + // 从第二行开始的数据 + dataCells := make([]map[string]any, 0) + for i, row := range rows { + idx := strconv.Itoa(i + 2) + + // 取时间和网元名称 + timeStr := "" + if v, ok := row["timeGroup"]; ok && v != nil { + if releaseTime := parse.Number(v); releaseTime > 0 { + timeStr = date.ParseDateToStr(releaseTime, date.YYYY_MM_DDTHH_MM_SSZ) + } else { + timeStr = fmt.Sprintf("%s", v) + } + } + + neName := "" + if v, ok := row["neName"]; ok && v != nil { + neName = fmt.Sprintf("%s", v) + } + + // 按排序后的顺序填充数据 + dataCell := map[string]any{} + + // 填充KPI数据 + for j, kpiId := range sortedKpiIds { + value := "" + if v, ok := row[kpiId]; ok && v != nil { + value = fmt.Sprint(v) + } + colLetter := string(rune('A' + j)) + dataCell[colLetter+idx] = value + } + + // 填充NE Name和Time + dataCell[neNameCol+idx] = neName + dataCell[timeCol+idx] = timeStr + + dataCells = append(dataCells, dataCell) + } + // 导出数据表格 + if err := file.WriterFileExecl(headerCells, dataCells, filePath, ""); err != nil { + logger.Errorf("export operate log err => %v", err.Error()) + return "export err" + } + } + + // 上传到FTP服务器 + if err := s.backupService.FTPPushFile(filePath, ""); err != nil { + return "ok, ftp err:" + err.Error() + } + return "ok" +} + +// exportKPI 导出KPI数据 +func (s *BackupExportKPIProcessor) exportKPIC(query neDataModel.KPICQuery, fileType string) string { + rows := s.kpicReportService.FindData(query) + if len(rows) == 0 { + return "no data" + } + + // 获取数据指标id + kpiIdMap := make(map[string]string, 0) + kpiTitles := s.kpiReportService.FindTitle(query.NeType) + for _, v := range kpiTitles { + kpiIdMap[v.KpiId] = v.EnTitle + } + + // 导出文件名称 + dateStr := date.ParseDateToStr(parse.Number(query.EndTime), date.YYYYMMDDHHMMSS) + fileName := fmt.Sprintf("%s_%s_kpic_export_%d_%s.%s", strings.ToLower(query.NeType), query.NeID, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, fmt.Sprintf("/kpi/%s", strings.ToLower(query.NeType)), fileName) + if runtime.GOOS == "windows" { + filePath = fmt.Sprintf("C:%s", filePath) + } + + if fileType == "csv" { + data := [][]string{} + + // 获取kpiIdMap的键并排序 + var sortedKpiIds []string + for kpiId := range kpiIdMap { + sortedKpiIds = append(sortedKpiIds, kpiId) + } + sort.Strings(sortedKpiIds) // 按字母排序 + + // 头 - 按排序后的顺序添加标题 + header := []string{} + for _, kpiId := range sortedKpiIds { + header = append(header, kpiIdMap[kpiId]) + } + header = append(header, "NE Name") + header = append(header, "Time") + data = append(data, header) + + for _, row := range rows { + // 取时间 + timeStr := "" + if v, ok := row["timeGroup"]; ok && v != nil { + if releaseTime := parse.Number(v); releaseTime > 0 { + timeStr = date.ParseDateToStr(releaseTime, date.YYYY_MM_DDTHH_MM_SSZ) + } else { + timeStr = fmt.Sprintf("%s", v) + } + } + // 取网元名称 + neName := "" + if v, ok := row["neName"]; ok && v != nil { + neName = fmt.Sprintf("%s", v) + } + + // 按排序后的顺序获取数据 + dataRow := []string{} + for _, kpiId := range sortedKpiIds { + value := "" + if v, ok := row[kpiId]; ok && v != nil { + value = fmt.Sprint(v) + } + dataRow = append(dataRow, value) + } + dataRow = append(dataRow, neName) + dataRow = append(dataRow, timeStr) + data = append(data, dataRow) + } + // 输出到文件 + if err := file.WriterFileCSV(data, filePath); err != nil { + logger.Errorf("export operate log err => %v", err.Error()) + return "export err" + } + } + + if fileType == "xlsx" { + // 获取kpiIdMap的键并排序 + var sortedKpiIds []string + for kpiId := range kpiIdMap { + sortedKpiIds = append(sortedKpiIds, kpiId) + } + sort.Strings(sortedKpiIds) // 按字母排序 + + // 第一行表头标题 - 按排序后的顺序 + headerCells := map[string]string{} + colIndex := 0 + + // 先添加KPI标题列 + for i, kpiId := range sortedKpiIds { + colLetter := string(rune('A' + i)) + headerCells[colLetter+"1"] = kpiIdMap[kpiId] + colIndex++ + } + + // 添加NE Name和Time列 + neNameCol := string(rune('A' + colIndex)) + headerCells[neNameCol+"1"] = "NE Name" + colIndex++ + + timeCol := string(rune('A' + colIndex)) + headerCells[timeCol+"1"] = "Time" + + // 从第二行开始的数据 + dataCells := make([]map[string]any, 0) + for i, row := range rows { + idx := strconv.Itoa(i + 2) + + // 取时间和网元名称 + timeStr := "" + if v, ok := row["timeGroup"]; ok && v != nil { + if releaseTime := parse.Number(v); releaseTime > 0 { + timeStr = date.ParseDateToStr(releaseTime, date.YYYY_MM_DDTHH_MM_SSZ) + } else { + timeStr = fmt.Sprintf("%s", v) + } + } + + neName := "" + if v, ok := row["neName"]; ok && v != nil { + neName = fmt.Sprintf("%s", v) + } + + // 按排序后的顺序填充数据 + dataCell := map[string]any{} + + // 填充KPI数据 + for j, kpiId := range sortedKpiIds { + value := "" + if v, ok := row[kpiId]; ok && v != nil { + value = fmt.Sprint(v) + } + colLetter := string(rune('A' + j)) + dataCell[colLetter+idx] = value + } + + // 填充NE Name和Time + dataCell[neNameCol+idx] = neName + dataCell[timeCol+idx] = timeStr + + dataCells = append(dataCells, dataCell) + } + // 导出数据表格 + if err := file.WriterFileExecl(headerCells, dataCells, filePath, ""); err != nil { + logger.Errorf("export operate log err => %v", err.Error()) + return "export err" + } + } + + // 上传到FTP服务器 + if err := s.backupService.FTPPushFile(filePath, ""); err != nil { + return "ok, ftp err:" + err.Error() + } + return "ok" +} diff --git a/src/modules/crontask/processor/backup_export_log/backup_export_log.go b/src/modules/crontask/processor/backup_export_log/backup_export_log.go index b16ca749..df851218 100644 --- a/src/modules/crontask/processor/backup_export_log/backup_export_log.go +++ b/src/modules/crontask/processor/backup_export_log/backup_export_log.go @@ -79,8 +79,6 @@ func (s BackupExportLogProcessor) exportOperate(hour int, fileType string) strin query := map[string]string{ "beginTime": fmt.Sprint(start.UnixMilli()), "endTime": fmt.Sprint(end.UnixMilli()), - "pageNum": "1", - "pageSize": "30000", } rows, total := s.sysOperateService.FindByPage(query, "") if total == 0 { @@ -97,7 +95,8 @@ func (s BackupExportLogProcessor) exportOperate(hour int, fileType string) strin converI18n(language, &rows) // 导出文件名称 - fileName := fmt.Sprintf("sys_log_operate_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType) + dateStr := date.ParseDateToStr(end.UnixMilli(), date.YYYYMMDDHHMMSS) + fileName := fmt.Sprintf("sys_log_operate_export_%d_%s.%s", len(rows), dateStr, fileType) filePath := filepath.Join(s.backupService.BACKUP_DIR, "/log/sys_log_operate", fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) @@ -243,8 +242,6 @@ func (s BackupExportLogProcessor) exportLogin(hour int, fileType string) string query := map[string]string{ "beginTime": fmt.Sprint(start.UnixMilli()), "endTime": fmt.Sprint(end.UnixMilli()), - "pageNum": "1", - "pageSize": "30000", } rows, total := s.sysLogLoginService.FindByPage(query, "") if total == 0 { @@ -263,7 +260,8 @@ func (s BackupExportLogProcessor) exportLogin(hour int, fileType string) string converI18n(language, &rows) // 导出文件名称 - fileName := fmt.Sprintf("sys_log_login_export_%d_%s.%s", len(rows), date.ParseDateToStr(end, date.YYYYMMDDHHMMSS), fileType) + dateStr := date.ParseDateToStr(end.UnixMilli(), date.YYYYMMDDHHMMSS) + fileName := fmt.Sprintf("sys_log_login_export_%d_%s.%s", len(rows), dateStr, fileType) filePath := filepath.Join(s.backupService.BACKUP_DIR, "/log/sys_log_login", fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) diff --git a/src/modules/crontask/processor/backup_export_udm/backup_export_udm.go b/src/modules/crontask/processor/backup_export_udm/backup_export_udm.go index dacd60d5..739f5bed 100644 --- a/src/modules/crontask/processor/backup_export_udm/backup_export_udm.go +++ b/src/modules/crontask/processor/backup_export_udm/backup_export_udm.go @@ -85,9 +85,10 @@ func (s BackupExportUDMProcessor) exportAuth(neId, fileType string) string { return "no data" } - // 文件名 - fileName := fmt.Sprintf("auth_%s_export_%s.%s", neId, time.Now().Format("20060102150405"), fileType) - filePath := filepath.Join("/usr/local/omc/backup/udm_data/auth", fileName) + // 导出文件名称 + dateStr := time.Now().Format("20060102150405") + fileName := fmt.Sprintf("auth_%s_export_%d_%s.%s", neId, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, "/udm/auth", fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) } @@ -139,9 +140,10 @@ func (s BackupExportUDMProcessor) exportSub(neId, fileType string) string { return "no data" } - // 文件名 - fileName := fmt.Sprintf("sub_%s_export_%s.%s", neId, time.Now().Format("20060102150405"), fileType) - filePath := filepath.Join("/usr/local/omc/backup/udm_data/sub", fileName) + // 导出文件名称 + dateStr := time.Now().Format("20060102150405") + fileName := fmt.Sprintf("sub_%s_export_%d_%s.%s", neId, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, "/udm/sub", fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) } @@ -187,9 +189,10 @@ func (s BackupExportUDMProcessor) exportVOIP(neId, fileType string) string { return "no data" } - // 文件名 - fileName := fmt.Sprintf("voip_%s_export_%s.%s", neId, time.Now().Format("20060102150405"), fileType) - filePath := filepath.Join("/usr/local/omc/backup/udm_data/voip", fileName) + // 导出文件名称 + dateStr := time.Now().Format("20060102150405") + fileName := fmt.Sprintf("voip_%s_export_%d_%s.%s", neId, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, "/udm/voip", fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) } @@ -233,9 +236,10 @@ func (s BackupExportUDMProcessor) exportVolte(neId, fileType string) string { return "no data" } - // 文件名 - fileName := fmt.Sprintf("volte_%s_export_%s.%s", neId, time.Now().Format("20060102150405"), fileType) - filePath := filepath.Join("/usr/local/omc/backup/udm_data/volte", fileName) + // 导出文件名称 + dateStr := time.Now().Format("20060102150405") + fileName := fmt.Sprintf("volte_%s_export_%d_%s.%s", neId, len(rows), dateStr, fileType) + filePath := filepath.Join(s.backupService.BACKUP_DIR, "/udm/volte", fileName) if runtime.GOOS == "windows" { filePath = fmt.Sprintf("C:%s", filePath) } diff --git a/src/modules/crontask/processor/ne_alarm_state_check_cmd/ne_alarm_state_check_cmd.go b/src/modules/crontask/processor/ne_alarm_state_check_cmd/ne_alarm_state_check_cmd.go index 0ed093ac..aeca0757 100644 --- a/src/modules/crontask/processor/ne_alarm_state_check_cmd/ne_alarm_state_check_cmd.go +++ b/src/modules/crontask/processor/ne_alarm_state_check_cmd/ne_alarm_state_check_cmd.go @@ -25,9 +25,9 @@ import ( ) var ( - triggerMax int64 = 3 // 阈值:连续触发次数大于该值才会产生告警 - triggerCount sync.Map // 阈值连续触发次数,存储每个事件的触发记录 - triggerWindow time.Duration = 5 * time.Second // 事件触发的时间窗口 + triggerMax int64 = 3 // 阈值:连续触发次数大于该值才会产生告警 + triggerCount sync.Map // 阈值连续触发次数,存储每个事件的触发记录 + triggerWindow time.Duration = 30 * time.Second // 事件触发的时间窗口 ) var NewProcessor = &NeAlarmStateCheckCMDProcessor{ diff --git a/src/modules/crontask/processor/processor.go b/src/modules/crontask/processor/processor.go index ededc7bd..a87b84ea 100644 --- a/src/modules/crontask/processor/processor.go +++ b/src/modules/crontask/processor/processor.go @@ -3,6 +3,7 @@ package processor import ( "be.ems/src/framework/cron" processorBackupExportCDR "be.ems/src/modules/crontask/processor/backup_export_cdr" + processorBackupExportKPI "be.ems/src/modules/crontask/processor/backup_export_kpi" processorBackupExportLog "be.ems/src/modules/crontask/processor/backup_export_log" processorBackupExportTable "be.ems/src/modules/crontask/processor/backup_export_table" processorBackupExportUDM "be.ems/src/modules/crontask/processor/backup_export_udm" @@ -60,4 +61,6 @@ func InitCronQueue() { cron.CreateQueue("backup_export_cdr", processorBackupExportCDR.NewProcessor) // 备份-导出Log数据 cron.CreateQueue("backup_export_log", processorBackupExportLog.NewProcessor) + // 备份-导出KPI数据 + cron.CreateQueue("backup_export_kpi", processorBackupExportKPI.NewProcessor) } diff --git a/src/modules/ne/controller/ne_info.go b/src/modules/ne/controller/ne_info.go index 9ccb0c5a..daeb9c38 100644 --- a/src/modules/ne/controller/ne_info.go +++ b/src/modules/ne/controller/ne_info.go @@ -395,8 +395,6 @@ func (s NeInfoController) Add(c *gin.Context) { // 已有网元可获取的信息 if body.ServerState != nil { if v, ok := body.ServerState["version"]; ok && v != nil { - neVersion.Name = "-" - neVersion.Path = "-" neVersion.Version = fmt.Sprint(v) } if v, ok := body.ServerState["sn"]; ok && v != nil { @@ -499,8 +497,6 @@ func (s NeInfoController) Edit(c *gin.Context) { // 已有网元可获取的信息 if body.ServerState != nil { if v, ok := body.ServerState["version"]; ok && v != nil { - neVersion.Name = "-" - neVersion.Path = "-" neVersion.Version = fmt.Sprint(v) neVersion.UpdateBy = loginUserName } diff --git a/src/modules/ne/service/ne_config_backup.go b/src/modules/ne/service/ne_config_backup.go index 3fe504e2..b6082575 100644 --- a/src/modules/ne/service/ne_config_backup.go +++ b/src/modules/ne/service/ne_config_backup.go @@ -80,28 +80,99 @@ func (s NeConfigBackup) FileLocalToNe(neInfo model.NeInfo, localFile string) err return fmt.Errorf("unzip err") } - // 网元主机的SSH客户端 - // sshClient, err := NewNeInfo.NeRunSSHClient(neInfo.NeType, neInfo.NeId) - // if err != nil { - // return fmt.Errorf("ne info ssh client err") - // } - // defer sshClient.Close() - // // 网元主机的SSH客户端进行文件传输 - // sftpClient, err := sshClient.NewClientSFTP() - // if err != nil { - // return fmt.Errorf("ne info sftp client err") - // } - // defer sftpClient.Close() + // 本地复制到网元端 + if err := s.FileLocalToNePath(neInfo, localDirPath); err != nil { + return err + } + + _ = os.RemoveAll(localDirPath) // 删除本地临时目录 + return nil +} + +// FileNeToLocal 网元备份文件网元端复制到本地 +func (s NeConfigBackup) FileNeToLocal(neInfo model.NeInfo) (string, error) { + neTypeLower := strings.ToLower(neInfo.NeType) + // 网管本地路径 + omcPath := "/usr/local/omc/backup/ne_config" + if runtime.GOOS == "windows" { + omcPath = fmt.Sprintf("C:%s", omcPath) + } + localDirPath := fmt.Sprintf("%s/%s/%s/from_ne_tmp", omcPath, neTypeLower, neInfo.NeId) + + // 网元端复制到本地 + if err := s.FileNeToLocalPath(neInfo, localDirPath); err != nil { + return "", err + } + + // 压缩zip文件名 + zipFileName := fmt.Sprintf("%s-%s-etc-%s.zip", neTypeLower, neInfo.NeId, date.ParseDateToStr(time.Now(), date.YYYYMMDDHHMMSS)) + zipFilePath := fmt.Sprintf("%s/%s/%s/%s", omcPath, neTypeLower, neInfo.NeId, zipFileName) + if err := file.CompressZipByDir(zipFilePath, localDirPath); err != nil { + return "", fmt.Errorf("compress zip err") + } + + _ = os.RemoveAll(localDirPath) // 删除本地临时目录 + return zipFilePath, nil +} + +// FileNeToLocalPath 网元备份文件网元端复制到本地路径 +func (s NeConfigBackup) FileNeToLocalPath(neInfo model.NeInfo, localDirPath string) error { + neTypeLower := strings.ToLower(neInfo.NeType) + + // 网元配置文件先复制到临时目录 + cmd.Exec("sudo mkdir -p /tmp/omc/ne_config && sudo chmod 777 -R /tmp/omc") + neDirTemp := fmt.Sprintf("/tmp/omc/ne_config/%s/%s", neTypeLower, neInfo.NeId) + switch neTypeLower { + case "ims": + // ims目录 + cmd.Exec(fmt.Sprintf("mkdir -p %s/ims", neDirTemp)) + imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manages.yaml", "pcscf", "scscf", "vars.cfg", "zlog"} + for _, v := range imsDirArr { + cmd.Exec(fmt.Sprintf("sudo cp -rf /usr/local/etc/ims/%s %s/ims", v, neDirTemp)) + } + // mf目录 + cmd.Exec(fmt.Sprintf("mkdir -p %s/mf && sudo cp -rf /usr/local/etc/mf %s", neDirTemp, neDirTemp)) + // rtproxy目录 + cmd.Exec(fmt.Sprintf("mkdir -p %s/rtproxy && sudo cp -rf /usr/local/etc/rtproxy/rtproxy.conf %s/rtproxy", neDirTemp, neDirTemp)) + // iwf目录 + cmd.Exec(fmt.Sprintf("mkdir -p %s/iwf && sudo cp -rf /usr/local/etc/iwf/*.yaml %s/iwf", neDirTemp, neDirTemp)) + case "udm": + // udm目录 + cmd.Exec(fmt.Sprintf("mkdir -p %s && sudo cp -rf /usr/local/etc/udm/*.yaml %s", neDirTemp, neDirTemp)) + // kvdb目录 + cmd.Exec(fmt.Sprintf("mkdir -p %s/kvdb && sudo cp -rf /usr/local/etc/kvdb/*.{rdb,conf} %s/kvdb", neDirTemp, neDirTemp)) + cmd.Exec(fmt.Sprintf("mkdir -p %s/kvdb && sudo cp -rf /usr/local/etc/kvdb/log %s/kvdb", neDirTemp, neDirTemp)) + case "smsc": + cmd.Exec(fmt.Sprintf("mkdir -p %s && sudo cp -rf /usr/local/etc/smsc/{*.yaml,*.conf,*conf.txt} %s", neDirTemp, neDirTemp)) + cmd.Exec(fmt.Sprintf("sudo cp -rf /usr/local/etc/smsc/conf %s/conf", neDirTemp)) + default: + nePath := fmt.Sprintf("/usr/local/etc/%s/*.yaml", neTypeLower) + if neTypeLower == "amf" { + nePath = fmt.Sprintf("/usr/local/etc/%s/*.{yaml,csv}", neTypeLower) + } + if neTypeLower == "mme" { + nePath = fmt.Sprintf("/usr/local/etc/%s/*.{yaml,conf,csv}", neTypeLower) + } + cmd.Exec(fmt.Sprintf("mkdir -p %s && sudo cp -rf %s %s", neDirTemp, nePath, neDirTemp)) + } + + // 网元端复制到本地 + if err := file.CopyDir(neDirTemp, localDirPath); err != nil { + return fmt.Errorf("copy config err") + } + cmd.Exec(fmt.Sprintf("sudo rm -rf %s", neDirTemp)) // 删除临时目录 + return nil +} + +// FileLocalToNePath 网元备份文件本地路径复制到网元端 +func (s NeConfigBackup) FileLocalToNePath(neInfo model.NeInfo, localDirPath string) error { + neTypeLower := strings.ToLower(neInfo.NeType) // 网元配置端上的临时目录 neDirTemp := fmt.Sprintf("/tmp/omc/ne_config/%s/%s", neTypeLower, neInfo.NeId) - // sshClient.RunCMD(fmt.Sprintf("sudo mkdir -p /tmp/omc/ne_config && sudo chmod 777 -R /tmp/omc && sudo rm -rf %s", neDirTemp)) - cmd.Execf("sudo mkdir -p /tmp/omc/ne_config && sudo chmod 777 -R /tmp/omc && sudo rm -rf %s", neDirTemp) - // 复制到网元端 - // if err = sftpClient.CopyDirLocalToRemote(localDirPath, neDirTemp); err != nil { - // return fmt.Errorf("copy config to ne err") - // } - if err := file.CopyDir(localDirPath, neDirTemp); err != nil { + cmd.Exec(fmt.Sprintf("sudo mkdir -p %s && sudo chmod 777 -R /tmp/omc && sudo rm -rf %s", neDirTemp, neDirTemp)) + // 网元端复制到本地 + if err := file.CopyDir(neDirTemp, localDirPath); err != nil { return fmt.Errorf("copy config to ne err") } @@ -122,85 +193,24 @@ func (s NeConfigBackup) FileLocalToNe(neInfo model.NeInfo, localFile string) err case "smsc": chmodFile := "sudo chmod 777 /usr/local/etc/smsc/{*sys.conf,*conf.txt,conf/is41_operation.conf}" cmd.Exec(fmt.Sprintf("sudo mkdir -p /usr/local/etc/smsc/conf && sudo cp -rf %s/* /usr/local/etc/smsc && %s", neDirTemp, chmodFile)) + case "udm": + // udm目录 + chmodFile := "sudo chmod 777 /usr/local/etc/udm/*.yaml" + cmd.Exec(fmt.Sprintf("sudo cp -rf %s/*.yaml /usr/local/etc/udm && %s", neDirTemp, chmodFile)) + // kvdb目录 + cmd.Exec(fmt.Sprintf("sudo mkdir -p /usr/local/etc/kvdb && sudo cp -rf %s/kvdb/* /usr/local/etc/kvdb && sudo chmod 777 /usr/local/etc/kvdb/*.{rdb,conf}", neDirTemp)) default: neEtcPath := fmt.Sprintf("/usr/local/etc/%s", neTypeLower) chmodFile := fmt.Sprintf("sudo chmod 777 %s/*.yaml", neEtcPath) - if neTypeLower == "mme" { - chmodFile = fmt.Sprintf("sudo chmod 777 %s/*.{yaml,conf}", neEtcPath) + if neTypeLower == "amf" { + chmodFile = fmt.Sprintf("sudo chmod 777 %s/*.{yaml,csv}", neEtcPath) } - cmd.Execf("sudo cp -rf %s/* %s && %s", neDirTemp, neEtcPath, chmodFile) + if neTypeLower == "mme" { + chmodFile = fmt.Sprintf("sudo chmod 777 %s/*.{yaml,conf,csv}", neEtcPath) + } + cmd.Exec(fmt.Sprintf("sudo cp -rf %s/* %s && %s", neDirTemp, neEtcPath, chmodFile)) } - _ = os.RemoveAll(localDirPath) // 删除本地临时目录 - cmd.Execf("sudo rm -rf %s", neDirTemp) // 删除临时目录 + cmd.Exec(fmt.Sprintf("sudo rm -rf %s", neDirTemp)) // 删除临时目录 return nil } - -// FileNeToLocal 网元备份文件网元端复制到本地 -func (s NeConfigBackup) FileNeToLocal(neInfo model.NeInfo) (string, error) { - // 网元主机的SSH客户端 - // sshClient, err := NewNeInfo.NeRunSSHClient(neInfo.NeType, neInfo.NeId) - // if err != nil { - // return "", fmt.Errorf("ne info ssh client err") - // } - // defer sshClient.Close() - // // 网元主机的SSH客户端进行文件传输 - // sftpClient, err := sshClient.NewClientSFTP() - // if err != nil { - // return "", fmt.Errorf("ne info sftp client err") - // } - // defer sftpClient.Close() - - neTypeLower := strings.ToLower(neInfo.NeType) - // 网管本地路径 - omcPath := "/usr/local/omc/backup/ne_config" - if runtime.GOOS == "windows" { - omcPath = fmt.Sprintf("C:%s", omcPath) - } - localDirPath := fmt.Sprintf("%s/%s/%s/from_ne_tmp", omcPath, neTypeLower, neInfo.NeId) - - // 网元配置文件先复制到临时目录 - // sshClient.RunCMD("sudo mkdir -p /tmp/omc/ne_config && sudo chmod 777 -R /tmp/omc") - cmd.Exec("sudo mkdir -p /tmp/omc/ne_config && sudo chmod 777 -R /tmp/omc") - neDirTemp := fmt.Sprintf("/tmp/omc/ne_config/%s/%s", neTypeLower, neInfo.NeId) - switch neTypeLower { - case "ims": - // ims目录 - cmd.Execf("mkdir -p %s/ims", neDirTemp) - imsDirArr := [...]string{"bgcf", "icscf", "ismc", "mmtel", "mrf", "oam_manages.yaml", "pcscf", "scscf", "vars.cfg", "zlog"} - for _, v := range imsDirArr { - cmd.Execf("sudo cp -rf /usr/local/etc/ims/%s %s/ims", v, neDirTemp) - } - // mf目录 - cmd.Execf("mkdir -p %s/mf && sudo cp -rf /usr/local/etc/mf %s", neDirTemp, neDirTemp) - // rtproxy目录 - cmd.Execf("mkdir -p %s/rtproxy && sudo cp -rf /usr/local/etc/rtproxy/rtproxy.conf %s/rtproxy", neDirTemp, neDirTemp) - // iwf目录 - cmd.Exec(fmt.Sprintf("mkdir -p %s/iwf && sudo cp -rf /usr/local/etc/iwf/*.yaml %s/iwf", neDirTemp, neDirTemp)) - case "smsc": - cmd.Exec(fmt.Sprintf("mkdir -p %s && sudo cp -rf /usr/local/etc/smsc/{*.yaml,*.conf,*conf.txt} %s", neDirTemp, neDirTemp)) - cmd.Exec(fmt.Sprintf("sudo cp -rf /usr/local/etc/smsc/conf %s/conf", neDirTemp)) - default: - nePath := fmt.Sprintf("/usr/local/etc/%s/*.yaml", neTypeLower) - if neTypeLower == "mme" { - nePath = fmt.Sprintf("/usr/local/etc/%s/*.{yaml,conf}", neTypeLower) - } - cmd.Execf("mkdir -p %s && sudo cp -rf %s %s", neDirTemp, nePath, neDirTemp) - } - - // 网元端复制到本地 - if err := file.CopyDir(neDirTemp, localDirPath); err != nil { - return "", fmt.Errorf("copy config err") - } - - // 压缩zip文件名 - zipFileName := fmt.Sprintf("%s-%s-etc-%s.zip", neTypeLower, neInfo.NeId, date.ParseDateToStr(time.Now(), date.YYYYMMDDHHMMSS)) - zipFilePath := fmt.Sprintf("%s/%s/%s/%s", omcPath, neTypeLower, neInfo.NeId, zipFileName) - if err := file.CompressZipByDir(zipFilePath, localDirPath); err != nil { - return "", fmt.Errorf("compress zip err") - } - - _ = os.RemoveAll(localDirPath) // 删除本地临时目录 - cmd.Execf("sudo rm -rf %s", neDirTemp) // 删除临时目录 - return zipFilePath, nil -} diff --git a/src/modules/ne_data/controller/all_backup.go b/src/modules/ne_data/controller/all_backup.go index aa144eb9..bf8feea3 100644 --- a/src/modules/ne_data/controller/all_backup.go +++ b/src/modules/ne_data/controller/all_backup.go @@ -10,6 +10,7 @@ import ( "be.ems/src/framework/reqctx" "be.ems/src/framework/resp" + "be.ems/src/framework/utils/file" "be.ems/src/modules/ne_data/model" "be.ems/src/modules/ne_data/service" @@ -99,3 +100,42 @@ func (s BackupController) FTPPush(c *gin.Context) { } c.JSON(200, resp.Ok(nil)) } + +// 备份文件-导入OMC +// +// POST /import-omc +func (s BackupController) ImportOMC(c *gin.Context) { + var body struct { + NeType string `json:"neType" binding:"required,oneof=OMC"` + Path string `json:"path" binding:"required"` // 文件路径 + } + if err := c.ShouldBindBodyWithJSON(&body); err != nil { + errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err)) + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs)) + return + } + if !strings.HasSuffix(body.Path, ".zip") { + c.JSON(200, resp.ErrMsg("Only supports decompression of zip files")) + return + } + + // 将zip文件解压到本地后复制到网元端 + localFilePath := file.ParseUploadFileAbsPath(body.Path) + if err := s.backupService.BackupOMCImport(localFilePath); err != nil { + c.JSON(200, resp.ErrMsg(err.Error())) + return + } + c.JSON(200, resp.Ok(nil)) +} + +// 备份文件-导出OMC +// +// POST /export-omc +func (s BackupController) ExportOMC(c *gin.Context) { + zipFilePath, err := s.backupService.BackupOMCExport() + if err != nil { + c.JSON(200, resp.ErrMsg(err.Error())) + return + } + c.FileAttachment(zipFilePath, filepath.Base(zipFilePath)) +} diff --git a/src/modules/ne_data/controller/amf.go b/src/modules/ne_data/controller/amf.go index b40ceaaf..b3085198 100644 --- a/src/modules/ne_data/controller/amf.go +++ b/src/modules/ne_data/controller/amf.go @@ -49,10 +49,12 @@ type AMFController struct { func (s *AMFController) UEList(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) @@ -119,10 +121,12 @@ func (s *AMFController) UERemove(c *gin.Context) { func (s *AMFController) UEExport(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) diff --git a/src/modules/ne_data/controller/ims.go b/src/modules/ne_data/controller/ims.go index a1d26115..5c479d79 100644 --- a/src/modules/ne_data/controller/ims.go +++ b/src/modules/ne_data/controller/ims.go @@ -17,16 +17,18 @@ import ( // 实例化控制层 IMSController 结构体 var NewIMS = &IMSController{ - neInfoService: neService.NewNeInfo, - cdrEventService: neDataService.NewCDREvent, + neInfoService: neService.NewNeInfo, + cdrEventService: neDataService.NewCDREvent, + kpiReportService: neDataService.NewKpiReport, } // 网元IMS // // PATH /ims type IMSController struct { - neInfoService *neService.NeInfo // 网元信息服务 - cdrEventService *neDataService.CDREvent // CDR会话事件服务 + neInfoService *neService.NeInfo // 网元信息服务 + cdrEventService *neDataService.CDREvent // CDR会话事件服务 + kpiReportService *neDataService.KpiReport // 统计信息服务 } // CDR会话列表 @@ -50,10 +52,12 @@ type IMSController struct { func (s *IMSController) CDRList(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) @@ -120,10 +124,12 @@ func (s *IMSController) CDRRemove(c *gin.Context) { func (s *IMSController) CDRExport(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) @@ -236,3 +242,101 @@ func (s *IMSController) UeSessionList(c *gin.Context) { c.JSON(200, resp.OkData(data)) } + +// KPI 忙时统计 +// +// GET /kpi/busy-hour +// +// @Tags network_data/ims +// @Accept json +// @Produce json +// @Param neId query string true "NE ID" default(001) +// @Param timestamp query int64 false "timestamp" +// @Success 200 {object} object "Response Results" +// @Security TokenAuth +// @Summary Busy hour statistics +// @Description Busy hour statistics +// @Router /neData/ims/kpi/busy-hour [get] +func (s IMSController) KPIBusyHour(c *gin.Context) { + language := reqctx.AcceptLanguage(c) + var query struct { + NeID string `form:"neId" binding:"required"` + Timestamp int64 `form:"timestamp" binding:"required"` // 时间戳毫秒 年月日返回每小时的总和 年月日时返回该小时的总和 + } + if err := c.ShouldBindQuery(&query); err != nil { + errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err)) + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs)) + return + } + if query.Timestamp < 1e12 || query.Timestamp > 1e13 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "timestamp format is ms")) + return + } + + // 查询网元获取IP + neInfo := s.neInfoService.FindByNeTypeAndNeID("IMS", query.NeID) + if neInfo.NeId != query.NeID || neInfo.IP == "" { + c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo"))) + return + } + + data := s.kpiReportService.IMSBusyHour(neInfo.RmUID, query.Timestamp) + c.JSON(200, resp.OkData(data)) +} + +// KPI 忙时统计 周 +// +// GET /kpi/busy-week +// +// @Tags network_data/ims +// @Accept json +// @Produce json +// @Param neId query string true "NE ID" default(001) +// @Param timestamp query int64 false "timestamp" +// @Success 200 {object} object "Response Results" +// @Security TokenAuth +// @Summary Busy week statistics +// @Description Busy week statistics +// @Router /neData/ims/kpi/busy-week [get] +func (s IMSController) KPIBusyWeek(c *gin.Context) { + language := reqctx.AcceptLanguage(c) + var query struct { + NeID string `form:"neId" binding:"required"` + WeekStart int64 `form:"weekStart" binding:"required"` // 时间戳毫秒 年月日 + WeekEnd int64 `form:"weekEnd" binding:"required"` // 时间戳毫秒 年月日 + } + if err := c.ShouldBindQuery(&query); err != nil { + errMsgs := fmt.Sprintf("bind err: %s", resp.FormatBindError(err)) + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_PARSER, errMsgs)) + return + } + if query.WeekStart < 1e12 || query.WeekStart > 1e13 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "weekStart format is ms")) + return + } + if query.WeekEnd < 1e12 || query.WeekEnd > 1e13 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "weekEnd format is ms")) + return + } + if query.WeekEnd < query.WeekStart || query.WeekEnd == query.WeekStart { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "weekEnd must be greater than weekStart and not equal to weekStart")) + return + } + // 计算周差 + weekDiff := query.WeekEnd - query.WeekStart + // 周差是否7天 + if weekDiff-7*24*60*60*1000 != -1000 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "weekEnd must be 7 days after weekStart")) + return + } + + // 查询网元获取IP + neInfo := s.neInfoService.FindByNeTypeAndNeID("IMS", query.NeID) + if neInfo.NeId != query.NeID || neInfo.IP == "" { + c.JSON(200, resp.ErrMsg(i18n.TKey(language, "app.common.noNEInfo"))) + return + } + + data := s.kpiReportService.IMSBusyWeek(neInfo.RmUID, query.WeekStart, query.WeekEnd) + c.JSON(200, resp.OkData(data)) +} diff --git a/src/modules/ne_data/controller/mme.go b/src/modules/ne_data/controller/mme.go index 10dae9cb..7a20488a 100644 --- a/src/modules/ne_data/controller/mme.go +++ b/src/modules/ne_data/controller/mme.go @@ -49,10 +49,12 @@ type MMEController struct { func (s *MMEController) UEList(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) @@ -119,10 +121,12 @@ func (s *MMEController) UERemove(c *gin.Context) { func (s *MMEController) UEExport(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) diff --git a/src/modules/ne_data/controller/sgwc.go b/src/modules/ne_data/controller/sgwc.go index 0ed363c4..4665e34e 100644 --- a/src/modules/ne_data/controller/sgwc.go +++ b/src/modules/ne_data/controller/sgwc.go @@ -50,10 +50,12 @@ type SGWCController struct { func (s *SGWCController) CDRList(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) @@ -120,10 +122,12 @@ func (s *SGWCController) CDRRemove(c *gin.Context) { func (s *SGWCController) CDRExport(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) diff --git a/src/modules/ne_data/controller/smf.go b/src/modules/ne_data/controller/smf.go index ac5e054a..f6652787 100644 --- a/src/modules/ne_data/controller/smf.go +++ b/src/modules/ne_data/controller/smf.go @@ -52,10 +52,12 @@ type SMFController struct { func (s *SMFController) CDRList(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) @@ -122,10 +124,12 @@ func (s *SMFController) CDRRemove(c *gin.Context) { func (s *SMFController) CDRExport(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) diff --git a/src/modules/ne_data/controller/smsc.go b/src/modules/ne_data/controller/smsc.go index 3b637475..cf0ffd5a 100644 --- a/src/modules/ne_data/controller/smsc.go +++ b/src/modules/ne_data/controller/smsc.go @@ -49,10 +49,12 @@ type SMSCController struct { func (s *SMSCController) CDRList(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) @@ -119,10 +121,12 @@ func (s *SMSCController) CDRRemove(c *gin.Context) { func (s *SMSCController) CDRExport(c *gin.Context) { language := reqctx.AcceptLanguage(c) query := reqctx.QueryMap(c) - // 限制导出数据集 + // 分页检查 + pageNum := parse.Number(query["pageNum"]) pageSize := parse.Number(query["pageSize"]) - if pageSize > 10000 { - query["pageSize"] = "10000" + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return } // 查询网元信息 rmUID neInfo := s.neInfoService.FindByNeTypeAndNeID(query["neType"], query["neId"]) diff --git a/src/modules/ne_data/ne_data.go b/src/modules/ne_data/ne_data.go index 312a9014..0c0daf48 100644 --- a/src/modules/ne_data/ne_data.go +++ b/src/modules/ne_data/ne_data.go @@ -184,6 +184,14 @@ func Setup(router *gin.Engine) { middleware.AuthorizeUser(nil), controller.NewIMS.UeSessionList, ) + imsGroup.GET("/kpi/busy-hour", + middleware.AuthorizeUser(nil), + controller.NewIMS.KPIBusyHour, + ) + imsGroup.GET("/kpi/busy-week", + middleware.AuthorizeUser(nil), + controller.NewIMS.KPIBusyWeek, + ) } // 网元SMSC @@ -308,6 +316,16 @@ func Setup(router *gin.Engine) { collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.backup", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewBackup.FTPPush, ) + backupGroup.POST("/import-omc", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.backup", collectlogs.BUSINESS_TYPE_IMPORT)), + controller.NewBackup.ImportOMC, + ) + backupGroup.POST("/export-omc", + middleware.AuthorizeUser(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.backup", collectlogs.BUSINESS_TYPE_EXPORT)), + controller.NewBackup.ExportOMC, + ) } // 网元UDM 鉴权用户信息 diff --git a/src/modules/ne_data/repository/cdr_event.go b/src/modules/ne_data/repository/cdr_event.go index c6c70a76..83cbe8ee 100644 --- a/src/modules/ne_data/repository/cdr_event.go +++ b/src/modules/ne_data/repository/cdr_event.go @@ -91,11 +91,10 @@ func (r CDREvent) SelectByPage(neType string, query map[string]string) ([]model. } // 分页 - pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"]) - if pageNum == 0 && pageSize > int(total) { - pageSize = int(total) + if query["pageNum"] != "" && query["pageSize"] != "" { + pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"]) + tx = tx.Offset(int(pageNum * pageSize)).Limit(int(pageSize)) } - tx = tx.Offset(int(pageNum * pageSize)).Limit(int(pageSize)) // 查询数据 if err := tx.Find(&rows).Error; err != nil { diff --git a/src/modules/ne_data/repository/kpi_report.go b/src/modules/ne_data/repository/kpi_report.go index 4802c4a9..74125821 100644 --- a/src/modules/ne_data/repository/kpi_report.go +++ b/src/modules/ne_data/repository/kpi_report.go @@ -115,7 +115,24 @@ func (r KpiReport) SelectUPF(rmUID string, beginTime, endTime int64) []model.Kpi tx = tx.Where("created_at <= ?", endTime) // 查询数据 rows := []model.KpiReport{} - if err := tx.Select("kpi_values").Find(&rows).Error; err != nil { + if err := tx.Select("kpi_values", "created_at").Find(&rows).Error; err != nil { + logger.Errorf("query find err => %v", err.Error()) + return rows + } + return rows +} + +// SelectIMS 查询IMS数据 +func (r KpiReport) SelectIMS(rmUID string, beginTime, endTime int64) []model.KpiReport { + tx := db.DB("").Model(&model.KpiReport{}) + // 表名 + tx = tx.Table("kpi_report_ims") + tx = tx.Where("rm_uid = ?", rmUID) + tx = tx.Where("created_at >= ?", beginTime) + tx = tx.Where("created_at <= ?", endTime) + // 查询数据 + rows := []model.KpiReport{} + if err := tx.Select("kpi_values", "created_at").Find(&rows).Error; err != nil { logger.Errorf("query find err => %v", err.Error()) return rows } diff --git a/src/modules/ne_data/repository/ue_event.go b/src/modules/ne_data/repository/ue_event.go index 0fe72ba2..dca122eb 100644 --- a/src/modules/ne_data/repository/ue_event.go +++ b/src/modules/ne_data/repository/ue_event.go @@ -56,8 +56,10 @@ func (r UEEvent) SelectByPage(neType string, query map[string]string) ([]model.U } // 分页 - pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"]) - tx = tx.Offset(int(pageNum * pageSize)).Limit(int(pageSize)) + if query["pageNum"] != "" && query["pageSize"] != "" { + pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"]) + tx = tx.Offset(int(pageNum * pageSize)).Limit(int(pageSize)) + } // 查询数据 if err := tx.Find(&rows).Error; err != nil { diff --git a/src/modules/ne_data/service/backup.go b/src/modules/ne_data/service/backup.go index f6a43811..831e279b 100644 --- a/src/modules/ne_data/service/backup.go +++ b/src/modules/ne_data/service/backup.go @@ -3,10 +3,17 @@ package service import ( "encoding/json" "fmt" + "os" "path/filepath" + "runtime" "strings" + "time" + "be.ems/src/framework/cmd" "be.ems/src/framework/ssh" + "be.ems/src/framework/utils/file" + "be.ems/src/framework/utils/parse" + neModel "be.ems/src/modules/ne/model" neService "be.ems/src/modules/ne/service" "be.ems/src/modules/ne_data/model" systemService "be.ems/src/modules/system/service" @@ -15,14 +22,12 @@ import ( // 实例化数据层 Backup 结构体 var NewBackup = &Backup{ BACKUP_DIR: "/usr/local/omc/backup", - neInfoService: neService.NewNeInfo, sysConfigService: systemService.NewSysConfig, } // Backup 备份相关 服务层处理 type Backup struct { BACKUP_DIR string // 备份目录 - neInfoService *neService.NeInfo // 网元信息服务 sysConfigService *systemService.SysConfig // 参数配置服务 } @@ -84,3 +89,194 @@ func (r Backup) FTPPushFile(localFilePath, tag string) error { } return nil } + +// BackupOMCImport 网元配置文件复制到网元端覆盖 +func (r Backup) BackupOMCImport(localZipFile string) error { + neInfoService := neService.NewNeInfo + neVersionService := neService.NewNeVersion + neLicenseService := neService.NewNeLicense + neConfigBackupService := neService.NewNeConfigBackup + + // 网管本地路径 + omcPath := "/usr/local/omc/backup_omc" + if runtime.GOOS == "windows" { + omcPath = fmt.Sprintf("C:%s", omcPath) + } + // 解压到临时目录 + omcPathTmp := fmt.Sprintf("%s/import", omcPath) + if err := file.UnZip(localZipFile, omcPathTmp); err != nil { + return fmt.Errorf("unzip err") + } + defer os.RemoveAll(omcPathTmp) // 删除本地临时目录 + + // 还原OMC-网元信息 + neInfos := make([]neModel.NeInfo, 0) // 网元信息列表 + neVersions := make([]neModel.NeVersion, 0) // 网元版本列表 + neLicenses := make([]neModel.NeLicense, 0) // 网元许可证列表 + neHosts := make([]neModel.NeHost, 0) // 网元主机列表 + localDirPath := fmt.Sprintf("%s/omc/db", omcPathTmp) + neInfoStrArr := file.ReadFileJSONLine(fmt.Sprintf("%s/ne_info.json", localDirPath)) + for _, str := range neInfoStrArr { + var neInfo neModel.NeInfo + if err := json.Unmarshal([]byte(str), &neInfo); err != nil { + continue + } + neInfos = append(neInfos, neInfo) + } + neVersionStrArr := file.ReadFileJSONLine(fmt.Sprintf("%s/ne_version.json", localDirPath)) + for _, str := range neVersionStrArr { + var neVersion neModel.NeVersion + if err := json.Unmarshal([]byte(str), &neVersion); err != nil { + continue + } + neVersions = append(neVersions, neVersion) + } + neLicenseStrArr := file.ReadFileJSONLine(fmt.Sprintf("%s/ne_license.json", localDirPath)) + for _, str := range neLicenseStrArr { + var neLicense neModel.NeLicense + if err := json.Unmarshal([]byte(str), &neLicense); err != nil { + continue + } + neLicenses = append(neLicenses, neLicense) + } + neHostStrArr := file.ReadFileJSONLine(fmt.Sprintf("%s/ne_host.json", localDirPath)) + for _, str := range neHostStrArr { + var neHost neModel.NeHost + if err := json.Unmarshal([]byte(str), &neHost); err != nil { + continue + } + neHosts = append(neHosts, neHost) + } + // 新增网元信息 + for _, neInfo := range neInfos { + if neInfo.NeId == "" || neInfo.NeType == "OMC" { + continue + } + // 删除网元信息 + neInfoService.FindByNeTypeAndNeID(neInfo.NeType, neInfo.NeId) + if neInfo.ID > 0 { + neInfoService.DeleteByIds([]int64{neInfo.ID}) + } + + neVersion := neModel.NeVersion{} + for _, v := range neVersions { + if v.NeId == neInfo.NeId && v.NeType == neInfo.NeType { + v.ID = 0 + neVersion = v + break + } + } + neLicense := neModel.NeLicense{} + for _, v := range neLicenses { + if v.NeId == neInfo.NeId && v.NeType == neInfo.NeType { + v.ID = 0 + neLicense = v + break + } + } + neHostArr := make([]neModel.NeHost, 0) // 网元主机列表 + neHostIDs := strings.Split(neInfo.HostIDs, ",") + for _, hostID := range neHostIDs { + hostIDNum := parse.Number(hostID) + for _, v := range neHosts { + if v.ID == hostIDNum { + v.ID = 0 + neHostArr = append(neHostArr, v) + } + } + } + + neVersionService.Insert(neVersion) + neLicenseService.Insert(neLicense) + neInfo.Hosts = neHostArr + neInfo.CreateBy = "system" + neInfoService.Insert(neInfo) + } + + // 还原网元备份文件 + neList := neInfoService.Find(neModel.NeInfo{}, false, false) + for _, neInfo := range neList { + if neInfo.NeType == "OMC" { + continue + } + neTypeLower := strings.ToLower(neInfo.NeType) + // 配置文件-本地复制到网元端 + localDirPath := fmt.Sprintf("%s/ne_config/%s/%s", omcPathTmp, neTypeLower, neInfo.NeId) + if err := neConfigBackupService.FileLocalToNePath(neInfo, localDirPath); err != nil { + continue + } + } + + return nil +} + +// BackupOMCExport 备份OMC数据导出 +func (r Backup) BackupOMCExport() (string, error) { + neInfoService := neService.NewNeInfo + neVersionService := neService.NewNeVersion + neLicenseService := neService.NewNeLicense + neHostService := neService.NewNeHost + neConfigBackupService := neService.NewNeConfigBackup + + // 网管本地路径 + omcPath := "/usr/local/omc/backup_omc" + if runtime.GOOS == "windows" { + omcPath = fmt.Sprintf("C:%s", omcPath) + } + omcPathTmp := fmt.Sprintf("%s/tmp", omcPath) + defer os.RemoveAll(omcPathTmp) // 删除本地临时目录 + + // 备份网元配置文件 + neList := neInfoService.Find(neModel.NeInfo{}, false, false) + for _, neInfo := range neList { + if neInfo.NeType == "OMC" { + continue + } + neTypeLower := strings.ToLower(neInfo.NeType) + // 配置文件-网元端复制到本地 + localDirPath := fmt.Sprintf("%s/ne_config/%s/%s", omcPathTmp, neTypeLower, neInfo.NeId) + cmd.Execf("sudo mkdir -p %s", localDirPath) + if err := neConfigBackupService.FileNeToLocalPath(neInfo, localDirPath); err != nil { + continue + } + } + + // 备份OMC + neInfos := make([]any, 0) // 网元信息列表 + neVersions := make([]any, 0) // 网元版本列表 + neLicenses := make([]any, 0) // 网元许可证列表 + neHosts := make([]any, 0) // 网元主机列表 + for _, neInfo := range neList { + neVersion := neVersionService.FindByNeTypeAndNeID(neInfo.NeType, neInfo.NeId) + if neVersion.ID > 0 { + neVersions = append(neVersions, neVersion) + } + neLicense := neLicenseService.FindByNeTypeAndNeID(neInfo.NeType, neInfo.NeId) + if neLicense.ID > 0 { + neLicenses = append(neLicenses, neLicense) + } + neHostIDs := strings.Split(neInfo.HostIDs, ",") + for _, hostID := range neHostIDs { + neHost := neHostService.FindById(parse.Number(hostID)) + if neHost.ID > 0 { + neHosts = append(neHosts, neHost) + } + } + neInfos = append(neInfos, neInfo) + } + localDirPath := fmt.Sprintf("%s/omc/db", omcPathTmp) + cmd.Execf("sudo mkdir -p %s", localDirPath) + file.WriterFileJSONLine(neInfos, fmt.Sprintf("%s/ne_info.json", localDirPath)) + file.WriterFileJSONLine(neVersions, fmt.Sprintf("%s/ne_version.json", localDirPath)) + file.WriterFileJSONLine(neLicenses, fmt.Sprintf("%s/ne_license.json", localDirPath)) + file.WriterFileJSONLine(neHosts, fmt.Sprintf("%s/ne_host.json", localDirPath)) + + // 压缩zip文件名 + zipFileName := fmt.Sprintf("BackupOMC-%s.zip", time.Now().Format("20060102150405")) + zipFilePath := fmt.Sprintf("%s/%s", omcPath, zipFileName) + if err := file.CompressZipByDir(zipFilePath, omcPathTmp); err != nil { + return "", fmt.Errorf("compress zip err") + } + + return zipFilePath, nil +} diff --git a/src/modules/ne_data/service/kpi_report.go b/src/modules/ne_data/service/kpi_report.go index db59c5e0..6683594d 100644 --- a/src/modules/ne_data/service/kpi_report.go +++ b/src/modules/ne_data/service/kpi_report.go @@ -280,3 +280,222 @@ func (r KpiReport) UPFTodayFlowLoad(day int) { } } } + +// IMSBusyHour IMS忙时流量统计 +// SCSCF.06呼叫尝试次数 SCSCF.09呼叫成功次数 +func (r KpiReport) IMSBusyHour(rmUID string, timestamp int64) []map[string]any { + t := time.UnixMilli(timestamp) + beginTime := t + endTime := t + // 检查时分秒是否都为零 + if t.Hour() == 0 && t.Minute() == 0 && t.Second() == 0 { + // 获取当天起始时间(00:00:00) + beginTime = t.Truncate(time.Hour) + // 计算当天结束时间(23:59:59) + endTime = beginTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second) + } else { + // 起始时间:当前小时的 00 分 00 秒 + beginTime = t.Truncate(time.Hour) + // 结束时间:当前小时的 59 分 59 秒 999 毫秒 + endTime = beginTime.Add(time.Hour - time.Millisecond) + } + // 转换为毫秒级时间戳 + rows := r.kpiReportRepository.SelectIMS(rmUID, beginTime.UnixMilli(), endTime.UnixMilli()) + + // 创建一个map来存储按时间段合并后的数据 + timeGroup := make(map[int64]map[string]int64) + // 遍历每个数据项 + for _, row := range rows { + // 将毫秒时间戳转换为小时级时间戳(保留到小时的起始毫秒) + timeHour := row.CreatedAt / 3600000 * 3600000 // 1小时 = 3600000毫秒 + + // 解析 JSON 字符串为 map + var kpiValues []map[string]any + err := json.Unmarshal([]byte(row.KpiValues), &kpiValues) + if err != nil { + continue + } + + var callAttempts, callCompletions int64 + for _, v := range kpiValues { + if k, ok := v["kpiId"]; ok { + if k == "SCSCF.06" { + callAttempts = parse.Number(v["value"]) + } + if k == "SCSCF.09" { + callCompletions = parse.Number(v["value"]) + } + } + } + // 合并到对应的小时段 + if _, exists := timeGroup[timeHour]; !exists { + timeGroup[timeHour] = map[string]int64{ + "callAttempts": 0, + "callCompletions": 0, + } + } + timeGroup[timeHour]["callAttempts"] += callAttempts + timeGroup[timeHour]["callCompletions"] += callCompletions + } + + // 时间组合输出 + data := make([]map[string]any, 0, len(timeGroup)) + for hour, sums := range timeGroup { + data = append(data, map[string]any{ + "timeGroup": fmt.Sprintf("%d", hour), + "callAttempts": sums["callAttempts"], + "callCompletions": sums["callCompletions"], + }) + } + return data +} + +// 定义结构体用于存储话务量值和对应的时间 +type TrafficData struct { + Time int64 `json:"time"` // 时间戳(毫秒) + Value float64 `json:"value"` // 话务量值 +} + +// IMSBusyWeek IMS忙时流量统计 周 +func (r KpiReport) IMSBusyWeek(rmUID string, weekStart, weekEnd int64) map[string]any { + weekStartTime := time.UnixMilli(weekStart) + weekEndTime := time.UnixMilli(weekEnd) + + // 1. 获取一周内每小时的呼叫数据 + // 转换为毫秒级时间戳 + rows := r.kpiReportRepository.SelectIMS(rmUID, weekStartTime.UnixMilli(), weekEndTime.UnixMilli()) + + // 创建一个map来存储按时间段合并后的数据 + timeGroup := make(map[int64]map[string]int64) + // 遍历每个数据项 + for _, row := range rows { + // 将毫秒时间戳转换为小时级时间戳(保留到小时的起始毫秒) + timeHour := row.CreatedAt / 3600000 * 3600000 // 1小时 = 3600000毫秒 + + // 解析 JSON 字符串为 map + var kpiValues []map[string]any + err := json.Unmarshal([]byte(row.KpiValues), &kpiValues) + if err != nil { + continue + } + + var callAttempts, callCompletions int64 + for _, v := range kpiValues { + if k, ok := v["kpiId"]; ok { + if k == "SCSCF.06" { + callAttempts = parse.Number(v["value"]) + } + if k == "SCSCF.09" { + callCompletions = parse.Number(v["value"]) + } + } + } + // 合并到对应的小时段 + if _, exists := timeGroup[timeHour]; !exists { + timeGroup[timeHour] = map[string]int64{ + "callAttempts": 0, + "callCompletions": 0, + } + } + timeGroup[timeHour]["callAttempts"] += callAttempts + timeGroup[timeHour]["callCompletions"] += callCompletions + } + + // 时间组合输出 + data := make([]map[string]any, 0, len(timeGroup)) + for hour, sums := range timeGroup { + data = append(data, map[string]any{ + "timeGroup": fmt.Sprintf("%d", hour), + "callAttempts": sums["callAttempts"], + "callCompletions": sums["callCompletions"], + }) + } + + if len(data) == 0 { + return map[string]any{ + "busyHourAverageBHCA": 0, + "busyHourAverageBHCC": 0, + "topFourHoursBHCA": []float64{}, + "topFourHoursBHCC": []float64{}, + "totalHours": 0, + } + } + + // 2. 分离BHCA和BHCC数据,并按降序排序 + var bhcaData []TrafficData + var bhccData []TrafficData + + for _, row := range data { + // 获取时间戳 + timeValue := int64(0) + if t, ok := row["timeGroup"]; ok { + timeValue = parse.Number(t) + } + + // 处理BHCA数据 + if value, ok := row["callAttempts"]; ok { + bhcaVal := parse.Number(value) + bhcaData = append(bhcaData, TrafficData{ + Time: timeValue, + Value: float64(bhcaVal), + }) + } + + // 处理BHCC数据 + if value, ok := row["callCompletions"]; ok { + bhccVal := parse.Number(value) + bhccData = append(bhccData, TrafficData{ + Time: timeValue, + Value: float64(bhccVal), + }) + } + } + // 按降序排序(值大的在前) + sort.Slice(bhcaData, func(i, j int) bool { return bhcaData[i].Value > bhcaData[j].Value }) + sort.Slice(bhccData, func(i, j int) bool { return bhccData[i].Value > bhccData[j].Value }) + + // 3. 取前四个最高值并计算平均值 + topFourBHCA := getTopFourTrafficData(bhcaData) + topFourBHCC := getTopFourTrafficData(bhccData) + + avgBHCA := calculateTrafficDataAverage(topFourBHCA) + avgBHCC := calculateTrafficDataAverage(topFourBHCC) + + // 4. 返回结果 + return map[string]any{ + "busyHourAverageBHCA": avgBHCA, + "busyHourAverageBHCC": avgBHCC, + "topFourHoursBHCA": topFourBHCA, + "topFourHoursBHCC": topFourBHCC, + "totalHours": len(data), + } +} + +// 辅助函数:获取前四个最高值的TrafficData +func getTopFourTrafficData(data []TrafficData) []TrafficData { + if len(data) == 0 { + return []TrafficData{} + } + + // 最多取前四个值 + maxCount := 4 + if len(data) < maxCount { + maxCount = len(data) + } + + return data[:maxCount] +} + +// 辅助函数:计算TrafficData的平均值 +func calculateTrafficDataAverage(data []TrafficData) float64 { + if len(data) == 0 { + return 0 + } + + var sum float64 = 0 + for _, v := range data { + sum += v.Value + } + + return sum / float64(len(data)) +} diff --git a/src/modules/system/controller/sys_log_login.go b/src/modules/system/controller/sys_log_login.go index 7f454fe6..35578a25 100644 --- a/src/modules/system/controller/sys_log_login.go +++ b/src/modules/system/controller/sys_log_login.go @@ -10,6 +10,7 @@ import ( "be.ems/src/framework/resp" "be.ems/src/framework/utils/date" "be.ems/src/framework/utils/file" + "be.ems/src/framework/utils/parse" authService "be.ems/src/modules/auth/service" "be.ems/src/modules/system/model" "be.ems/src/modules/system/service" @@ -48,6 +49,13 @@ type SysLogLoginController struct { // @Router /system/log/login/list [get] func (s *SysLogLoginController) List(c *gin.Context) { query := reqctx.QueryMap(c) + // 分页检查 + pageNum := parse.Number(query["pageNum"]) + pageSize := parse.Number(query["pageSize"]) + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return + } dataScopeSQL := reqctx.LoginUserToDataScopeSQL(c, "sys_user", "sys_user") rows, total := s.sysLogLoginService.FindByPage(query, dataScopeSQL) @@ -99,6 +107,13 @@ func (s SysLogLoginController) Export(c *gin.Context) { language := reqctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 query := reqctx.QueryMap(c) + // 分页检查 + pageNum := parse.Number(query["pageNum"]) + pageSize := parse.Number(query["pageSize"]) + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return + } dataScopeSQL := reqctx.LoginUserToDataScopeSQL(c, "sys_user", "sys_user") rows, total := s.sysLogLoginService.FindByPage(query, dataScopeSQL) if total == 0 { diff --git a/src/modules/system/controller/sys_log_operate.go b/src/modules/system/controller/sys_log_operate.go index 4cc46e62..e0c1e3ea 100644 --- a/src/modules/system/controller/sys_log_operate.go +++ b/src/modules/system/controller/sys_log_operate.go @@ -10,6 +10,7 @@ import ( "be.ems/src/framework/resp" "be.ems/src/framework/utils/date" "be.ems/src/framework/utils/file" + "be.ems/src/framework/utils/parse" "be.ems/src/modules/system/model" "be.ems/src/modules/system/service" @@ -50,6 +51,13 @@ func (s *SysLogOperateController) List(c *gin.Context) { if v, ok := query["title"]; ok && v != "" { query["title"] = i18n.TFindKeyPrefix(language, "log.operate.title", v) } + // 分页检查 + pageNum := parse.Number(query["pageNum"]) + pageSize := parse.Number(query["pageSize"]) + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return + } dataScopeSQL := reqctx.LoginUserToDataScopeSQL(c, "sys_user", "sys_user") rows, total := s.sysLogOperateService.FindByPage(query, dataScopeSQL) @@ -81,6 +89,13 @@ func (s SysLogOperateController) Export(c *gin.Context) { language := reqctx.AcceptLanguage(c) // 查询结果,根据查询条件结果,单页最大值限制 query := reqctx.QueryMap(c) + // 分页检查 + pageNum := parse.Number(query["pageNum"]) + pageSize := parse.Number(query["pageSize"]) + if pageNum == 0 || pageSize == 0 { + c.JSON(422, resp.CodeMsg(resp.CODE_PARAM_CHEACK, "bind err: pageNum or pageSize not is empty")) + return + } dataScopeSQL := reqctx.LoginUserToDataScopeSQL(c, "sys_user", "sys_user") rows, total := s.sysLogOperateService.FindByPage(query, dataScopeSQL) if total == 0 { diff --git a/src/modules/system/repository/sys_log_login.go b/src/modules/system/repository/sys_log_login.go index 3f412e5b..39a1a4f6 100644 --- a/src/modules/system/repository/sys_log_login.go +++ b/src/modules/system/repository/sys_log_login.go @@ -29,20 +29,10 @@ func (r SysLogLogin) SelectByPage(query map[string]string, dataScopeSQL string) tx = tx.Where("status_flag = ?", v) } if v, ok := query["beginTime"]; ok && v != "" { - if len(v) == 10 { - v = fmt.Sprintf("%s000", v) - tx = tx.Where("login_time >= ?", v) - } else if len(v) == 13 { - tx = tx.Where("login_time >= ?", v) - } + tx = tx.Where("login_time >= ?", v) } if v, ok := query["endTime"]; ok && v != "" { - if len(v) == 10 { - v = fmt.Sprintf("%s999", v) - tx = tx.Where("login_time <= ?", v) - } else if len(v) == 13 { - tx = tx.Where("login_time <= ?", v) - } + tx = tx.Where("login_time <= ?", v) } if dataScopeSQL != "" { dataScopeSQL = fmt.Sprintf("select distinct user_name from sys_user where %s", dataScopeSQL) @@ -59,8 +49,11 @@ func (r SysLogLogin) SelectByPage(query map[string]string, dataScopeSQL string) } // 查询数据分页 - pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"]) - tx = tx.Limit(pageSize).Offset(pageSize * pageNum) + if query["pageNum"] != "" && query["pageSize"] != "" { + pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"]) + tx = tx.Limit(pageSize).Offset(pageSize * pageNum) + } + err := tx.Order("id desc").Find(&rows).Error if err != nil { logger.Errorf("query find err => %v", err.Error()) diff --git a/src/modules/system/repository/sys_log_operate.go b/src/modules/system/repository/sys_log_operate.go index 0c8cccb7..10f8ba87 100644 --- a/src/modules/system/repository/sys_log_operate.go +++ b/src/modules/system/repository/sys_log_operate.go @@ -35,20 +35,10 @@ func (r SysLogOperate) SelectByPage(query map[string]string, dataScopeSQL string tx = tx.Where("status_flag = ?", v) } if v, ok := query["beginTime"]; ok && v != "" { - if len(v) == 10 { - v = fmt.Sprintf("%s000", v) - tx = tx.Where("opera_time >= ?", v) - } else if len(v) == 13 { - tx = tx.Where("opera_time >= ?", v) - } + tx = tx.Where("opera_time <= ?", v) } if v, ok := query["endTime"]; ok && v != "" { - if len(v) == 10 { - v = fmt.Sprintf("%s999", v) - tx = tx.Where("opera_time <= ?", v) - } else if len(v) == 13 { - tx = tx.Where("opera_time <= ?", v) - } + tx = tx.Where("opera_time <= ?", v) } if dataScopeSQL != "" { dataScopeSQL = fmt.Sprintf("select distinct user_name from sys_user where %s", dataScopeSQL) @@ -65,8 +55,11 @@ func (r SysLogOperate) SelectByPage(query map[string]string, dataScopeSQL string } // 查询数据分页 - pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"]) - tx = tx.Limit(pageSize).Offset(pageSize * pageNum) + if query["pageNum"] != "" && query["pageSize"] != "" { + pageNum, pageSize := db.PageNumSize(query["pageNum"], query["pageSize"]) + tx = tx.Limit(pageSize).Offset(pageSize * pageNum) + } + err := tx.Order("id desc").Find(&rows).Error if err != nil { logger.Errorf("query find err => %v", err.Error()) diff --git a/src/modules/system/repository/sys_menu.go b/src/modules/system/repository/sys_menu.go index 146655dc..f58088e1 100644 --- a/src/modules/system/repository/sys_menu.go +++ b/src/modules/system/repository/sys_menu.go @@ -167,7 +167,7 @@ func (r SysMenu) CheckUnique(sysMenu model.SysMenu) int64 { tx := db.DB("").Model(&model.SysMenu{}) tx = tx.Where("del_flag = '0'") // 查询条件拼接 - if sysMenu.ParentId <= 0 { + if sysMenu.ParentId >= 0 { tx = tx.Where("parent_id = ?", sysMenu.ParentId) } if sysMenu.MenuName != "" { diff --git a/src/modules/ws/processor/cdr_connect.go b/src/modules/ws/processor/cdr_connect.go index a678b8f9..c3983806 100644 --- a/src/modules/ws/processor/cdr_connect.go +++ b/src/modules/ws/processor/cdr_connect.go @@ -6,6 +6,7 @@ import ( "be.ems/src/framework/logger" "be.ems/src/framework/resp" + "be.ems/src/framework/utils/parse" neInfoService "be.ems/src/modules/ne/service" neDataService "be.ems/src/modules/ne_data/service" ) @@ -21,7 +22,12 @@ func GetCDRConnect(requestID string, data any) ([]byte, error) { for k, v := range dataMap { query[k] = fmt.Sprintf("%v", v) } - + // 分页检查 + pageNum := parse.Number(query["pageNum"]) + pageSize := parse.Number(query["pageSize"]) + if pageNum == 0 || pageSize == 0 { + return nil, fmt.Errorf("pageNum or pageSize not is empty") + } // 查询网元信息 rmUID neInfo := neInfoService.NewNeInfo.FindByNeTypeAndNeID(query["neType"], query["neId"]) if neInfo.NeType == "" {