增加上理工转换脚本
diff --git a/convert-usst.json b/convert-usst.json
new file mode 100755
index 0000000..a4bf0d5
--- /dev/null
+++ b/convert-usst.json
@@ -0,0 +1,552 @@
+/*

+ // 配置格式说明:

+ // 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 的字段

+*/

+[

+    {

+        "desc": "商户信息表",

+        "name": "T_SHOP",

+        "action": "truncate",

+        "src_sql":"select t.shop_id,t.dept_id,'' areacode,'' deptcode,t.shop_name shopname,

+        (case when t.is_leaf ='1' then 1 else  0 end) shop_type,

+        (case when t.is_leaf='1' then 1 else 0 end) accflag ,shop_state,

+        (case when a.account_id is null then '' else '2'||substr(a.account_id,8) end) accno,

+        t.man,1 idtype,t.man_id,t.tel,'' mobile,'' email,t.address,'' zipcode,

+        (case when t.is_getfee='1' then 1 else 0 end) boardfeeflag,'' RAKEOFFTYPE,

+        t.ratio, '' DEPOSITAGIO,'' DEPOSITCNT,'' DEPOSITAMT,'' DISCOUNTAMT, '' BANKCODE,

+        '' BANKACCNO,'' BANKACCNAME,'' OPENDATE,'' CLOSEDATE,'' USEFLAG

+        from ykt_cur.t_cif_shop t left join ykt_cur.t_aif_account a on

+            t.cut_id=a.customer_id and t.is_leaf='1'",

+        "dest_column": "SHOPID, FSHOPID, AREACODE,DEPTCODE, SHOPNAME, SHOPTYPE,ACCFLAG,

+                        STATUS, ACCNO, CONTACTMAN, IDTYPE, IDNO, TEL, MOBILE, EMAIL, ADDR,

+                        ZIPCODE, BOARDFEEFLAG, RAKEOFFTYPE, RAKEOFFRATE, DEPOSITAGIO,DEPOSITCNT,

+                        DEPOSITAMT, DISCOUNTAMT, BANKCODE, BANKACCNO, BANKACCNAME, OPENDATE,

+                        CLOSEDATE, USEFLAG",

+        "post_exec": ["update t_syskey set keyval=(select max(shopid) from t_shop)

+                        where keycode='SHOPID'"]

+    },

+    {

+        "desc": "账户信息表",

+        "name": "T_ACCOUNT",

+        "action": "truncate",

+        "src_sql": "select (case when a.account_id is null then ''

+                            else '1'||substr(a.account_id,8) end) accno,

+                    a.cut_name,'2001',a.password,a.customer_id,a.card_id,a.purse_id,

+                    '' singlemaxamt,'' daycostmaxamt,'' daycostamt,'' cardmaxbal,

+                    a.current_state,(case when a.current_state=1 then c.deposit_fee

+                                     else 0 end) foregift,

+                    0 ydaybal,a.cur_bala,a.cur_freebala,a.cur_frozebala,0 subsidybal,

+                    0 subsidyno,a.card_balance,a.consume_count,0 dpscnt,a.consume_count paycnt,

+                    0 termid,'' transtime,0 lastsubsidyamt,0 lastsubsidyno,0 lastbala,

+                    0 lastcardcnt,0 lastdpscnt,0 lastpaycnt,'' lasttransdate,'' lastaccdate,

+                    a.open_date,a.close_date from ykt_cur.t_aif_account a left join

+                    ykt_cur.t_pif_card c on a.card_id=c.card_id where a.act_type=1",

+        "dest_column": "ACCNO, ACCNAME, SUBJNO, ACCPWD, CUSTID, CARDNO, PURSENO, SINGLEMAXAMT,

+                        DAYCOSTMAXAMT,DAYCOSTAMT, CARDMAXBAL, STATUS, FOREGIFT, YDAYBAL,

+                        BALANCE, AVAILBAL, FROZEBAL, SUBSIDYBAL, SUBSIDYNO, CARDBAL, CARDCNT,

+                        DPSCNT, PAYCNT, TERMID, TRANSTIME, LASTSUBSIDYAMT, LASTSUBSIDYNO,

+                        LASTCARDBAL, LASTCARDCNT, LASTDPSCNT, LASTPAYCNT, LASTTRANSDATE,

+                        LASTACCDATE, OPENDATE, CLOSEDATE",

+        "post_exec":["update t_syskey set keyval=(select max(to_number(substr(accno,2)))

+                      from t_account) where keycode='CARDACCNO'"]

+    },

+    {

+        "name": "T_AREA",

+        "action": "truncate",

+        "desc": "区域信息表",

+        "src_sql": "select area_no,area_name,father_area_no,'' oldareacode,

+                    arealevel,address,comments from ykt_cur.t_pif_area",

+        "dest_column": "AREACODE, AREANAME, FAREACODE, OLDAREACODE, AREALEVEL, ADDR, REMARK"

+    },

+    {

+        "name": "T_AUTHCARD",

+        "action": "truncate",

+        "desc": "授权卡信息表",

+        "src_sql": "select row_number() over(),'' opercode,physical_no,'' showcardno,

+                    0 privilege,end_time,state_id,0 lossflag,'' lossdate,

+                    substr(begin_time,1,4)||'0101' opendate,'' closedate

+                    from YKT_CUR.T_PIF_AUTHCARD",

+        "dest_column": "CARDNO, OPERCODE, CARDPHYID, SHOWCARDNO, PRIVILEGE, EXPIREDATE,

+        STATUS, LOSSFLAG, LOSSDATE, OPENDATE, CLOSEDATE"

+    },

+    {

+        "name": "T_CARD",

+        "action": "truncate",

+        "desc": "卡信息表",

+        "src_sql": "select c.card_id,(case when a.account_id is null then '3000000001'

+                                      else '1'||substr(a.account_id,8) end),

+                    type_id,phytype,(case when c1.fee_type>0 then c1.fee_type

+                                     else c1.cut_type end) feetype,

+                    c.cosumer_id,c.showid,c.physical_no,c.password,

+                    (case when c.end_time ='' then '20000101'

+                     else c.end_time end) expiredate,

+                    substr(c.state_id,1,1) status,

+                    (case when substr(c.state_id,2,1)='1' then '1'

+                     else '0' end) lossflag,

+                    '' lossdate,'' lossefttime,

+                    (case when substr(c.state_id,3,1)='1' then '1'

+                        else '0' end) frozeflag,

+                    '' frozedate,'0' badflag,'' badtype,'' baddate,'0' lockflag,

+                    '' lockdate,c.begin_time opendate,'' closedate,'' cardverno,'' lastsaved

+                    from YKT_CUR.T_PIF_CARD c  left join ykt_cur.t_aif_account a on

+                    c.card_id=a.card_id  left join ykt_cur.t_cif_customer c1 on

+                    c.cosumer_id=c1.cut_id  order by c.card_id",

+        "dest_column": "CARDNO, ACCNO, CARDTYPE,CARDPHYTYPE, FEETYPE, CUSTID, SHOWCARDNO,

+                        CARDPHYID, CARDPWD,EXPIREDATE, STATUS, LOSSFLAG, LOSSDATE, LOSSEFTTIME,

+                        FROZEFLAG, FROZEDATE, BADFLAG, BADTYPE, BADDATE, LOCKFLAG, LOCKDATE,

+                        OPENDATE, CLOSEDATE, CARDVERNO, LASTSAVED",

+        "remark": "导入卡表前更新 begin_time 不能为空",

+        "pre_exec" : ["update ykt_cur.t_pif_card set begin_time='20061001' where card_id=43430"],

+        "post_exec": ["update t_syskey set keyval=(select max(cardno) from t_card)

+                        where keycode='CARDNO'"]

+    },

+    {

+        "name": "T_CARDVER",

+        "action": "truncate",

+        "desc": "卡版本号表",

+        "src_sql": "select ACCDATE, TERMID, TERMSEQNO, CARDVERNO, CARDNO, CARDPHYID, STUEMPNO,

+                    CARDVERTYPE, ADDDELFLAG,    STATUS from YKT_CUR.T_CARDVER",

+        "dest_column": "ACCDATE, TERMID, TERMSEQNO, CARDVERNO, CARDNO, CARDPHYID,  STUEMPNO,

+                        CARDVERTYPE, ADDDELFLAG, STATUS"

+    },

+    {

+        "name": "T_CUSTOMER",

+        "action": "truncate",

+        "desc": "客户信息表",

+        "src_sql": "select cut_id,stuemp_no,cut_type,fee_type,cut_state,cut_name,area,

+                    classdept_no,classdept_name,s_code,class_no,class_no,1 idtype,man_id,

+                    sex,'' country,nation,'' email,tel,'' mobile, address,'' zipcode,

+                    '' custattr,substr(in_date,1,8),substr(can_time,1,8),

+                    substr(reg_time,1,8) opendate,'' closedate,batch_no,1 openflag,

+                    0 holdcardcnt,1 useflag,0 eaccflag,'' lastsaved

+                    from ykt_cur.t_cif_customer",

+        "dest_column": "CUSTID, STUEMPNO, CUSTTYPE, FEETYPE, STATUS, CUSTNAME,  AREACODE,

+                        DEPTCODE, DEPTFULLNAME, SPECIALTYCODE, CLASSCODE, CLASSNAME,

+                        IDTYPE, IDNO, SEX,  COUNTRY, NATION, EMAIL, TEL, MOBILE, ADDR,

+                        ZIPCODE, CUSTATTR, INDATE,OUTDATE, OPENDATE, CLOSEDATE, BATCHNO,

+                        OPENFLAG, HOLDCARDCNT, USEFLAG, EACCFLAG, LASTSAVED",

+        "post_exec": ["update t_customer a set holdcardcnt=(select count(*) from t_card t

+                        where t.custid=a.custid and t.status=1)",

+                      "update t_syskey set keyval=(select max(custid) from t_customer)

+                        where keycode='CUSTID'"]

+    },

+    {

+        "name": "T_CUSTTYPE",

+        "action": "truncate",

+        "desc": "客户类型表",

+        "src_sql": "SELECT CUT_TYPE,TYPE_NAME,CUT_TYPE,0 AREACODE,0 OLDCUSTTYPE,0 USEFLAG

+                    FROM YKT_CUR.T_CIF_CUTTYPEFEE",

+        "dest_column": "CUSTTYPE, CUSTTYPENAME, FEETYPE,AREACODE, OLDCUSTTYPE, USEFLAG"

+    },

+    {

+        "name": "T_DEPT",

+        "action": "truncate",

+        "desc": "部门表",

+        "src_sql": "SELECT DEPT_CODE,0 AREACODE,DEPT_NAME,E_NAME,DEPT_NAME,PARENTDEPT_CODE,

+                    DEPT_LEVEL,IS_ACADEMY,DEPT_CODE,0 USEFLAG,'' LASTSAVED

+                    FROM YKT_CUR.T_CIF_DEPTFULL",

+        "dest_column": "DEPTCODE, AREACODE, DEPTNAME, DEPTENAME, DEPTFULLNAME, FDEPTCODE,    DEPTLEVEL, DEPTTYPE, OLDDEPTCODE, USEFLAG, LASTSAVED"

+    },

+    {

+        "name": "T_DEVICE",

+        "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,T1.PORT,T1.BAUDRATE,

+                    '' CARDSET,T1.BSHEETVER,T1.LASTTRASERNO,T1.OPERATE_TIME LASTTRANSTIME,

+                    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_syskey set keyval=(select max(deviceid) from t_device)

+                        where keycode='TERMID'"]

+    },

+    {

+        "name": "T_FEETYPE",

+        "action": "truncate",

+        "desc": "收费类别表",

+        "src_sql": "SELECT FEE_TYPE,SUBSTR(FEE_NAME,1,60),IS_OUTFEE,0,1 USEFLAG,

+                    COMMENTS FROM YKT_CUR.T_PIF_FEETYPE",

+        "dest_column": "FEETYPE, FEENAME, BOARDFEEFLAG,FEERATE, USEFLAG, REMARK"

+    },

+    {

+        "name": "T_INNERACC",

+        "action": "truncate",

+        "desc": "内部账户表",

+        "src_sql": "select  (case when a.account_id='1011' then '1001'

+                                  when a.account_id='1021' then '1002'

+                                  when a.account_id='1031' then '112101'

+                                  when a.account_id='1041' then '112102'

+                                  when a.account_id='2051' then '2002'

+                                  when a.account_id='2061' then '2202'

+                                  when a.account_id='2071' then '2203'

+                                  when a.account_id='5011' then '6002'

+                                  when a.account_id='5021' then '6005'

+                                  when a.account_id='5051' then '6003'

+                                  when a.account_id='5041' then '6001'

+                                  else a.account_id end) account_id,

+                    a.cut_name, (case when a.account_id='1011' then '1001'

+                                      when a.account_id='1021' then '1002'

+                                      when a.account_id='1031' then '112101'

+                                      when a.account_id='1041' then '112102'

+                                      when a.account_id='2051' then '2002'

+                                      when a.account_id='2061' then '2202'

+                                      when a.account_id='2071' then '2203'

+                                      when a.account_id='5011' then '6002'

+                                      when a.account_id='5021' then '6005'

+                                      when a.account_id='5051' then '6003'

+                                      when a.account_id='5041' then '6001'

+                                      else a.account_id end) subno,

+                    0 ,CUR_BALA,(CASE WHEN SUBSTR(A.ACCOUNT_ID,1,1)='1' THEN 1

+                                      ELSE 2 END) BALFLAG,

+                    '','' from ykt_cur.t_aif_account a where a.act_type=7 and

+                    a.account_id not in ('1122','2031','2041','1071')",

+        "dest_column": "ACCNO, ACCNAME, SUBJNO, YDAYBAL, BALANCE, BALFLAG, LASTTRANSDATE,

+                        LASTACCDATE",

+        "remark": "导入内部账户,并更新错误的借贷标志",

+        "post_exec": ["update t_inneracc set balance=abs(balance),ydaybal=abs(ydaybal),

+                        balflag=1 where accno in ('6201','6202')",

+                        "update t_syspara set paraval=:tx_date where paraid=2"]

+    },

