增加用户版本
diff --git a/convert-shu.json b/convert-shu.json
new file mode 100755
index 0000000..4f24c9b
--- /dev/null
+++ b/convert-shu.json
@@ -0,0 +1,379 @@
+/*

+ // 配置格式说明:

+ // 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",

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

+                        where keycode='TERMID'",

+                    "update t_device 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  

+                              and regexp_like(devphyid, '[A-F0-9]{8}')"]

+    },

+    {

+        "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_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 不能为空",

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

+                        where keycode='CARDNO'",

+                      "update t_card set cardphytype=20"]

+    },

+    {

+        "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,

+                    a.last_bala ydaybal,a.last_bala balance,0,0,'' 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'"]

+    },

+    {

+        "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,

+        0, '' 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'",

+                       "update t_shop set areacode=11 where rowid in (    

+                        select rowid shop_rowid from t_shop c

+                        start with c.shopid=11

+                        connect by prior c.shopid=c.fshopid)",

+                        "update t_shop set areacode=12 where rowid in (    

+                        select rowid shop_rowid from t_shop c

+                        start with c.shopid=43

+                        connect by prior c.shopid=c.fshopid)",

+                        "update t_shop set areacode=13 where rowid in (    

+                        select rowid shop_rowid from t_shop c

+                        start with c.shopid=44

+                        connect by prior c.shopid=c.fshopid)"]

+    },

+    {

+        "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='2041' then '220299'

+                                  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='5041' then '6001'

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

+                                  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='2041' then '220299'

+                                  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='5041' then '6001'

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

+                                      else a.account_id end) subno,

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

+                                      ELSE 2 END) BALFLAG,

+                    '','' from (select rtrim(a.account_id) account_id,a.last_bala,

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

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

+        "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=:bala_date where paraid=2",

+                        "insert into T_INNERACC (ACCNO, ACCNAME, SUBJNO, YDAYBAL, BALANCE, BALFLAG, LASTTRANSDATE, LASTACCDATE)

+                        values ('112201', '易支付充值款', '112201', 0, 0, 1, null, null)",

+                        "insert into T_INNERACC (ACCNO, ACCNAME, SUBJNO, YDAYBAL, BALANCE, BALFLAG, LASTTRANSDATE, LASTACCDATE)

+                        values ('112299', '其他应收款', '112299', 0, 0, 1, null, null)",

+                        "insert into T_INNERACC (ACCNO, ACCNAME, SUBJNO, YDAYBAL, BALANCE, BALFLAG, LASTTRANSDATE, LASTACCDATE)

+                        values ('2006', '水控存款', '2006', 0, 0, 2, null, null)",

+                        "insert into T_INNERACC (ACCNO, ACCNAME, SUBJNO, YDAYBAL, BALANCE, BALFLAG, LASTTRANSDATE, LASTACCDATE)

+                        values ('220201', '批量销户应付款', '220201', 0, 0, 2, null, null)",

+                        "insert into T_INNERACC (ACCNO, ACCNAME, SUBJNO, YDAYBAL, BALANCE, BALFLAG, LASTTRANSDATE, LASTACCDATE)

+                        values ('6003', '商户佣金收入', '6003', 0, 0, 2, null, null)",

+                        "insert into T_INNERACC (ACCNO, ACCNAME, SUBJNO, YDAYBAL, BALANCE, BALFLAG, LASTTRANSDATE, LASTACCDATE)

+                        values ('6004', '搭伙费收入', '6004', 0, 0, 2, null, null)",

+                        "insert into T_INNERACC (ACCNO, ACCNAME, SUBJNO, YDAYBAL, BALANCE, BALFLAG, LASTTRANSDATE, LASTACCDATE)

+                        values ('6006', '退卡盈余收入', '6006', 0, 0, 2, null, null)",

+                        "insert into T_INNERACC (ACCNO, ACCNAME, SUBJNO, YDAYBAL, BALANCE, BALFLAG, LASTTRANSDATE, LASTACCDATE)

+                        values ('6202', '商户提成支出', '6202', 0, 0, 1, null, null)"

+                        ]

+    },

+    {

+        "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.last_bala,a.last_freebala,a.last_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 and a.current_state<>2",

+        "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'",

+                     "update t_account set balance=balance+:diff_bala,

+                       availbal=availbal+:diff_bala where accno='1002246656'"]

+    },

+    {

+        "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",

+        "post_exec" : ["update t_shoppos t set t.devphyid=(select x.devphyid from t_device x

+                        where x.deviceid=t.deviceid)"]

+    },

+    {

+        "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 ,last_bala from ykt_cur.t_aif_account a where act_type=1 and current_state<>2

+                    union all

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

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

+                    2,last_bala  from ykt_cur.t_aif_account a where act_type=2 and current_state<>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='2041' then '220299'

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

+                                  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='5041' then '6001'

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

+                                             else rtrim(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='2041' then '220299'

+                                  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='5041' then '6001'

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

+                              else rtrim(a.account_id) end) account_id,

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

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

+                        a.account_id not in ('1122','2031','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,0 from t_rptsubjbal s

+                            where s.subjno in (2001,2004,2006,220201,6004)

+                            and s.accdate=:tx_date",

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

+                            select :tx_date,s.subjno,s.subjno,1,0 from t_rptsubjbal s

+                            where s.subjno in (6202)

+                            and s.accdate=:tx_date",

+                        "update t_rptaccbal set balance=balance+1.93 where accdate=:tx_date

+                        and accno='1002246656'"

+                      ]

+    },

+    {

+        "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 and a.current_state<>2

+                    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 and a.current_state<>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='2041' then '220299'

+                                  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='5041' then '6001'

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

+                                      else rtrim(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','1071')

+                                group by a.account_id",

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

+                        ENDBALFLAG, ENDBAL",

+        "post_exec" : ["insert into t_rptsubjbal(ACCDATE, SUBJNO, BEGINBALFLAG, BEGINBAL,

+                        DRAMT, CRAMT, ENDBALFLAG, ENDBAL)

+                        select :tx_date, subjno, 1,

+                            (select nvl(sum(beginbal),0) from t_rptsubjbal t where accdate=:tx_date

+                                and t.subjno like s.subjno || '__'),

+                            0,0,1,

+                            (select nvl(sum(endbal),0) from t_rptsubjbal t where accdate=:tx_date

+                                and t.subjno like s.subjno || '__') from t_subject s

+                        where subjno in ('1121','6202')",

+                        "insert into t_rptsubjbal(ACCDATE, SUBJNO, BEGINBALFLAG, BEGINBAL,

+                        DRAMT, CRAMT, ENDBALFLAG, ENDBAL)

+                        select :tx_date, subjno, 2,

+                            (select nvl(sum(beginbal),0) from t_rptsubjbal t where accdate=:tx_date

+                                and t.subjno like s.subjno || '__'),

+                            0,0,2,

+                            (select nvl(sum(endbal),0) from t_rptsubjbal t where accdate=:tx_date

+                                and t.subjno like s.subjno || '__') from t_subject s

+                        where subjno in ('2202')",

+                        "update t_rptsubjbal set beginbalflag=1,endbalflag=1,

+                        beginbal=abs(beginbal),endbal=abs(endbal) where

+                        subjno in ('6201','6202')",

+                        "update t_rptsubjbal set beginbal=beginbal+:diff_bala, endbal=endbal+:diff_bala

+                        where accdate=:tx_date and subjno='2001'",

+                        "delete from t_servicelog"],

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

+    },

+    {

+        "name": "T_CARDVER",

+        "action": "truncate",

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

+        "src_sql": " select t.operate_date, 0, 0, t.volume, t.card_id, x.physical_no, c.stuemp_no,

+                     case when is_ad = 0 then 3

+                          when is_ad = 1 then 6

+                          else 3 end ,

+                     case when t.is_ad = 0 then 1

+                          when t.is_ad = 1 then 2

+                          else 0 end , t.state_id

+                     from t_tif_black_sheet t, t_pif_card x, t_cif_customer c

+                     where t.card_id = x.card_id and x.cosumer_id = c.cut_id",

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

+                        CARDVERTYPE, ADDDELFLAG, STATUS"

+    }

+]