DevOpsWaterOS-水务物联网设备运维管理系统功能数据库数据库脚本

目前运维系统数据库基础功能模块的搭建,个别字段想起来在添加,下面是完整的脚本,只有表没有表与表之间的关系,除通讯协议,工单,产品技改,方案优化,质量分析,工作信息获取,工作质量分析由本系统完成登记,其他客户信息,设备信息,设备运行状况通过API获取第三方数据.同时输出人员位置,设备位置,设备最新运行状态,实现大屏输出,最终实现运维信息分析统计,同时将数据输送给现场工人运维APP,实现产品的全生命周期信息跟踪,包括生产信息,设备信息,客户信息,用户信息,维修信息等

/*
 Navicat Premium Data Transfer

 Source Server         : root
 Source Server Type    : MySQL
 Source Server Version : 80400 (8.4.0)
 Source Host           : localhost:3306
 Source Schema         : devopsos

 Target Server Type    : MySQL
 Target Server Version : 80400 (8.4.0)
 File Encoding         : 65001

 Date: 12/06/2024 17:30:26

Name:马铃薯
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for customer_info
-- ----------------------------
DROP TABLE IF EXISTS `customer_info`;
CREATE TABLE `customer_info`  (
  `customer_id` int NOT NULL AUTO_INCREMENT COMMENT '      -- 客户ID,自增主键',
  `customer_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '             -- 客户姓名',
  `contact_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '                      -- 联系电话',
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '                               -- 邮箱地址',
  `address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '                            -- 地址',
  `company_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '                       -- 公司名称',
  `industry` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '                           -- 行业',
  `notes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '                                   -- 备注或特殊说明',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`customer_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '客户信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of customer_info
-- ----------------------------

-- ----------------------------
-- Table structure for daily_tasks
-- ----------------------------
DROP TABLE IF EXISTS `daily_tasks`;
CREATE TABLE `daily_tasks`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT ' 任务ID,自增主键',
  `task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 任务名称',
  `due_date` date NOT NULL COMMENT ' 任务截止日期',
  `assigned_to` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 分配给谁',
  `priority` enum('Low','Medium','High') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 任务优先级',
  `reminders` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT ' 提醒信息',
  `IsLocked` int NULL DEFAULT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '日常任务工单' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of daily_tasks
-- ----------------------------

-- ----------------------------
-- Table structure for device_data_report_real
-- ----------------------------
DROP TABLE IF EXISTS `device_data_report_real`;
CREATE TABLE `device_data_report_real`  (
  `device_addr` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '设备地址',
  `device_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '设备编号',
  `imei_seq` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备IMEI号',
  `cimi_seq` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备IMSI号',
  `report_time` timestamp NULL DEFAULT NULL COMMENT '上报时间',
  `current_total` decimal(15, 4) NULL DEFAULT NULL COMMENT '当前累计流量',
  `meter_time` timestamp NULL DEFAULT NULL COMMENT '表内时间',
  `signal_intensity` smallint NULL DEFAULT NULL COMMENT '信号强度',
  `version_number` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '版本号',
  `battery_voltage` decimal(10, 4) NULL DEFAULT NULL COMMENT '电池电压',
  `valve_status` smallint NULL DEFAULT NULL COMMENT '阀门状态',
  `locate_information` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '定位信息',
  `temperature` smallint NULL DEFAULT NULL COMMENT '温度',
  `channel_number` tinyint NULL DEFAULT 1 COMMENT '通道号',
  `company_code` int NOT NULL COMMENT '水司编号',
  `rsrp` decimal(6, 2) NULL DEFAULT NULL COMMENT '参考信号接收功率',
  `pressure` decimal(6, 2) NULL DEFAULT NULL COMMENT '水压',
  `report_type` tinyint(1) NULL DEFAULT 1 COMMENT '上报类型 1.系统上报 2.手工上报',
  `history_data` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '历史数据',
  `status` int NULL DEFAULT NULL COMMENT '状态信息',
  `coverage_level` smallint NULL DEFAULT NULL COMMENT '覆盖等级',
  `net_prev` decimal(15, 4) NULL DEFAULT NULL COMMENT '网络上次充值水量',
  `net_total` decimal(10, 2) NULL DEFAULT NULL COMMENT '网络累计充值水量',
  `card_prev` decimal(10, 2) NULL DEFAULT NULL COMMENT '卡片上次充值水量',
  `card_total` decimal(10, 2) NULL DEFAULT NULL COMMENT '卡片累计充值水量',
  `forward_total` decimal(15, 4) NULL DEFAULT NULL COMMENT '正向累计流量',
  `reverse_total` decimal(15, 4) NULL DEFAULT NULL COMMENT '反向累计流量',
  `gprs_voltage` decimal(6, 2) NULL DEFAULT NULL COMMENT '模组电池电压',
  `speed` decimal(6, 2) NULL DEFAULT NULL COMMENT '瞬时流速',
  `flow` decimal(6, 2) NULL DEFAULT NULL COMMENT '瞬时流量',
  `net_seq` int NULL DEFAULT NULL COMMENT '网络序号',
  `card_seq` int NULL DEFAULT NULL COMMENT '卡序号',
  `meter_type` smallint NULL DEFAULT NULL COMMENT '表标识',
  `month_total` decimal(15, 4) NULL DEFAULT NULL COMMENT '本月累计流量',
  `surplus_total` decimal(15, 4) NULL DEFAULT NULL COMMENT '剩余累计流量',
  `density` int NULL DEFAULT NULL COMMENT '密度',
  `iccid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `pci` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `cell_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `snr` int NULL DEFAULT NULL,
  `online_success` int NULL DEFAULT NULL,
  `online_fail` int NULL DEFAULT NULL,
  `online_reset` int NULL DEFAULT NULL,
  `online_runtime` int NULL DEFAULT NULL,
  `earfcn` int NULL DEFAULT NULL,
  `ecl` int NULL DEFAULT NULL,
  `noise_ratio` smallint NULL DEFAULT NULL COMMENT '信噪比',
  `comm_type` smallint NULL DEFAULT NULL COMMENT '通信类型',
  `hdata_number` smallint NULL DEFAULT NULL COMMENT '数据个数',
  PRIMARY KEY (`device_addr`) USING BTREE,
  INDEX `idx_device_code`(`device_code` ASC) USING BTREE,
  INDEX `idx_company_code`(`company_code` ASC) USING BTREE,
  INDEX `idx_imei_seq`(`imei_seq` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '水表上报实时数据' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of device_data_report_real
-- ----------------------------

-- ----------------------------
-- Table structure for device_info
-- ----------------------------
DROP TABLE IF EXISTS `device_info`;
CREATE TABLE `device_info`  (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键ID',
  `device_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备id',
  `company_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水司id',
  `company_no` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水司编号',
  `user_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户id',
  `producer_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '厂家id',
  `protocol_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '协议id',
  `device_type_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备类型id',
  `device_type_code` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备类型编码',
  `device_type_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备类型名称',
  `device_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备编码',
  `device_addr` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备地址',
  `device_parent_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父设备id',
  `device_parent_code` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父设备编码',
  `device_parent_addr` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父设备地址',
  `third_device_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '第三方平台设备id',
  `device_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备名称',
  `device_imei` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备imei',
  `device_imsi` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设备imsi',
  `electronic_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电子标签号',
  `device_caliber` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '口径',
  `production_date` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生产日期',
  `install_date` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '安装日期',
  `install_address` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '安装位置',
  `device_digit` tinyint NULL DEFAULT NULL COMMENT '水表位数',
  `init_value` decimal(18, 4) NULL DEFAULT 0.0000 COMMENT '初始值',
  `device_status` tinyint NULL DEFAULT 0 COMMENT '水表状态 0:正常 1:停用 2:换表 3:拆表4.注销',
  `read_serial` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '抄表序号 预留字段',
  `read_cycle` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '抄表周期 预留字段',
  `valve_status` tinyint NULL DEFAULT NULL COMMENT '阀控状态 0:关 1:开',
  `value_operate_desc` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '阀控操作说明',
  `valve_operater` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '阀控操作人',
  `valve_operation_time` datetime NULL DEFAULT NULL COMMENT '阀控操作时间',
  `inverted_tag` tinyint NULL DEFAULT NULL COMMENT '倒转标记0:水表过周  1:水表倒转',
  `union_disunion_type` tinyint NULL DEFAULT NULL COMMENT '合表类型(1:总表 2:分表 3、非总分表)',
  `fee_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '费用标准',
  `is_compare_time` tinyint NULL DEFAULT 0 COMMENT '是否比较时间',
  `total_water` decimal(15, 4) NULL DEFAULT 0.0000 COMMENT '计费时的累计流量',
  `total_pay_water` decimal(15, 4) NULL DEFAULT 0.0000 COMMENT '累计缴费水量',
  `whether_valve` tinyint NULL DEFAULT NULL COMMENT '有无阀门',
  `cell_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '上报基站ID ',
  `longitude` decimal(20, 10) NULL DEFAULT NULL COMMENT '经度',
  `latitude` decimal(20, 10) NULL DEFAULT NULL COMMENT '维度',
  `heigh` decimal(20, 10) NULL DEFAULT NULL COMMENT '高度',
  `img_url1` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片地址',
  `img_url2` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片地址',
  `img_url3` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片地址',
  `steel_stamp_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '钢印号',
  `pluse_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分路号',
  `producer_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '厂家编号',
  `remove_value` decimal(18, 4) NULL DEFAULT NULL COMMENT '拆表示数',
  `depart_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '组织代码',
  `debug_status` tinyint(1) NULL DEFAULT 1 COMMENT '调试状态 1、已调试 0、未调试',
  `install_env` tinyint(1) NULL DEFAULT 1 COMMENT '安装环境 1、地埋表 2、管道井',
  `alarm_use` int NULL DEFAULT NULL COMMENT '用量告警',
  `is_accept` tinyint NULL DEFAULT NULL COMMENT '是否验收',
  `is_water_run` tinyint NULL DEFAULT NULL COMMENT '是否通水',
  `valve_shutoff_water` decimal(15, 4) NULL DEFAULT NULL COMMENT '关阀累计流量',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '设备日常信息记录' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of device_info
-- ----------------------------

-- ----------------------------
-- Table structure for operations_staff
-- ----------------------------
DROP TABLE IF EXISTS `operations_staff`;
CREATE TABLE `operations_staff`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT ' 运维人员ID,自增主键',
  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '  姓名',
  `gender` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '  性别',
  `birthdate` date NULL DEFAULT NULL COMMENT '  出生日期',
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '  邮箱地址,唯一',
  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '  联系电话',
  `address` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '  地址',
  `department` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '  部门',
  `position` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '  职位',
  `hire_date` date NULL DEFAULT NULL COMMENT '  入职日期',
  `last_update` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '  最后更新时间戳',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `email`(`email` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '运维人员信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of operations_staff
-- ----------------------------

-- ----------------------------
-- Table structure for optimization_schemes
-- ----------------------------
DROP TABLE IF EXISTS `optimization_schemes`;
CREATE TABLE `optimization_schemes`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT ' 方案优化ID,自增主键',
  `scheme_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 方案名称',
  `optimization_goal` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 优化目标',
  `implementation_details` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT ' 实施细节',
  `estimated_timeframe` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 预计时间范围',
  `responsible_team` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 负责团队',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 更新时间',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '优化方案' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of optimization_schemes
-- ----------------------------

-- ----------------------------
-- Table structure for product_details
-- ----------------------------
DROP TABLE IF EXISTS `product_details`;
CREATE TABLE `product_details`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '一个自增的主键',
  `user_info_id` int NULL DEFAULT NULL COMMENT '用户ID',
  `product_category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品分类',
  `product_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品编号',
  `specification_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品规格型号',
  `Communication methods` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '通讯方式,M-BUS、LORA、NB-IOT,4G',
  `sensor` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '脉冲、无磁、光电、超声、电磁、、摄像、机械',
  `mcu_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'MCU型号',
  `battery_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 电池型号',
  `products_info_id` int NULL DEFAULT NULL COMMENT '关联入库信息表ID (假设该表名为inventory_info,需设置外键约束)',
  `ip_address` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'IP',
  `port_number` int NULL DEFAULT NULL COMMENT ' 端口号',
  `sim_card_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机卡号',
  `communication_module` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '通讯模组',
  `baud_rate` int NULL DEFAULT NULL COMMENT ' 波特率',
  `data_bits` tinyint NULL DEFAULT NULL COMMENT ' 数据位',
  `stop_bits` tinyint NULL DEFAULT NULL COMMENT '停止位',
  `parity_bit` enum('None','Odd','Even','Mark','Space') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 效验位',
  `frequency` decimal(10, 2) NULL DEFAULT NULL COMMENT ' 频率',
  `spread_spectrum` enum('Yes','No') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 扩频',
  `bandwidth` decimal(10, 2) NULL DEFAULT NULL COMMENT ' 带宽',
  `preamble` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '前导码',
  `communication_protocol_id` int NULL DEFAULT NULL COMMENT ' 产品通讯协议',
  `case_material` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表壳材质',
  `glass_material` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 玻璃材质',
  `length` decimal(10, 2) NULL DEFAULT NULL COMMENT ' 长度',
  `width` decimal(10, 2) NULL DEFAULT NULL COMMENT ' 宽度',
  `height` decimal(10, 2) NULL DEFAULT NULL COMMENT ' 高度',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品细分属性登记' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of product_details
-- ----------------------------

-- ----------------------------
-- Table structure for product_technical_optimizations
-- ----------------------------
DROP TABLE IF EXISTS `product_technical_optimizations`;
CREATE TABLE `product_technical_optimizations`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '优化记录ID,自增主键',
  `product_id` int NOT NULL COMMENT '关联的产品ID',
  `optimization_date` date NOT NULL COMMENT '优化日期',
  `optimization_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '优化类型(如性能提升、功耗优化等)',
  `software_version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '软件版本号',
  `hardware_revision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '硬件修订版本号',
  `test_results` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '测试结果',
  `implementation_details` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '实施细节',
  `developers` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '开发人员',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品技术优化表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of product_technical_optimizations
-- ----------------------------

-- ----------------------------
-- Table structure for products_info
-- ----------------------------
DROP TABLE IF EXISTS `products_info`;
CREATE TABLE `products_info`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '一个自增的主键',
  `product_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品名称',
  `specification_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规格型号',
  `product_category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 产品分类',
  `diameter` decimal(10, 2) NULL DEFAULT NULL COMMENT '口径(假设是十进制数,可以根据需要调整精度)',
  `quantity` int NOT NULL COMMENT ' 数量',
  `production_date` date NOT NULL COMMENT '生产日期',
  `shelf_life` int NULL DEFAULT NULL COMMENT '保质期(通常以月或天为单位,根据需要定义)',
  `manufacturer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '生产厂家',
  `contact_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系电话',
  `supply_date` date NOT NULL COMMENT '供货日期',
  `inbound_logistics_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 入物流单号',
  `logistics_company` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '物流公司',
  `storage_time` datetime NOT NULL COMMENT '库时间(假设我们需要精确到时间戳)',
  `storage_person` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '入库人员',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '产品登记' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of products_info
-- ----------------------------
INSERT INTO `products_info` VALUES (1, '产品A', '型号123', '分类X', 10.50, 100, '2023-01-01', 12, '厂家Z', '1234567890', '2023-01-10', 'LOG123456', '物流公司Y', '2023-01-11 10:30:00', '张三', 0, 0, 0, '2024-06-12 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `products_info` VALUES (2, '产品A', '型号123', '分类X', 10.50, 100, '2023-01-01', 12, '厂家Z', '1234567890', '2023-01-10', 'LOG123456', '物流公司Y', '2023-01-11 10:30:00', '张三', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);

-- ----------------------------
-- Table structure for protocoldataframe
-- ----------------------------
DROP TABLE IF EXISTS `protocoldataframe`;
CREATE TABLE `protocoldataframe`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '自动编号',
  `PG_id` int NULL DEFAULT NULL COMMENT '协议组ID',
  `PF_id` int NULL DEFAULT NULL COMMENT '帧协议ID',
  `PFF_id` int NULL DEFAULT NULL COMMENT '帧协议DATA域ID',
  `FrameName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '帧名称',
  `FrameCode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '帧代码',
  `FrameLength` int NULL DEFAULT NULL COMMENT '长度',
  `FrameSorting` int NULL DEFAULT NULL COMMENT '顺序',
  `CRCflag` bit(1) NULL DEFAULT NULL COMMENT '产于校验标记',
  `Frameflag` bit(1) NULL DEFAULT NULL COMMENT '标记',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1626 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '协议数据域帧格式顺序' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of protocoldataframe
-- ----------------------------
INSERT INTO `protocoldataframe` VALUES (1593, 700, 3, 3798, '数据标识DI1DI2', '901F', 4, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1594, 700, 3, 3798, '序列号', '00', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1595, 700, 3, 3807, '数据标识DI1DI2', '901F', 4, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1596, 700, 3, 3807, '序列号', '00', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1597, 700, 3, 3807, '当前累计流量', '10001000', 8, 3, b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1598, 700, 3, 3807, '吨', '2C', 2, 4, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1599, 700, 3, 3807, '日累计流量', '10001000', 8, 5, b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1600, 700, 3, 3807, '吨', '2C', 2, 6, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1601, 700, 3, 3807, '实时时间', '00000000000000', 14, 7, b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1602, 700, 3, 3807, '状态1', '00', 2, 8, b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1603, 700, 3, 3807, '状态2', 'FF', 2, 9, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1604, 700, 3, 3816, '数据标识DI1DI2', 'A016', 4, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1605, 700, 3, 3816, '序列号', '00', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1606, 700, 3, 3816, '单位代码', '00', 2, 3, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1607, 700, 3, 3816, '设置累计流量', '00000000', 8, 4, b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1608, 700, 3, 3825, '数据标识DI1DI2', 'A016', 2, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1609, 700, 3, 3825, '序列号', '00', 1, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1610, 700, 3, 3825, '状态1', '00', 2, 3, b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1611, 700, 3, 3825, '状态2', 'FF', 2, 4, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1612, 700, 3, 3834, '数据标识DI1DI2', '810A', 4, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1613, 700, 3, 3834, '序列号', '00', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1614, 700, 3, 3843, '数据标识DI1DI2', '810A', 2, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1615, 700, 3, 3843, '序列号', '00', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1616, 700, 3, 3852, '数据标识DI1DI2', 'A018', 4, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1617, 700, 3, 3852, '序列号', '00', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1618, 700, 3, 3852, '新地址', '12000000000000', 14, 2, b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1619, 700, 3, 3861, '数据标识DI1DI2', 'A018', 2, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1620, 700, 3, 3861, '序列号', '00', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1621, 700, 3, 3870, '数据标识DI1DI2', 'A017', 4, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1622, 700, 3, 3870, '序列号', '00', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1623, 700, 3, 3870, '开', '55', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1624, 700, 3, 3879, '数据标识DI1DI2', 'A017', 2, 1, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocoldataframe` VALUES (1625, 700, 3, 3879, '序列号', '00', 2, 2, b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);

-- ----------------------------
-- Table structure for protocolframe
-- ----------------------------
DROP TABLE IF EXISTS `protocolframe`;
CREATE TABLE `protocolframe`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '自动编号',
  `PG_id` int NULL DEFAULT NULL COMMENT '协议组ID',
  `ProtocolEncoding` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '协议编码',
  `PtorocolName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '协议名称',
  `FrameEncoding` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '帧编码',
  `FrameName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '帧名称',
  `FrameCode` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '帧代码',
  `FrameSorting` int NULL DEFAULT NULL COMMENT '顺序',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 703 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '协议帧格式顺序' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of protocolframe
-- ----------------------------
INSERT INTO `protocolframe` VALUES (694, 3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '100001_00', '前导帧', 'FEFEFE', 0, 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframe` VALUES (695, 3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '100001_01', '起始帧', '68', 1, 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframe` VALUES (696, 3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '100001_02', '仪表类型', 'T', 2, 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframe` VALUES (697, 3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '100001_03', '地址域', 'A0-A6', 3, 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframe` VALUES (698, 3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '100001_04', '控制码', 'C', 4, 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframe` VALUES (699, 3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '100001_05', '数据长度', 'L', 5, 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframe` VALUES (700, 3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '100001_06', '数据域', 'DATA', 6, 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframe` VALUES (701, 3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '100001_07', '效验码', 'CS', 7, 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframe` VALUES (702, 3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '100001_08', '结束帧', '16', 8, 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);

-- ----------------------------
-- Table structure for protocolframefunctional
-- ----------------------------
DROP TABLE IF EXISTS `protocolframefunctional`;
CREATE TABLE `protocolframefunctional`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '自动编号',
  `PG_id` int NULL DEFAULT NULL COMMENT '协议组ID',
  `PF_id` int NULL DEFAULT NULL COMMENT '协议帧ID',
  `FunctionalCoding` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '功能编码',
  `FunctionalName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '功能名称',
  `FrameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '伪帧代码',
  `FrameLength` int NULL DEFAULT NULL COMMENT '帧长度',
  `FrameSorting` int NULL DEFAULT NULL COMMENT '顺序',
  `direction` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上下行协议',
  `CRCflag` bit(1) NULL DEFAULT NULL COMMENT '参与校验标记',
  `Frameflag` bit(1) NULL DEFAULT NULL COMMENT '是否引用当前伪帧的代码',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3882 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '协议功能码' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of protocolframefunctional
-- ----------------------------
INSERT INTO `protocolframefunctional` VALUES (3792, 3, 694, '901F', '读表计数据', 'FEFEFE', 2, 1, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3793, 3, 695, '901F', '读表计数据', '68', 2, 2, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3794, 3, 696, '901F', '读表计数据', '10', 2, 3, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3795, 3, 697, '901F', '读表计数据', '12000000000000', 14, 4, '下行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3796, 3, 698, '901F', '读表计数据', '01', 2, 5, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3797, 3, 699, '901F', '读表计数据', '03', 2, 6, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3798, 3, 700, '901F', '读表计数据', 'DATA', 6, 7, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3799, 3, 701, '901F', '读表计数据', 'CS', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3800, 3, 702, '901F', '读表计数据', '16', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3801, 3, 694, '901F', '读表计数据', 'FEFEFE', 2, 1, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3802, 3, 695, '901F', '读表计数据', '68', 2, 2, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3803, 3, 696, '901F', '读表计数据', '10', 2, 3, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3804, 3, 697, '901F', '读表计数据', '12000000000000', 14, 4, '上行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3805, 3, 698, '901F', '读表计数据', '81', 2, 5, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3806, 3, 699, '901F', '读表计数据', '16', 2, 6, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3807, 3, 700, '901F', '读表计数据', 'DATA', 44, 7, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3808, 3, 701, '901F', '读表计数据', 'CS', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3809, 3, 702, '901F', '读表计数据', '16', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3810, 3, 694, 'A016', '设置表计底数', 'FEFEFE', 2, 1, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3811, 3, 695, 'A016', '设置表计底数', '68', 2, 2, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3812, 3, 696, 'A016', '设置表计底数', '10', 2, 3, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3813, 3, 697, 'A016', '设置表计底数', '12000000000000', 14, 4, '下行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3814, 3, 698, 'A016', '设置表计底数', '16', 2, 5, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3815, 3, 699, 'A016', '设置表计底数', '08', 2, 6, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3816, 3, 700, 'A016', '设置表计底数', 'DATA', 16, 7, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3817, 3, 701, 'A016', '设置表计底数', 'CS', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3818, 3, 702, 'A016', '设置表计底数', '16', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3819, 3, 694, 'A016', '设置表计底数', 'FEFEFE', 2, 1, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3820, 3, 695, 'A016', '设置表计底数', '68', 2, 2, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3821, 3, 696, 'A016', '设置表计底数', '10', 2, 3, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3822, 3, 697, 'A016', '设置表计底数', '12000000000000', 14, 4, '上行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3823, 3, 698, 'A016', '设置表计底数', '96', 2, 5, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3824, 3, 699, 'A016', '设置表计底数', '05', 2, 6, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3825, 3, 700, 'A016', '设置表计底数', 'DATA', 10, 7, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3826, 3, 701, 'A016', '设置表计底数', 'CS', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3827, 3, 702, 'A016', '设置表计底数', '16', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3828, 3, 694, '810A', '读表计地址', 'FEFEFE', 2, 1, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3829, 3, 695, '810A', '读表计地址', '68', 2, 2, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3830, 3, 696, '810A', '读表计地址', 'AA', 2, 3, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3831, 3, 697, '810A', '读表计地址', 'AAAAAAAAAAAAAA', 14, 4, '下行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3832, 3, 698, '810A', '读表计地址', '03', 2, 5, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3833, 3, 699, '810A', '读表计地址', '03', 2, 6, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3834, 3, 700, '810A', '读表计地址', 'DATA', 6, 7, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3835, 3, 701, '810A', '读表计地址', 'CS', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3836, 3, 702, '810A', '读表计地址', '16', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3837, 3, 694, '810A', '读表计地址', 'FEFEFE', 2, 1, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3838, 3, 695, '810A', '读表计地址', '68', 2, 2, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3839, 3, 696, '810A', '读表计地址', '10', 2, 3, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3840, 3, 697, '810A', '读表计地址', '12000000000000', 14, 4, '上行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3841, 3, 698, '810A', '读表计地址', '83', 2, 5, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3842, 3, 699, '810A', '读表计地址', '03', 2, 6, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3843, 3, 700, '810A', '读表计地址', 'DATA', 6, 7, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3844, 3, 701, '810A', '读表计地址', 'CS', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3845, 3, 702, '810A', '读表计地址', '16', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3846, 3, 694, 'A018', '设置表计地址', 'FEFEFE', 2, 1, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3847, 3, 695, 'A018', '设置表计地址', '68', 2, 2, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3848, 3, 696, 'A018', '设置表计地址', '10', 2, 3, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3849, 3, 697, 'A018', '设置表计地址', 'AAAAAAAAAAAAAA', 14, 4, '下行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3850, 3, 698, 'A018', '设置表计地址', '15', 2, 5, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3851, 3, 699, 'A018', '设置表计地址', '0A', 2, 6, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3852, 3, 700, 'A018', '设置表计地址', 'DATA', 20, 7, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3853, 3, 701, 'A018', '设置表计地址', 'CS', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3854, 3, 702, 'A018', '设置表计地址', '16', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3855, 3, 694, 'A018', '设置表计地址', 'FEFEFE', 2, 1, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3856, 3, 695, 'A018', '设置表计地址', '68', 2, 2, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3857, 3, 696, 'A018', '设置表计地址', '10', 2, 3, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3858, 3, 697, 'A018', '设置表计地址', '12000000000000', 14, 4, '上行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3859, 3, 698, 'A018', '设置表计地址', '95', 2, 5, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3860, 3, 699, 'A018', '设置表计地址', '03', 2, 6, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3861, 3, 700, 'A018', '设置表计地址', 'DATA', 6, 7, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3862, 3, 701, 'A018', '设置表计地址', 'CS', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3863, 3, 702, 'A018', '设置表计地址', '16', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3864, 3, 694, 'A017', '阀门控制', 'FEFEFE', 2, 1, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3865, 3, 695, 'A017', '阀门控制', '68', 2, 2, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3866, 3, 696, 'A017', '阀门控制', '10', 2, 3, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3867, 3, 697, 'A017', '阀门控制', '12000000000000', 14, 4, '下行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3868, 3, 698, 'A017', '阀门控制', '04', 2, 5, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3869, 3, 699, 'A017', '阀门控制', '04', 2, 6, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3870, 3, 700, 'A017', '阀门控制', 'DATA', 8, 7, '下行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3871, 3, 701, 'A017', '阀门控制', 'CS', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3872, 3, 702, 'A017', '阀门控制', '16', 2, 8, '下行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3873, 3, 694, 'A017', '阀门控制', 'FEFEFE', 2, 1, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3874, 3, 695, 'A017', '阀门控制', '68', 2, 2, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3875, 3, 696, 'A017', '阀门控制', '10', 2, 3, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3876, 3, 697, 'A017', '阀门控制', '12000000000000', 14, 4, '上行协议', b'1', b'0', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3877, 3, 698, 'A017', '阀门控制', '84', 2, 5, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3878, 3, 699, 'A017', '阀门控制', '05', 2, 6, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3879, 3, 700, 'A017', '阀门控制', 'DATA', 10, 7, '上行协议', b'1', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3880, 3, 701, 'A017', '阀门控制', 'CS', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);
INSERT INTO `protocolframefunctional` VALUES (3881, 3, 702, 'A017', '阀门控制', '16', 2, 8, '上行协议', b'0', b'1', 0, 0, 0, '2024-06-11 00:00:00.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);

-- ----------------------------
-- Table structure for protocolgroup
-- ----------------------------
DROP TABLE IF EXISTS `protocolgroup`;
CREATE TABLE `protocolgroup`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '自动编号',
  `ProtocolEncoding` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义协议编码',
  `ProtocolName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '协议名称',
  `source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '协议来源',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '协议组' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of protocolgroup
-- ----------------------------
INSERT INTO `protocolgroup` VALUES (3, '100001', 'CJ-T188-2004《户用计量仪表数据传输技术条件》', '协会', 0, 0, 0, '2024-06-11 10:31:13.000000', 'a1', '管理员', NULL, NULL, NULL, NULL, 0);

-- ----------------------------
-- Table structure for quality_info
-- ----------------------------
DROP TABLE IF EXISTS `quality_info`;
CREATE TABLE `quality_info`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '质量信息ID,自增主键',
  `product_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '产品名称',
  `batch_number` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 批次号',
  `inspection_date` date NOT NULL COMMENT ' 检验日期',
  `inspector` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '检验员',
  `quality_standard` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '质量标准',
  `quality_status` enum('Passed','Failed','Pending') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '质量状态',
  `defects_found` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '发现的缺陷',
  `remarks` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '备注',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '质量信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of quality_info
-- ----------------------------

-- ----------------------------
-- Table structure for user_info
-- ----------------------------
DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info`  (
  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键ID',
  `product_details_id` int NULL DEFAULT NULL COMMENT '设备ID',
  `company_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水司id',
  `depart_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门id',
  `depart_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门编码',
  `depart_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门名称',
  `user_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户编号',
  `water_card_no` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户水卡卡号',
  `user_type` tinyint NULL DEFAULT 1 COMMENT '用户类型1、居民 2、单位 3、政府',
  `union_disunion_type` tinyint NULL DEFAULT NULL COMMENT '合表类型(1:总表 2:分表 3、非总分表)',
  `province_id` int UNSIGNED NULL DEFAULT NULL COMMENT '省份ID',
  `city_id` int UNSIGNED NULL DEFAULT NULL COMMENT '城市ID',
  `county_id` int UNSIGNED NULL DEFAULT NULL COMMENT '区县标识ID',
  `addr` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '地址',
  `longitude` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '经度',
  `latitude` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '纬度',
  `community` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '小区',
  `building_no` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '楼栋号',
  `unit_no` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '单元号',
  `house_no` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '门牌号',
  `user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户姓名',
  `id_card_no` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份证号码',
  `mobile_no` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机号',
  `email` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `water_number` int NULL DEFAULT NULL COMMENT '用水人数',
  `open_id` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '微信openid',
  `user_status` tinyint NULL DEFAULT NULL COMMENT '用户状态(1、正常 2、冻结 3、销户)',
  `is_prepay` tinyint NULL DEFAULT 0 COMMENT '是否预付费',
  `is_valve_control` tinyint NULL DEFAULT 0 COMMENT '是否阀控',
  `account_balance` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '账户余额',
  `is_credit` tinyint NULL DEFAULT 0 COMMENT '是否有信用',
  `credit_balance` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '信用余额',
  `line_credit` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '信用额度',
  `alarm_balance` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '告警余额',
  `invoice_type` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '发票类型',
  `give_water` decimal(10, 4) NULL DEFAULT NULL COMMENT '送水吨数',
  `area_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '区域id',
  `is_lock` tinyint NULL DEFAULT 0 COMMENT '是否锁定 1、是 0、否',
  `company_no` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '公司编号',
  `gridman_ids` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '网格员ids 逗号隔开',
  `order_no` int NULL DEFAULT NULL COMMENT '排序',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子'
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息' ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of user_info
-- ----------------------------

-- ----------------------------
-- Table structure for work_info
-- ----------------------------
DROP TABLE IF EXISTS `work_info`;
CREATE TABLE `work_info`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '工作信息ID,自增主键',
  `job_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '工作职位名称',
  `department` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '所属部门',
  `location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '工作地点',
  `job_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '工作职责描述',
  `requirements` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '工作要求或资格',
  `posted_date` date NOT NULL COMMENT '发布日期',
  `expires_on` date NULL DEFAULT NULL COMMENT ' 截止日期',
  `contact_person` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系人',
  `contact_email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系人邮箱',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工作信息' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of work_info
-- ----------------------------

-- ----------------------------
-- Table structure for work_orders
-- ----------------------------
DROP TABLE IF EXISTS `work_orders`;
CREATE TABLE `work_orders`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '工单ID,自增主键',
  `user_info_id` int NULL DEFAULT NULL COMMENT '用户ID',
  `user_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户编号',
  `product_details` int NULL DEFAULT NULL COMMENT '设备ID',
  `produt_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备编号',
  `order_number` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '工单编号,唯一标识',
  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 工单标题',
  `priority` enum('Low','Medium','High','Critical') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 工单优先级',
  `operations_staff_id` int NULL DEFAULT NULL COMMENT '分配给哪个员工或团队',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT ' 工单创建时间',
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ' 工单更新时间',
  `due_date` date NULL DEFAULT NULL COMMENT ' 工单截止日期',
  `customer_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 客户名称',
  `customer_contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ' 客户联系人',
  `customer_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户联系电话',
  `customer_email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户电子邮箱',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `order_number`(`order_number` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工单' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of work_orders
-- ----------------------------

-- ----------------------------
-- Table structure for workload_info
-- ----------------------------
DROP TABLE IF EXISTS `workload_info`;
CREATE TABLE `workload_info`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '工作量信息ID,自增主键',
  `workload_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '工作量类型',
  `assignee` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '负责人',
  `start_date` date NOT NULL COMMENT ' 开始日期',
  `end_date` date NULL DEFAULT NULL COMMENT ' 结束日期',
  `work_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 工作描述',
  `hours_estimated` decimal(10, 2) NULL DEFAULT NULL COMMENT ' 预估工时',
  `hours_actual` decimal(10, 2) NULL DEFAULT NULL COMMENT '实际工时',
  `priority` enum('Low','Medium','High') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT ' 工作优先级',
  `notes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT ' 备注',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '工作量信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of workload_info
-- ----------------------------

-- ----------------------------
-- Table structure for 必备字段
-- ----------------------------
DROP TABLE IF EXISTS `必备字段`;
CREATE TABLE `必备字段`  (
  `Guid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT 'Guid',
  `IsLocked` int NOT NULL COMMENT '锁定',
  `Status` int NOT NULL COMMENT '状态',
  `IsDeleted` int NOT NULL COMMENT '删除',
  `CreatedOn` datetime(6) NOT NULL COMMENT '创建时间',
  `CreatedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '创建者Guid',
  `CreatedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '创建者',
  `ModifiedOn` datetime(6) NULL DEFAULT NULL COMMENT '修改时间',
  `ModifiedByUserGuid` char(36) CHARACTER SET ascii COLLATE ascii_general_ci NULL DEFAULT NULL COMMENT '修改者Guid',
  `ModifiedByUserName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '修改者',
  `Description` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
  `IsSeed` int NULL DEFAULT 0 COMMENT '种子',
  PRIMARY KEY (`Guid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of 必备字段
-- ----------------------------

-- ----------------------------
-- View structure for communicationinstructions
-- ----------------------------
DROP VIEW IF EXISTS `communicationinstructions`;
CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `communicationinstructions` AS select `subquery`.`FunctionalName` AS `FunctionalName`,`subquery`.`FunctionalCoding` AS `FunctionalCoding`,concat(`subquery`.`FrameCodeS`,`subquery`.`HexSum`,16) AS `MergedValue`,`subquery`.`direction` AS `direction` from (select `protocolframefunctional`.`FunctionalName` AS `FunctionalName`,`protocolframefunctional`.`FunctionalCoding` AS `FunctionalCoding`,replace(group_concat((case when (`protocolframefunctional`.`FrameCode` = 'data') then (select `subquery`.`Framd` from (select `protocoldataframe`.`PFF_id` AS `PFF_id`,group_concat(`protocoldataframe`.`FrameCode` order by `protocoldataframe`.`FrameSorting` ASC separator ',') AS `Framd` from `protocoldataframe` group by `protocoldataframe`.`PFF_id`) `subquery` where (`subquery`.`PFF_id` = `protocolframefunctional`.`id`)) else `protocolframefunctional`.`FrameCode` end) order by `protocolframefunctional`.`FrameSorting` ASC separator ','),',','') AS `FrameCodeS`,`SumCRC`(replace(group_concat((case when (`protocolframefunctional`.`FrameCode` = 'data') then (select `subquery`.`Framd` from (select `protocoldataframe`.`PFF_id` AS `PFF_id`,group_concat(`protocoldataframe`.`FrameCode` order by `protocoldataframe`.`FrameSorting` ASC separator ',') AS `Framd` from `protocoldataframe` group by `protocoldataframe`.`PFF_id`) `subquery` where (`subquery`.`PFF_id` = `protocolframefunctional`.`id`)) else `protocolframefunctional`.`FrameCode` end) order by `protocolframefunctional`.`FrameSorting` ASC separator ','),',','')) AS `HexSum`,`protocolframefunctional`.`direction` AS `direction` from `protocolframefunctional` where (`protocolframefunctional`.`CRCflag` = 1) group by `protocolframefunctional`.`FunctionalName`,`protocolframefunctional`.`FunctionalCoding`,`protocolframefunctional`.`direction`) `subquery`;

-- ----------------------------
-- Function structure for HexToDec
-- ----------------------------
DROP FUNCTION IF EXISTS `HexToDec`;
delimiter ;;
CREATE FUNCTION `HexToDec`(hex_str VARCHAR(255))
 RETURNS bigint
  DETERMINISTIC
BEGIN
  DECLARE dec_val BIGINT(20) DEFAULT 0;
  SET dec_val = CONV(hex_str, 16, 10);
  RETURN dec_val;
END
;;
delimiter ;

-- ----------------------------
-- Procedure structure for insertProtocol
-- ----------------------------
DROP PROCEDURE IF EXISTS `insertProtocol`;
delimiter ;;
CREATE PROCEDURE `insertProtocol`()
BEGIN
    #Routine body goes here...
    DECLARE IPG_ID INT;
    DECLARE IProtocolEncoding VARCHAR(255);
    DECLARE IProtocolName VARCHAR(255);
    
    DECLARE IPF_ID INT;
    DECLARE IPFF_ID INT;
    DECLARE IFrameCode  VARCHAR(255);
    DECLARE IFrameEncoding VARCHAR(20);
    
    
    SELECT id,ProtocolEncoding,ProtocolName into IPG_ID,IProtocolEncoding, IProtocolName from protocolgroup where id=3;
    
    
    delete from protocolframe;
    
    INSERT INTO protocolframe (PG_id,ProtocolEncoding,PtorocolName,FrameEncoding,FrameName,FrameCode,FrameSorting,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPG_ID,IProtocolEncoding,IProtocolName,'100001_00','前导帧','FEFEFE',0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocolframe (PG_id,ProtocolEncoding,PtorocolName,FrameEncoding,FrameName,FrameCode,FrameSorting,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPG_ID,IProtocolEncoding,IProtocolName,'100001_01','起始帧','68',1,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocolframe (PG_id,ProtocolEncoding,PtorocolName,FrameEncoding,FrameName,FrameCode,FrameSorting,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPG_ID,IProtocolEncoding,IProtocolName,'100001_02','仪表类型','T',2,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocolframe (PG_id,ProtocolEncoding,PtorocolName,FrameEncoding,FrameName,FrameCode,FrameSorting,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPG_ID,IProtocolEncoding,IProtocolName,'100001_03','地址域','A0-A6',3,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocolframe (PG_id,ProtocolEncoding,PtorocolName,FrameEncoding,FrameName,FrameCode,FrameSorting,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPG_ID,IProtocolEncoding,IProtocolName,'100001_04','控制码','C',4,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocolframe (PG_id,ProtocolEncoding,PtorocolName,FrameEncoding,FrameName,FrameCode,FrameSorting,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPG_ID,IProtocolEncoding,IProtocolName,'100001_05','数据长度','L',5,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocolframe (PG_id,ProtocolEncoding,PtorocolName,FrameEncoding,FrameName,FrameCode,FrameSorting,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPG_ID,IProtocolEncoding,IProtocolName,'100001_06','数据域','DATA',6,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocolframe (PG_id,ProtocolEncoding,PtorocolName,FrameEncoding,FrameName,FrameCode,FrameSorting,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPG_ID,IProtocolEncoding,IProtocolName,'100001_07','效验码','CS',7,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocolframe (PG_id,ProtocolEncoding,PtorocolName,FrameEncoding,FrameName,FrameCode,FrameSorting,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPG_ID,IProtocolEncoding,IProtocolName,'100001_08','结束帧','16',8,0,0,0,'2024-06-11','a1','管理员');
    
    


    

SELECT id,ProtocolEncoding,ProtocolName into IPG_ID,IProtocolEncoding, IProtocolName from protocolgroup where id=3;

delete from protocolframefunctional;
  
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'901F',         '读表计数据',    IFrameCode,  2,'下行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据',IFrameCode,2,'下行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据','10',2,'下行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据','12000000000000',14,'下行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C'; 
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据','01',2,'下行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据','03',2,'下行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据',IFrameCode,6,'下行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    
        select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'901F',         '读表计数据',    IFrameCode,  2,'上行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据',IFrameCode,2,'上行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据','10',2,'上行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据','12000000000000',14,'上行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据','81',2,'上行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据','16',2,'上行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据',IFrameCode,44,'上行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'901F', '读表计数据',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    
        select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'A016',         '设置表计底数',    IFrameCode,  2,'下行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数',IFrameCode,2,'下行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数','10',2,'下行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数','12000000000000',14,'下行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数','16',2,'下行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数','08',2,'下行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数',IFrameCode,16,'下行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    
        select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'A016',         '设置表计底数',    IFrameCode,  2,'上行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数',IFrameCode,2,'上行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数','10',2,'上行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数','12000000000000',14,'上行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数','96',2,'上行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数','05',2,'上行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数',IFrameCode,10,'上行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A016', '设置表计底数',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'810A',         '读表计地址',    IFrameCode,  2,'下行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址',IFrameCode,2,'下行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址','AA',2,'下行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址','AAAAAAAAAAAAAA',14,'下行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址','03',2,'下行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址','03',2,'下行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址',IFrameCode,6,'下行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'810A',         '读表计地址',    IFrameCode,  2,'上行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址',IFrameCode,2,'上行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址','10',2,'上行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址','12000000000000',14,'上行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址','83',2,'上行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址','03',2,'上行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址',IFrameCode,6,'上行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'810A', '读表计地址',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    
    
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'A018',         '设置表计地址',    IFrameCode,  2,'下行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址',IFrameCode,2,'下行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址','10',2,'下行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址','AAAAAAAAAAAAAA',14,'下行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址','15',2,'下行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址','0A',2,'下行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址',IFrameCode,20,'下行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'A018',         '设置表计地址',    IFrameCode,  2,'上行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址',IFrameCode,2,'上行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址','10',2,'上行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址','12000000000000',14,'上行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址','95',2,'上行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址','03',2,'上行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址',IFrameCode,6,'上行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A018', '设置表计地址',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    
    
        select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'A017',         '阀门控制',    IFrameCode,  2,'下行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制',IFrameCode,2,'下行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制','10',2,'下行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制','12000000000000',14,'下行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制','04',2,'下行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制','04',2,'下行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制',IFrameCode,8,'下行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制',IFrameCode,2,'下行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='FEFEFE';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES                            (IPG_ID,IPF_id,'A017',         '阀门控制',    IFrameCode,  2,'上行协议',1,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='68';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制',IFrameCode,2,'上行协议',2,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='T';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制','10',2,'上行协议',3,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='A0-A6';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制','12000000000000',14,'上行协议',4,1,0,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='C';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制','84',2,'上行协议',5,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='L';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制','05',2,'上行协议',6,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='DATA';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制',IFrameCode,10,'上行协议',7,1,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='CS';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');
    select id,FrameCode into IPF_id,IFrameCode FROM protocolframe where FrameCode='16';
  INSERT INTO protocolframefunctional(PG_id,PF_id,FunctionalCoding,FunctionalName,FrameCode,FrameLength,direction,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES(IPG_ID,IPF_id,'A017', '阀门控制',IFrameCode,2,'上行协议',8,0,1,0,0,0,'2024-06-11','a1','管理员');


select * from protocolframefunctional;

delete from protocoldataframe;

  select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='下行协议' and FunctionalCoding='901F';
 
    
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','901F',4,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');

    
    select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='上行协议' and FunctionalCoding='901F';
 

    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','901F',4,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'当前累计流量','10001000',8,3,1,1,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'吨','2C',2,4,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'日累计流量','10001000',8,5,1,1,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'吨','2C',2,6,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'实时时间','00000000000000',14,7,1,1,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'状态1','00',2,8,1,1,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'状态2','FF',2,9,1,0,0,0,0,'2024-06-11','a1','管理员');
    
     select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='下行协议' and FunctionalCoding='A016';
 
    
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','A016',4,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'单位代码','00',2,3,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'设置累计流量','00000000',8,4,1,1,0,0,0,'2024-06-11','a1','管理员');

    
    select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='上行协议' and FunctionalCoding='A016';
 

    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','A016',2,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',1,2,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'状态1','00',2,3,1,1,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'状态2','FF',2,4,1,0,0,0,0,'2024-06-11','a1','管理员');
    
         select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='下行协议' and FunctionalCoding='810A';
 
    
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','810A',4,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');


    
    select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='上行协议' and FunctionalCoding='810A';
 

    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','810A',2,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');


         select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='下行协议' and FunctionalCoding='A018';
 
    
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','A018',4,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');
        INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'新地址','12000000000000',14,2,1,1,0,0,0,'2024-06-11','a1','管理员');

    
    select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='上行协议' and FunctionalCoding='A018';
 

    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','A018',2,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');
    
    
         select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='下行协议' and FunctionalCoding='A017';
 
    
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','A017',4,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');
        INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'开','55',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');

    
    select id ,PG_ID,PF_id INTO IPFF_ID,IPF_ID,IPG_ID from protocolframefunctional WHERE FrameCode='data' and direction='上行协议' and FunctionalCoding='A017';
 

    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'数据标识DI1DI2','A017',2,1,1,0,0,0,0,'2024-06-11','a1','管理员');
    INSERT INTO protocoldataframe (PFF_ID,PG_id,PF_id,FrameName,FrameCode,FrameLength,FrameSorting,CRCflag,Frameflag,IsLocked,Status,IsDeleted,CreatedOn,CreatedByUserGuid,CreatedByUserName) 
    VALUES (IPFF_ID,IPG_ID,IPF_ID,'序列号','00',2,2,1,0,0,0,0,'2024-06-11','a1','管理员');


select * from protocoldataframe;


SELECT
    FunctionalName,
    FunctionalCoding,
    CONCAT(FrameCodeS, HexSum,16) AS MergedValue, -- 合并FrameCodeS和HexSum列
    direction
FROM (
    SELECT
        FunctionalName,
        FunctionalCoding,
        REPLACE(
            GROUP_CONCAT(
                CASE
                    WHEN FrameCode = 'data' THEN (
                        SELECT Framd
                        FROM (
                            SELECT
                                PFF_id,
                                GROUP_CONCAT(FrameCode ORDER BY FrameSorting) AS Framd
                            FROM
                                protocoldataframe
                            GROUP BY
                                PFF_id
                        ) AS subquery
                        WHERE subquery.PFF_id = protocolframefunctional.id
                    )
                    ELSE FrameCode
                END
                ORDER BY FrameSorting
            ),
            ',', '' -- 替换逗号为空字符串
        ) AS FrameCodeS,
        SumCRC(REPLACE(
            GROUP_CONCAT(
                CASE
                    WHEN FrameCode = 'data' THEN (
                        SELECT Framd
                        FROM (
                            SELECT
                                PFF_id,
                                GROUP_CONCAT(FrameCode ORDER BY FrameSorting) AS Framd
                            FROM
                                protocoldataframe
                            GROUP BY
                                PFF_id
                        ) AS subquery
                        WHERE subquery.PFF_id = protocolframefunctional.id
                    )
                    ELSE FrameCode
                END
                ORDER BY FrameSorting
            ),
            ',', '' -- 替换逗号为空字符串
        )) AS HexSum,
        direction
    FROM
        protocolframefunctional
    WHERE
        CRCflag = 1
    GROUP BY
        FunctionalName,
        FunctionalCoding,
        direction
) AS subquery;


END
;;
delimiter ;

-- ----------------------------
-- Function structure for SumCRC
-- ----------------------------
DROP FUNCTION IF EXISTS `SumCRC`;
delimiter ;;
CREATE FUNCTION `SumCRC`(hex_str VARCHAR(255))
 RETURNS varchar(255) CHARSET utf8mb4
  DETERMINISTIC
BEGIN
  DECLARE done INT DEFAULT FALSE;
  DECLARE hex_pair VARCHAR(2);
  DECLARE dec_val BIGINT DEFAULT 0;
    DECLARE HEX1016 INT;
  DECLARE cur CURSOR FOR SELECT SUBSTRING(hex_str, num*2-1, 2)
                           FROM (SELECT 1 num UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4
                                  UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8
                                  UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12
                                                                    UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 UNION ALL SELECT 16
                                  UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL SELECT 19 UNION ALL SELECT 20
                                                                    UNION ALL SELECT 21 UNION ALL SELECT 22 UNION ALL SELECT 23 UNION ALL SELECT 24
                                  UNION ALL SELECT 25 UNION ALL SELECT 26 UNION ALL SELECT 27 UNION ALL SELECT 28
                                                                    UNION ALL SELECT 29 UNION ALL SELECT 30 UNION ALL SELECT 31 UNION ALL SELECT 32
                                  UNION ALL SELECT 33 UNION ALL SELECT 34 UNION ALL SELECT 35 UNION ALL SELECT 36
                                                                    UNION ALL SELECT 37 UNION ALL SELECT 38 UNION ALL SELECT 39
                                                                  UNION ALL SELECT 40 UNION ALL SELECT 41 UNION ALL SELECT 42 UNION ALL SELECT 43 UNION ALL SELECT 44 UNION ALL SELECT 45 UNION ALL SELECT 46 UNION ALL SELECT 47 UNION ALL SELECT 48 UNION ALL SELECT 49
                                                                    UNION ALL SELECT 50 UNION ALL SELECT 51 UNION ALL SELECT 52 UNION ALL SELECT 53 UNION ALL SELECT 54 UNION ALL SELECT 55 UNION ALL SELECT 56 UNION ALL SELECT 57 UNION ALL SELECT 58 UNION ALL SELECT 59
                                                                    UNION ALL SELECT 60 UNION ALL SELECT 61 UNION ALL SELECT 62 UNION ALL SELECT 63 UNION ALL SELECT 64 UNION ALL SELECT 65 UNION ALL SELECT 66 UNION ALL SELECT 67 UNION ALL SELECT 68 UNION ALL SELECT 69
                                                                    UNION ALL SELECT 70 UNION ALL SELECT 71 UNION ALL SELECT 72 UNION ALL SELECT 73 UNION ALL SELECT 74 UNION ALL SELECT 75 UNION ALL SELECT 76 UNION ALL SELECT 77 UNION ALL SELECT 78 UNION ALL SELECT 79
                                  ) t
                           WHERE num * 2 <= CHAR_LENGTH(hex_str);
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

  OPEN cur;

  read_loop: LOOP
    FETCH cur INTO hex_pair;
    IF done THEN
      LEAVE read_loop;
    END IF;
        
    SET dec_val = dec_val + CONV(hex_pair, 16, 10);
                
  END LOOP;
  
  CLOSE cur;

  RETURN SUBSTRING( CONV(dec_val, 10, 16), LENGTH( CONV(dec_val, 10, 16)) - 1, 2);
END
;;
delimiter ;

SET FOREIGN_KEY_CHECKS = 1;
 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马铃薯_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值