+    {

+        "name": "T_SUBSYSTEM",

+        "action": "truncate",

+        "desc": "子系统表",

+        "src_sql": "SELECT SYSTEM_ID,SYSTEM_NAME,SYSTEM_TYPE,AREA,SERVER_ID,MAC_ADDR,IP,

+                    PORT, '' CARDVERNO,INIT_KEY,DYNA_KEY,SYNCH_TIME,

+                    (case when STATE=1 then 1

+                          when state=2 then 1

+                          when state=3 then 2

+                          when state=4 then 3

+                          else  4 end) runstatus ,

+                    (case when STATE=6 then 2 else 1 end) status ,

+                    '' OPENDATE,'' CLOSEDATE,'' REMARK FROM

+                    YKT_CUR.T_PIF_SUBSYSTEM",

+        "dest_column": "SYSID, SYSNAME, SYSTYPE, AREACODE, SERVERID, MACADDR, IP, PORT,

+                        CARDVERNO, INITKEY, DYNAKEY, SYNCTIME, RUNSTATUS, STATUS,

+                        OPENDATE, CLOSEDATE, REMARK"

+    },

+    {

+        "name": "T_SHOPACC",

+        "action": "truncate",

+        "desc": "商户账户表",

+        "src_sql": "select (case when a.account_id is null then ''

+                                 else '2'||substr(a.account_id,8) end) accno,

