| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- -- 初始化测试数据
- -- 目标数据库用户: ZJRS_YWXT
- -- 清理旧数据,防止主键冲突
- -- 删除 FW_OPERATOR 时,同时根据 OPERID 和 LOGINID 删除,防止 UK_FW_OPERATOR_LOGINID 冲突
- DELETE FROM ZJRS_YWXT.FW_OPERATOR WHERE OPERID IN ('admin', 'test', 'admin_123456') OR LOGINID IN ('admin', 'test', 'admin_123456');
- -- 删除关联权限时,需要先找出可能存在的 OPERID(如果是通过 LOGINID 查找到的旧数据)
- -- 这里简单起见,还是根据 OPERID 删除,但在生产环境中应该更严谨
- DELETE FROM ZJRS_YWXT.FW_OPERATOR2RIGHT WHERE OPERID IN ('admin', 'test', 'admin_123456');
- -- 同时删除即将插入的 ID 1, 2, 3,防止主键冲突
- DELETE FROM ZJRS_YWXT.FW_OPERATOR2RIGHT WHERE ID IN (1, 2, 3);
- DELETE FROM ZJRS_YWXT.FW_RIGHT WHERE RIGHTID IN ('01', '0101', '0102');
- -- 删除旧的字典数据,避免违反唯一约束 UK_AAA100_ITEMCODE
- -- 同时删除即将插入的主键 ID,防止 PK_AA10 冲突
- DELETE FROM ZJRS_YWXT.AA10 WHERE AAZ093 IN (1001, 1002, 1003, 2001, 2002, 2003, 2004);
- DELETE FROM ZJRS_YWXT.AA10 WHERE AAA100 = 'OPERTYPE' AND ITEMCODE IN ('1', '2', '3');
- DELETE FROM ZJRS_YWXT.AA10 WHERE AAA100 = 'RIGHTTYPE' AND ITEMCODE IN ('1', '2');
- DELETE FROM ZJRS_YWXT.AA10 WHERE AAA100 = 'AUTHTYPE' AND ITEMCODE IN ('1', '2');
- DELETE FROM ZJRS_YWXT.FW_OPERATEUNIT WHERE OPERUNITID = 1001;
- DELETE FROM ZJRS_YWXT.FW_SYSORG WHERE BAE001 = '440800';
- -- 清理异常日志表,防止 ID 冲突 (ORA-00001: PK_FW_LOG4EXCEPTION_ID)
- DELETE FROM ZJRS_YWXT.FW_LOG4EXCEPTION;
- -- 清理登录日志表 (可选,保持环境干净)
- DELETE FROM ZJRS_YWXT.FW_LOG4LOGIN;
- -- 解决 UNSAFE_VALIDATEFORM 配置问题
- -- 如果数据库中有导致空指针的配置,将其更新为安全值
- UPDATE AA01 SET AAA005 = 'NEVER_MATCH_THIS_TOKEN' WHERE AAA001 = 'UNSAFE_VALIDATEFORM' AND (AAA005 IS NULL OR AAA005 = '');
- COMMIT;
- -- 1. 插入经办单位 (Organization Unit)
- -- OPERUNITID: 1001
- -- OPERUNITNAME: 湛江市人社局
- INSERT INTO ZJRS_YWXT.FW_OPERATEUNIT (BAE001, OPERUNITID, OPERUNITNAME, OPERUNITTYPE, AAE100, BAE006, BAE003)
- VALUES ('440800', 1001, '湛江市人社局', '1', '1', 'system', 20231027000000);
- -- 2. 插入字典数据 (AA10) - 操作员类型
- -- OPERTYPE: 1-超级管理员, 2-系统管理员, 3-普通操作员
- INSERT INTO ZJRS_YWXT.AA10 (AAZ093, ITEMCODE, AAA102, AAA100, AAE100, SORTNO)
- VALUES (1001, '1', '超级管理员', 'OPERTYPE', '1', '1');
- INSERT INTO ZJRS_YWXT.AA10 (AAZ093, ITEMCODE, AAA102, AAA100, AAE100, SORTNO)
- VALUES (1002, '2', '系统管理员', 'OPERTYPE', '1', '2');
- INSERT INTO ZJRS_YWXT.AA10 (AAZ093, ITEMCODE, AAA102, AAA100, AAE100, SORTNO)
- VALUES (1003, '3', '普通操作员', 'OPERTYPE', '1', '3');
- -- 3. 插入操作员 (User)
- -- 用户1: admin / 密码: admin (明文)
- -- PWENCRYPT: 0 (表示未加密)
- -- OPERTYPE: 2 (系统管理员)
- INSERT INTO ZJRS_YWXT.FW_OPERATOR (
- BAE001, OPERUNITID, OPERID, OPERNAME, OPERTYPE, LOGINID,
- PASSWORD, PWENCRYPT, AAE100, BAE006, BAE003, OPERTYPE2
- ) VALUES (
- '440800', 1001, 'admin', '系统管理员', '2', 'admin',
- 'admin', '0', '1', 'system', 20231027000000, '0'
- );
- -- 用户2: test / 密码: test (明文)
- -- PWENCRYPT: 0 (表示未加密,如果系统支持明文登录)
- INSERT INTO ZJRS_YWXT.FW_OPERATOR (
- BAE001, OPERUNITID, OPERID, OPERNAME, OPERTYPE, LOGINID,
- PASSWORD, PWENCRYPT, AAE100, BAE006, BAE003, OPERTYPE2
- ) VALUES (
- '440800', 1001, 'test', '测试用户', '3', 'test',
- 'test', '0', '1', 'system', 20231027000000, '0'
- );
- -- 用户3: admin_123456 / 密码: 123456 (明文)
- INSERT INTO ZJRS_YWXT.FW_OPERATOR (
- BAE001, OPERUNITID, OPERID, OPERNAME, OPERTYPE, LOGINID,
- PASSWORD, PWENCRYPT, AAE100, BAE006, BAE003, OPERTYPE2
- ) VALUES (
- '440800', 1001, 'admin_123456', '管理员123456', '2', 'admin_123456',
- '123456', '0', '1', 'system', 20231027000000, '0'
- );
- COMMIT;
- -- =================================================================
- -- 修复 ORA-00904: "LOCATE" / "F_LENGTH" 无效标识符问题
- -- 原因:代码中使用了 MySQL/自定义函数,Oracle 中不存在
- -- 解决方案:在数据库中创建兼容函数
- -- =================================================================
- -- 1. 创建 LOCATE 兼容函数 (模拟 MySQL LOCATE)
- CREATE OR REPLACE FUNCTION LOCATE( substr IN VARCHAR2, str IN VARCHAR2 ) RETURN NUMBER IS
- BEGIN
- -- 调用 Oracle 内置的 INSTR,注意参数互换位置
- RETURN INSTR(str, substr);
- END LOCATE;
- /
- -- 2. 创建 f_length 兼容函数 (模拟 LENGTH)
- CREATE OR REPLACE FUNCTION f_length( str IN VARCHAR2 ) RETURN NUMBER IS
- BEGIN
- RETURN LENGTH(str);
- END f_length;
- /
- /*
- ================================================================================
- 需从正式环境提取数据的表清单 (System Configuration & Framework Tables)
- 请使用数据导出工具 (如 PL/SQL Developer, DataPump) 导出以下表的数据并在测试环境导入。
- ================================================================================
- 1. 系统参数与字典 (System Parameters & Dictionaries)
- ----------------------------------------------------
- - AA01 (系统参数表 - System Parameters)
- - AA10 (数据字典表 - Data Dictionary)
- - FW_SYSMESSAGE (系统消息提示信息 - System Messages)
- - FW_HELP (系统帮助信息 - System Help)
- - FW_BIGDICT_MAINTAIN (大字典维护表 - Big Dictionary)
- 2. 权限与组织架构 (Rights, Roles & Organization)
- ----------------------------------------------------
- - FW_SYSORG (系统机构表 - System Organization)
- - FW_OPERATEUNIT (经办单位表 - Operating Units)
- - FW_OPERATOR (操作员表 - Operators)
- - FW_RIGHT (菜单与权限表 - Menus & Rights)
- - FW_RIGHT2RESOURCE (权限资源关联表 - Rights to Resources)
- - FW_ROLE (角色表 - Roles)
- - FW_ROLE2RIGHT (角色权限关联表 - Roles to Rights)
- - FW_OPERATOR2RIGHT (用户权限关联表 - Users to Rights)
- - FW_OPERATOR2ROLE (用户角色关联表 - Users to Roles)
- 3. 界面配置 (UI Configuration)
- ----------------------------------------------------
- - FW_GENLIST_CONF (通用列表配置表 - General List Config)
- - FW_GENTBL_CONF (通用表单配置表 - General Table Config)
- - FW_QUERYSQL (通用查询SQL表 - General Query SQL)
- 4. 报表打印 (Reporting & Printing)
- ----------------------------------------------------
- - FW_PRINT_CONF (打印配置表 - Print Configuration)
- - FW_PRINT_CLIENTCONFIG (客户端打印配置 - Client Print Config)
- - FW_REPORT_CONF (报表配置表 - Report Configuration)
- 5. 工作流 (Workflow - If applicable)
- ----------------------------------------------------
- - WF_ACTION_DEF (工作流动作定义 - Workflow Actions)
- - WF_ACTION_DEF2TASK (工作流任务关联 - Workflow Tasks)
- - FW_WF_DESIGNER (工作流设计器 - Workflow Designer)
- 6. 其他 (Others)
- ----------------------------------------------------
- - FW_YXZLINFO_CONF (影像资料配置 - Image Config)
- - FW_LOG4BUSS (业务日志 - Business Logs, optional structure)
- 导出命令参考 (Oracle Exp):
- exp userid=ZJRS_YWXT/PASSWORD tables=(AA01,AA10,FW_SYSMESSAGE,FW_HELP,FW_BIGDICT_MAINTAIN,FW_SYSORG,FW_OPERATEUNIT,FW_OPERATOR,FW_RIGHT,FW_RIGHT2RESOURCE,FW_ROLE,FW_ROLE2RIGHT,FW_OPERATOR2RIGHT,FW_OPERATOR2ROLE,FW_GENLIST_CONF,FW_GENTBL_CONF,FW_QUERYSQL,FW_PRINT_CONF,FW_PRINT_CLIENTCONFIG,FW_REPORT_CONF,WF_ACTION_DEF,WF_ACTION_DEF2TASK,FW_WF_DESIGNER,FW_YXZLINFO_CONF) file=init_data.dmp
- */
|