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