+                    s.shop_id shopid,a.cut_name,'2004',a.password,a.current_state,

+                    0 ydaybal,a.cur_bala,a.cur_freebala,a.cur_frozebala,'' lasttransdate,

+                    '' lastaccdate, a.open_date,a.close_date from

+                    ykt_cur.t_aif_account a left join ykt_cur.t_cif_shop s on

+                    a.customer_id=s.cut_id where a.act_type=2 and s.shop_id is not null

+                    order by s.shop_id",

+        "dest_column": "ACCNO, SHOPID, ACCNAME, SUBJNO, ACCPWD, STATUS, YDAYBAL, BALANCE,

+                        AVAILBAL, FROZEBAL, LASTTRANSDATE, LASTACCDATE, OPENDATE, CLOSEDATE",

+        "post_exec": ["update t_syskey set keyval=(select max(to_number(substr(accno,2)))

+                        from t_shopacc) where keycode='SHOPACCNO'"]

+    },

+    {

+        "name": "T_SPECIALTY",

+        "action": "truncate",

+        "desc": "专业信息表",

+        "src_sql": "SELECT S_CODE,S_NAME,1 USEFLAG,'' LASTSAVED FROM

+                    YKT_CUR.T_CIF_SPECIALITY_NEW WHERE S_CODE <>'' and s_code<> '0'",

+        "dest_column": "SPECIALTYCODE, SPECIALTYNAME, USEFLAG, LASTSAVED"

+    },

