blob: 2c119e6ea49e390e48cfb73de7da67ad12e4217e [file] [log] [blame]
Cheng Tangeb173e02013-10-22 16:42:23 +08001/*
2 // 配置格式说明:
3 // name: 转换目标表名
4 // action: 装换前的操作,truncate 表示先执行truncate 操作,none 表示无任何动作
5 // desc: 转换规则的描述
6 // pre_exec: 执行转换前需要执行一次的 sql 语句,格式如 [ "insert into ....", "delete from ...."],
7 // 可以有多条 sql 语句, 这个操作是在原始数据库执行
8 // post_exec: 转换完成后需要执行一次的 sql 语句, 格式同 pre_exec 这个操作是在目标数据库执行
9 // src_sql: 转换原始表查询 sql
10 // dest_column: 转换目标表 column , src_sql 查询出来的字段与 dest_column 的字段
11*/
12[
13 {
14 "name": "T_DEVICE_TEMP",
15 "action": "truncate",
16 "desc": "设备注册表",
17 "src_sql": "SELECT T1.DEVICE_ID,T1.DEVICE_NAME,T1.DEVPHY999_ID,T1.DEV999_NO,
18 T1.PHYTYPE DEVPHYTYPE,T1.DEVTYPE,'' DEVVERNO,T1.CARDSTR,T2.DEVICE_ID,
19 1 RUNSTATUS,(case when T1.STATE_ID between 1 and 4 then 1
20 else 2 end) STATUS,
21 T1.PORTCOUNT,T1.PORTNO,T1.JOINMODE,T1.COMADD,nvl(trim(T1.PORT),0),T1.BAUDRATE,
22 '' CARDSET,T1.BSHEETVER,T1.LASTTRASERNO,T1.OPERATE_TIME LASTTRANSTIME,
23 trim(T1.PUSERNO),0 MAXAMT,T1.SUBSYSTEM_ID,T1.AREA,'' DOORLSTVER,T1.DEV_USAGE,
24 '' OPENDATE,'' CLOSEDATE,'' BATCHNO,'' LASTSAVED,'' REMARK FROM
25 YKT_CUR.T_PIF_DEVICE T1 LEFT JOIN YKT_CUR.T_PIF_DEVICE T2 ON
26 T1.FDEV_ID=T2.DEVICE_ID AND T1.DEVPHY999_ID NOT IN ('FFFFFFFF','00000000')
27 AND T2.STATE_ID<5 ORDER BY T1.DEVICE_ID",
28 "dest_column": "DEVICEID, DEVICENAME, DEVPHYID,DEVICENO, DEVPHYTYPE, DEVTYPECODE,
29 DEVVERNO, CARDPHYTYPE, FDEVICEID,RUNSTATUS, STATUS,SVRPORTCNT,
30 SVRPORTNO,COMMTYPE, IP,PORTNO, BAUDRATE, CARDSET,CARDVERNO,
31 LASTSEQNO,LASTTRANSTIME,PURSENO, MAXAMT, SYSID,AREACODE,
32 DOORLSTVER, DEVUSAGE,OPENDATE, CLOSEDATE, BATCHNO,
33 LASTSAVED, REMARK",
34 "post_exec": ["update t_device_temp x set devphyid=substr(devphyid,1,4)
35 || lpad(to_number(substr(devphyid,5,1), 'XX'),2,'0')
36 || lpad(to_number(substr(devphyid,6,1), 'XX'),2,'0')
37 || substr(devphyid,7,2)
38 where x.devphytype=1001 and length(x.devphyid) = 8"]
39 }
40]