+    {

+        "name": "T_SHOPPOS",

+        "action": "truncate",

+        "desc": "商户设备对应表",

+        "src_sql": "select t1.id,t1.device_id,t2.devphy999_id,t1.shop_id,t1.end_time,

+                    t1.comments,t1.begin_date,t1.end_date,1,'','' from

+                    ykt_cur.t_cif_shop_pos t1,ykt_cur.t_pif_device t2

+                    where t1.device_id=t2.device_id",

+        "dest_column": "ID, DEVICEID, DEVPHYID, SHOPID, ENDTIME, REMARK, STARTDATE,

+                        ENDDATE, STATUS, OPERCODE, LASTSAVED"

+    },

+    {

+        "name": "T_RPTACCBAL",

+        "action": "truncate",

+        "desc": "账户结算表",

+        "src_sql": "select :tx_date,'2001',(case when a.account_id is null then ''

+                                                   else '1'||substr(a.account_id,8) end) accno,

+                    2 ,cur_bala from ykt_cur.t_aif_account a where act_type=1

+                    union all

+                    select :tx_date,'2004',(case when a.account_id is null then ''

+                                                   else '2'||substr(a.account_id,8) end) accno,

+                    2,cur_bala  from ykt_cur.t_aif_account a where act_type=2

+                    union all

+                    select :tx_date, (case when a.account_id='1011' then '1001'

+                                             when a.account_id='1021' then '1002'

+                                             when a.account_id='1031' then '112101'

+                                             when a.account_id='1041' then '112102'

+                                             when a.account_id='2051' then '2002'

+                                             when a.account_id='2061' then '2202'

+                                             when a.account_id='2071' then '2203'

+                                             when a.account_id='5011' then '6002'

+                                             when a.account_id='5021' then '6005'

+                                             when a.account_id='5051' then '6003'

+                                             when a.account_id='5041' then '6001'

+                                             else a.account_id end) subno,

+                        (case when a.account_id='1011' then '1001'

+                              when a.account_id='1021' then '1002'

+                              when a.account_id='1031' then '112101'

+                              when a.account_id='1041' then '112102'

+                              when a.account_id='2051' then '2002'

+                              when a.account_id='2061' then '2202'

+                              when a.account_id='2071' then '2203'

+                              when a.account_id='5011' then '6002'

+                              when a.account_id='5021' then '6005'

+                              when a.account_id='5051' then '6003'

+                              when a.account_id='5041' then '6001'

+                              else a.account_id end) account_id,

+                        (case when substr(a.account_id,1,1)='1' then 1 else 2 end) flag,

+                        cur_bala from ykt_cur.t_aif_account a where act_type=7 and

+                        a.account_id not in ('1122','2031','2041','1071')",

+        "dest_column": "ACCDATE, SUBJNO, ACCNO, BALFLAG, BALANCE",

+        "remark": "导入内部账户报表,并更新错误的借贷标志",

+        "post_exec": ["update t_rptaccbal set balance=abs(balance),balflag=1

+                        where accno in ('6201','6202')",

+                        "insert into t_rptaccbal(accdate,subjno,accno,balflag,balance)

+                            select :tx_date,s.subjno,s.subjno,

+                                (case when substr(s.subjno,1,1)='1' then 1

+                                      else 2 end) flag1,0

+                            from t_subject s left join t_rptaccbal b on

+                            (s.subjno=b.subjno and b.accdate=:tx_date)

+                            where b.accdate is null",

+                        "insert into t_rptaccbal(accdate,subjno,accno,balflag,balance)

+                            select :tx_date,s.subjno,s.subjno,2,endbal from t_rptsubjbal s

+                            where s.subjno in (2001,2004) and s.accdate=:tx_date"]

+    },

+    {

+        "name": "T_POSDTL",

+        "action": "truncate",

+        "desc": "来帐表测试数据",

+        "src_sql": "select tx_date,tx_time,t2.device_id,t1.device_id,t1.serial_no,t1.card_no,

+                    0,t1.total_cnt,in_bala/100.00,amount/100.00,out_bala/100.00,0,t1.tx_mark,

+                    0,t1.tx_code, 0,0,'',t1.sys_id,substr(col_timestamp,1,8),

+                    substr(col_timestamp,9,6),'','',0,'1','','',''  from

+                    YKT_CUR.T_TIF_RCVDTL t1,ykt_cur.t_pif_device t2  where

+                    t1.device_id=t2.devphy999_id and t1.tx_date=:tx_date",

+        "dest_column": "TRANSDATE, TRANSTIME, TERMID, DEVPHYID, DEVSEQNO, CARDNO, PURSENO,

+                        CARDCNT, CARDBEFBAL, AMOUNT, CARDAFTBAL, MANAGEFEE, TRANSMARK,

+                        DATATYPE, TRANSCODE, SHOPID, SUBSIDYNO, BATCHNO, SYSID, COLDATE,

+                        COLTIME, ACCDATE, ACCTIME, TERMSEQNO, STATUS, ERRCODE, ERRMSG, DELFLAG"

+    },

+    {

+        "name": "T_RPTSUBJBAL",

+        "action": "truncate",

+        "desc": "科目结算表",

+        "src_sql": "select :tx_date,'2001',2 ,sum(last_bala),0,0,2,sum(last_bala)

+                    from ykt_cur.t_aif_account a where act_type=1

+                    union all

+                    select :tx_date,'2004',2,sum(last_bala),0,0,2,sum(last_bala)

+                    from ykt_cur.t_aif_account a where act_type=2

+                    union all select '${tx_date}',

+                                (case when a.account_id='1011' then '1001'

+                                      when a.account_id='1021' then '1002'

+                                      when a.account_id='1031' then '112101'

+                                      when a.account_id='1041' then '112102'

+                                      when a.account_id='2051' then '2002'

+                                      when a.account_id='2061' then '2202'

+                                      when a.account_id='2071' then '2203'

+                                      when a.account_id='5011' then '6002'

+                                      when a.account_id='5021' then '6005'

+                                      when a.account_id='5051' then '6003'

+                                      when a.account_id='5041' then '6001'

+                                      when a.account_id='5071' then '6201'

+                                      when a.account_id='2081' then '2202'

+                                      else a.account_id end) subno,

+                                (case when substr(a.account_id,1,1)='1' then 1

+                                      else 2 end) flag1,

+                                sum(last_bala),0,0,

+                                (case when substr(a.account_id,1,1)='1' then 1

+                                      else 2 end) flag2,sum(last_bala) from

+                                ykt_cur.t_aif_account a where act_type=7 and

+                                a.account_id not in ('1122','2031','2041','1071','2061')

+                                group by a.account_id",

+        "dest_column": "ACCDATE, SUBJNO, BEGINBALFLAG, BEGINBAL, DRAMT, CRAMT,

+                        ENDBALFLAG, ENDBAL",

+        "remark": "生成结算科目数据"

+    },

+    {

+        "name": "T_OPERATOR",

+        "action": "truncate",

+        "desc": "操作员表",

+        "src_sql": "select '1' || oper_code,oper_code,3,100,oper_name, phone, mobile,

+                    email, addr, pwd, 1 from ykt_cur.t_pif_operator where

+                    oper_code not in ('system')",

+        "dest_column": "OPERID, OPERCODE, OPERTYPE, BRANCHNO, OPERNAME, TEL, MOBILE,

+                        EMAIL, ADDR, OPERPWD, STATUS",

+        "post_exec": ["update t_syskey set keyval=(select max(operid) from t_operator)

+                        where keycode='OPERID'"]

+    },

+    {

+        "name": "T_SUBSIDY",

+        "action": "truncate",

+        "desc": "补助数据表",

+        "src_sql": "select t.BATCH_NO,SEQNO,c.STUEMP_NO,CUST_NO,SUBSIDY_NO,CARD_NO,SUMMARY,

+                    BROKER_NAME,BROKER_ID,BILL_TYPE,BILL_NO,AMOUNT,SUBSIDYTYPE,1,'','',

+                    TX_DATE,TX_TIME,GET_DATE,GET_TIME,STATUS,0,'',OPER_CODE FROM

+                    YKT_CUR.t_tif_subsidy t,ykt_cur.t_cif_customer c where t.cust_no=c.cut_id",

+        "dest_column": "BATCHNO,SEQNO,STUEMPNO,CUSTID,SUBSIDYNO,CARDNO,SUMMARY,BROKERNAME,

+                        BROKERIDNO,PAYTYPE,VOUCHERNO,AMOUNT,SUBSIDYTYPE,SUBSIDYMODE,IMPDATE,

+                        IMPTIME,PUTDATE,PUTTIME,GETDATE,GETTIME,STATUS,CHECKFLAG,

+                        ERRMSG,OPERCODE"

+    },

+    {

+        "name": "T_TIF_REPORT_ACTIVE",

+        "action": "truncate",

+        "desc": "历史结算总表",

+        "src_sql": "select BALANCE_DATE, SERI_TYPE, TRADE_NUMBER, TRADE_AMT, ACC_ADDNUM,

+                    ACC_AMT, SHOP_ADDNUM, SHOP_AMT, DEP_AMT, EARN_AMT, MNG_AMT,

+                    COST_AMT, ENSURE_AMT, BANK_AMT, CASH_AMT, OPERATOR_CODE, DATA_SIGN,

+                    RESERVE1, RESERVE2, CHECK_ADD_AMT, OUTLAY_ADD_AMT, DOWN_SUBSIDY_AMT,

+                    UP_SUBSIDY_AMT from ykt_cur.T_TIF_REPORT_ACTIVE",

+        "dest_column": "BALANCE_DATE, SERI_TYPE, TRADE_NUMBER, TRADE_AMT, ACC_ADDNUM,

+                        ACC_AMT, SHOP_ADDNUM, SHOP_AMT, DEP_AMT, EARN_AMT, MNG_AMT,

+                        COST_AMT, ENSURE_AMT, BANK_AMT, CASH_AMT, OPERATOR_CODE, DATA_SIGN,

+                        RESERVE1, RESERVE2, CHECK_ADD_AMT, OUTLAY_ADD_AMT, DOWN_SUBSIDY_AMT,

+                        UP_SUBSIDY_AMT"

+    },

+    {

+        "name": "T_TIF_REPORT_DEPTTRADE",

+        "action": "truncate",

+        "desc": "T_TIF_REPORT_DEPTTRADE",

+        "src_sql": "select BALANCE_DATE, DEPT_CODE, DEPT_NAME, SERI_TYPE, FEE_TYPE,

+                            OUTORIN, OPCOUNT, OPFEE, RESERVE_1, RESERVE_2 from

+                            ykt_cur.T_TIF_REPORT_DEPTTRADE",

+        "dest_column": "BALANCE_DATE, DEPT_CODE, DEPT_NAME, SERI_TYPE, FEE_TYPE, OUTORIN,

+                        OPCOUNT, OPFEE, RESERVE_1, RESERVE_2"

+    },

+    {

+        "name": "T_TIF_REPORT_ERRACC",

+        "action": "truncate",

+        "desc": "T_TIF_REPORT_ERRACC",

+        "src_sql": "select BALANCE_DATE, ACCOUNT_ID, CUT_NAME, STUEMP_NO, TYPE_ID,

+                    DEPT_NAME, LAST_BALA, CUR_BALA, TRADE_AMT, DIFF_BALA, DATA_SIGN,

+                    RESERVE1, RESERVE2 from ykt_cur.T_TIF_REPORT_ERRACC",

+        "dest_column": "BALANCE_DATE, ACCOUNT_ID, CUT_NAME, STUEMP_NO, TYPE_ID,

+                        DEPT_NAME, LAST_BALA, CUR_BALA, TRADE_AMT, DIFF_BALA, DATA_SIGN,

+                        RESERVE1, RESERVE2"

+    },

+    {

+        "name": "T_TIF_REPORT_OPER",

+        "action": "truncate",

+        "desc": "T_TIF_REPORT_OPER",

+        "src_sql": "select BALANCE_DATE,(case when OPERATOR_CODE='' then '999999'

+                                              else OPERATOR_CODE end),

+                    SERI_TYPE, MAINDEVICE_ID, DEVICE_ID, HAPPEN_NUM, HAPPEN_AMT,

+                    MNG_AMT, ENSURE_AMT, COST_AMT, DEP_AMT, EARN_AMT, BANK_AMT,

+                    CASH_AMT, DATA_SIGN, RESERVE1, RESERVE2, ACC_ADD_AMT, SHP_ADD_AMT,

+                    CHECK_AMT, OUTLAY_AMT, DOWN_SUBSIDY_AMT, UP_SUBSIDY_AMT from

+                    ykt_cur.T_TIF_REPORT_OPER",

+        "dest_column": "BALANCE_DATE, OPERATOR_CODE, SERI_TYPE, MAINDEVICE_ID,

+                        DEVICE_ID, HAPPEN_NUM, HAPPEN_AMT, MNG_AMT, ENSURE_AMT, COST_AMT,

+                        DEP_AMT, EARN_AMT, BANK_AMT, CASH_AMT, DATA_SIGN, RESERVE1,

+                        RESERVE2, ACC_ADD_AMT, SHP_ADD_AMT, CHECK_AMT, OUTLAY_AMT,

+                        DOWN_SUBSIDY_AMT, UP_SUBSIDY_AMT"

+    },

+    {

+        "name": "T_TIF_REPORT_SHOP_BALANCE",

+        "action": "truncate",

+        "desc": "T_TIF_REPORT_SHOP_BALANCE",

+        "src_sql": "select BALANCE_DATE, SHOP_ID, SHOP_NAME, DEPT_ID, TRADE_NUM,

+                    TRADE_AMT, MNG_AMT, TOTAL_AMT, DATA_SIGN, RESERVE1, RESERVE2 from

+                    ykt_cur.T_TIF_REPORT_SHOP_BALANCE",

+        "dest_column": "BALANCE_DATE, SHOP_ID, SHOP_NAME, DEPT_ID, TRADE_NUM, TRADE_AMT,

+                        MNG_AMT, TOTAL_AMT, DATA_SIGN, RESERVE1, RESERVE2"

+    },

+    {

+        "name": "T_TIF_REPORT_STADIUM",

+        "action": "truncate",

+        "desc": "T_TIF_REPORT_STADIUM",

+        "src_sql": "select BALANCE_DATE, FEE_NUM, AMT, FREE_NUM, VIP_NUM, CARD_NUM from

+                    ykt_cur.T_TIF_REPORT_STADIUM",

+        "dest_column": "BALANCE_DATE, FEE_NUM, AMT, FREE_NUM, VIP_NUM, CARD_NUM"

+    },

+    {

+        "name": "T_TIF_REPORT_TRANS_COMP",

+        "action": "truncate",

+        "desc": "T_TIF_REPORT_TRANS_COMP",

+        "src_sql": "select CMP_DATE, CMP_FLAG, ADJUST_FLAG, LOCALSELF_NUM, LOCALSELF_AMT,

+                    LOCALAUTO_NUM, LOCALAUTO_AMT, LOCALFEE_NUM, LOCALFEE_AMT, BANKSELF_NUM,

+                    BANKSELF_AMT, BANKAUTO_NUM, BANKAUTO_AMT, BANKFEE_NUM, BANKFEE_AMT,

+                    DATE_SIGN, RESERVE1, RESERVE2 from ykt_cur.T_TIF_REPORT_TRANS_COMP",

+        "dest_column": "CMP_DATE, CMP_FLAG, ADJUST_FLAG, LOCALSELF_NUM, LOCALSELF_AMT,

+                        LOCALAUTO_NUM, LOCALAUTO_AMT, LOCALFEE_NUM, LOCALFEE_AMT,

+                        BANKSELF_NUM, BANKSELF_AMT, BANKAUTO_NUM, BANKAUTO_AMT,

+                        BANKFEE_NUM, BANKFEE_AMT, DATE_SIGN, RESERVE1, RESERVE2"

+    },

+    {

+        "name": "T_WATERCTRLAMT",

+        "action": "truncate",

+        "desc": "T_WATERCTRLAMT",

+        "src_sql": "select devphy999_id,round(cur_bala*100,0),collect_date,

+                    round(total_sum*100,0),'' from

+                        (select rank() over(partition by d.devphy999_id order by

+                                            l.collect_date desc,l.cur_collect_bala desc)

+                                       as rankid,

+                        d.devphy999_id,l.cur_collect_bala as cur_bala,l.collect_date,

+                        l.cur_collect_bala as total_sum from

+                        ykt_cur.T_TIF_DEVICE_COLLECT_LOG l,ykt_cur.t_pif_device d

+                        where l.device_id=d.device_id) a

+                    where a.rankid = 1",

+        "dest_column": "DEVPHYID ,LASTAMT ,LASTDATE ,SUMAMT ,UPDDATE"

+    },

+    {

+        "name": "T_STATIUM_FEEDATE",

+        "action": "truncate",

+        "desc": "T_STATIUM_FEEDATE",

+        "src_sql": "select DATA_ID ,FEE_DATA ,STAGE_VALUE ,OPERATOR ,RESERVE

+                    from ykt_cur.T_STATIUM_FEEDATE",

+        "dest_column": "DATA_ID ,FEE_DATA ,STAGE_VALUE ,OPERATOR ,RESERVE"

+    },

+    {

+        "name": "T_STATIUM_FEEMNG",

+        "action": "truncate",

+        "desc": "T_STATIUM_FEEMNG",

+        "src_sql": "select FEE_TYPE ,MONEY ,OPERATOR ,RESERVE from

+                    ykt_cur.T_STATIUM_FEEMNG",

+        "dest_column": "FEE_TYPE ,MONEY ,OPERATOR ,RESERVE"

+    },

+    {

+        "name": "T_STATIUM_RCVDTL",

+        "action": "truncate",

+        "desc": "T_STATIUM_RCVDTL",

+        "src_sql": "select DEVICE_ID ,CARD_NO ,SERIAL_NO ,VIP_FLAG ,AMOUNT ,STATUS ,

+                    IN_DATE ,IN_TIME ,OUT_DATE ,OUT_TIME  from ykt_cur.T_STATIUM_RCVDTL",

+        "dest_column": "DEVICE_ID ,CARD_NO ,SERIAL_NO ,VIP_FLAG ,AMOUNT ,STATUS ,

+                        IN_DATE ,IN_TIME ,OUT_DATE ,OUT_TIME"

+    },

+    {

+        "name": "T_STATIUM_STAGE",

+        "action": "truncate",

+        "desc": "T_STATIUM_STAGE",

+        "src_sql": "select STAGE_ID ,BEGIN_TIME ,END_TIME ,OPERATOR ,RESERVE from

+                    ykt_cur.T_STATIUM_STAGE",

+        "dest_column": "STAGE_ID ,BEGIN_TIME ,END_TIME ,OPERATOR ,RESERVE"

+    },

+    {

+        "name": "T_STATIUM_VIPMNG",

+        "action": "truncate",

+        "desc": "T_STATIUM_VIPMNG",

+        "src_sql": "select STUEMP_NO ,TIMS ,OPERATOR ,RESERVE from ykt_cur.T_STATIUM_VIPMNG",

+        "dest_column": "STUEMP_NO ,TIMS ,OPERATOR ,RESERVE"

+    }

+]