📄 bak_workorder.pc
字号:
tx_no,
"')") ;
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_address_wo",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 8:
GetColumnOfTable("STBS_TB_NEW_CREDIT_CARD_WO_H",cColumnFrom,cColumnTo,"2") ;
vcInsertSql.len = sprintf((char *)vcInsertSql.arr,"%s%s%s%s%s%s%s%s",
"INSERT INTO stbs_tb_new_credit_card_wo_h(",
cColumnTo,
") (SELECT ",
cColumnFrom,
" FROM stbs_tb_new_credit_card_wo",
" WHERE tx_no = '",
tx_no,
"')") ;
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_credit_card_wo",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 9:
GetColumnOfTable("STBS_TB_NEW_CUST_WO_H",cColumnFrom,cColumnTo,"2") ;
vcInsertSql.len = sprintf((char *)vcInsertSql.arr,"%s%s%s%s%s%s%s%s",
"INSERT INTO stbs_tb_new_cust_wo_h(",
cColumnTo,
") (SELECT ",
cColumnFrom,
" FROM stbs_tb_new_cust_wo",
" WHERE tx_no = '",
tx_no,
"')") ;
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_cust_wo",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 10:
GetColumnOfTable("STBS_TB_NEW_OFFER_WO_H",cColumnFrom,cColumnTo,"2") ;
vcInsertSql.len = sprintf((char *)vcInsertSql.arr,"%s%s%s%s%s%s%s%s",
"INSERT INTO stbs_tb_new_offer_wo_h(",
cColumnTo,
") (SELECT ",
cColumnFrom,
" FROM stbs_tb_new_offer_wo",
" WHERE tx_no = '",
tx_no,
"')") ;
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_offer_wo",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 11:
GetColumnOfTable("STBS_TB_NEW_SVC_WO_H",cColumnFrom,cColumnTo,"2") ;
vcInsertSql.len = sprintf((char *)vcInsertSql.arr,"%s%s%s%s%s%s%s%s",
"INSERT INTO stbs_tb_new_svc_wo_h(",
cColumnTo,
") (SELECT ",
cColumnFrom,
" FROM stbs_tb_new_svc_wo",
" WHERE tx_no = '",
tx_no,
"')") ;
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_svc_wo",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 12:
GetColumnOfTable("STBS_TB_NEW_UNIT_WO_H",cColumnFrom,cColumnTo,"2") ;
vcInsertSql.len = sprintf((char *)vcInsertSql.arr,"%s%s%s%s%s%s%s%s",
"INSERT INTO stbs_tb_new_unit_wo_h(",
cColumnTo,
") (SELECT ",
cColumnFrom,
" FROM stbs_tb_new_unit_wo",
" WHERE tx_no = '",
tx_no,
"')") ;
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_offer_plan_wo",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 13:
GetColumnOfTable("STBS_TB_OFFER_PLAN_WO_H",cColumnFrom,cColumnTo,"2") ;
vcInsertSql.len = sprintf((char *)vcInsertSql.arr,"%s%s%s%s%s%s%s%s",
"INSERT INTO stbs_tb_offer_plan_wo_h(",
cColumnTo,
") (SELECT ",
cColumnFrom,
" FROM stbs_tb_offer_plan_wo",
" WHERE tx_no = '",
tx_no,
"')") ;
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_offer_plan_wo",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 14:
GetColumnOfTable("STBS_TB_WO_SVC_LIST_H",cColumnFrom,cColumnTo,"2") ;
vcInsertSql.len = sprintf((char *)vcInsertSql.arr,"%s%s%s%s%s%s%s%s",
"INSERT INTO stbs_tb_wo_svc_list_h(",
cColumnTo,
") (SELECT ",
cColumnFrom,
" FROM stbs_tb_wo_svc_list",
" WHERE tx_no = '",
tx_no,
"')") ;
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_wo_svc_list",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 15:
GetColumnOfTable("STBS_TB_ONEOFF_CHARGE_H",cColumnFrom,cColumnTo,"2") ;
vcInsertSql.len = sprintf((char *)vcInsertSql.arr,"%s%s%s%s%s%s%s%s",
"INSERT INTO STBS_TB_ONEOFF_CHARGE_H(",
cColumnTo,
") (SELECT ",
cColumnFrom,
" FROM STBS_TB_ONEOFF_CHARGE",
" WHERE tx_no = '",
tx_no,
"')") ;
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE STBS_TB_ONEOFF_CHARGE",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
default:
printf("no this sequence to deal\n") ;
return SQLERR ;
}
vcInsertSql.arr[vcInsertSql.len] = 0 ;
vcDeleteSql.arr[vcDeleteSql.len] = 0 ;
if( bDebug )
{
fprintf(fpDbg,"vcInsertSql.arr is [%s]\n",vcInsertSql.arr) ;
fprintf(fpDbg,"vcDeleteSql.arr is [%s]\n",vcDeleteSql.arr) ;
fflush(stdout) ;
}
EXEC SQL PREPARE insert_sql FROM :vcInsertSql ;
EXEC SQL EXECUTE insert_sql ;
EXEC SQL PREPARE delete_sql FROM :vcDeleteSql ;
EXEC SQL EXECUTE delete_sql ;
EXEC SQL COMMIT ;
return SQLOK ;
}
else
{
switch(sequence)
{
case 1:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_access_no_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 2:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_additional_no_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 3:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_chng_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 4:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_direct_debit_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 5:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_formula_para_value_woh",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 6:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_acct_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 7:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_address_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 8:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_credit_card_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 9:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_cust_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 10:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_offer_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 11:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_svc_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 12:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_new_unit_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 13:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_offer_plan_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 14:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE stbs_tb_wo_svc_list_h",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
case 15:
vcDeleteSql.len = sprintf((char *)vcDeleteSql.arr,"%s%s%s%s",
"DELETE STBS_TB_ONEOFF_CHARGE_H",
" WHERE tx_no = '",
tx_no,
"'") ;
break ;
default:
printf("no this sequence to deal\n") ;
return SQLERR ;
}
vcDeleteSql.arr[vcDeleteSql.len] = 0 ;
if( bDebug )
{
fprintf(fpDbg,"vcDeleteSql.arr is [%s]\n",vcDeleteSql.arr) ;
fflush(stdout) ;
}
EXEC SQL PREPARE delete_sql_h FROM :vcDeleteSql ;
EXEC SQL EXECUTE delete_sql_h ;
EXEC SQL COMMIT ;
return SQLOK ;
}
every_error:
EXEC SQL ROLLBACK ;
fprintf(fpLog,"\nError occured when calling ProcEveryWorkOrder function!\n");
fflush(stdout) ;
OracleErrorProcess("ProcEveryWorkOrder") ;
return SQLERR ;
}
int ProcessEveryTabSeq(char *tx_no,char opt_type)
{
int iRet = 0 ;
EXEC SQL BEGIN DECLARE SECTION ;
varchar vcSelectTxNo[256] ;
int iTabSeq ;
EXEC SQL END DECLARE SECTION ;
EXEC SQL WHENEVER NOT FOUND goto seq_end ;
EXEC SQL WHENEVER SQLERROR goto seq_error ;
if(opt_type == 'C')
vcSelectTxNo.len = sprintf((char *)vcSelectTxNo.arr,"%s%s%s",
"SELECT DISTINCT table_seq FROM stbs_vw_all_wo WHERE tx_no ='",
tx_no,
"'") ;
else
vcSelectTxNo.len = sprintf((char *)vcSelectTxNo.arr,"%s%s%s",
"SELECT DISTINCT table_seq FROM stbs_vw_all_wo_h WHERE tx_no ='",
tx_no,
"'") ;
vcSelectTxNo.arr[vcSelectTxNo.len] = 0 ;
printf("vcTxNo is [%s] ProcessEveryTabSeq\n",tx_no) ;
printf("vcSelectTxNo is [%s] ProcessEveryTabSeq\n",vcSelectTxNo.arr) ;
fflush(stdout) ;
if( bDebug )
{
fprintf(fpDbg,"vcTxNo is [%s] ProcessEveryTabSeq\n",tx_no) ;
fflush(stdout) ;
}
EXEC SQL PREPARE seqlen FROM :vcSelectTxNo ;
EXEC SQL DECLARE select_tabseq CURSOR for seqlen ;
EXEC SQL OPEN select_tabseq ;
while(1)
{
EXEC SQL FETCH select_tabseq INTO :iTabSeq ;
iRet = ProcEveryWorkOrder(iTabSeq,tx_no,opt_type) ;
if(iRet == SQLERR)
{
EXEC SQL CLOSE select_tabseq ;
return SQLERR ;
}
}
seq_end:
EXEC SQL CLOSE select_tabseq ;
return SQLOK ;
seq_error:
fprintf(fpLog,"\nError occured when calling ProcessEveryTabSeq function!\n");
fflush(stdout) ;
OracleErrorProcess("ProcessEveryTabSeq") ;
return SQLERR ;
}
int DeleteWorkOrder(char *tx_no,char opt_type)
{
int iRet = 0 ;
char cColumnFrom[256] ;
char cColumnTo[256] ;
EXEC SQL BEGIN DECLARE SECTION ;
varchar vcInsertTxNo[256] ;
varchar vcDeleteTxNo[256] ;
EXEC SQL END DECLARE SECTION ;
EXEC SQL WHENEVER NOT FOUND goto del_end ;
EXEC SQL WHENEVER SQLERROR goto del_error ;
memset(cColumnFrom,0,sizeof(cColumnFrom)) ;
memset(cColumnTo,0,sizeof(cColumnTo)) ;
if(opt_type == 'C')
{
iRet = GetColumnOfTable("STBS_TB_WO_H",cColumnFrom,cColumnTo,"2") ;
if(iRet == SQLERR)
return SQLERR ;
vcInsertTxNo.len = sprintf((char *)vcInsertTxNo.arr,"%s%s%s%s%s%s%s",
"INSERT INTO stbs_tb_wo_h(",
cColumnTo,
") SELECT ",
cColumnFrom,
" FROM stbs_tb_wo WHERE tx_no = '",
tx_no,
"'") ;
if( bDebug )
{
fprintf(fpDbg,"vcInsertTxNo.arr is [%s]\n",vcInsertTxNo.arr) ;
fflush(stdout) ;
}
EXEC SQL PREPARE inse_sql FROM :vcInsertTxNo ;
EXEC SQL EXECUTE inse_sql ;
vcDeleteTxNo.len = sprintf((char *)vcDeleteTxNo.arr,"%s%s%s%s",
"DELETE stbs_tb_wo",
" WHERE tx_no = '",
tx_no,
"'") ;
}
else
vcDeleteTxNo.len = sprintf((char *)vcDeleteTxNo.arr,"%s%s%s%s",
"DELETE stbs_tb_wo_h",
" WHERE tx_no = '",
tx_no,
"'") ;
if( bDebug )
{
fprintf(fpDbg,"vcDeleteTxNo.arr is [%s]\n",vcDeleteTxNo.arr) ;
fflush(stdout) ;
}
EXEC SQL PREPARE dele_sql FROM :vcDeleteTxNo ;
EXEC SQL EXECUTE dele_sql ;
EXEC SQL COMMIT ;
return SQLOK ;
del_end:
del_error:
EXEC SQL ROLLBACK ;
fprintf(fpLog,"\nError occured when calling DeleteWorkOrder function!\n");
fflush(stdout) ;
OracleErrorProcess("DeleteWorkOrder") ;
return SQLERR ;
}
int ProcessWorkOrder(char opt_type)
{
int TableNum = 0 ;
int iRet = 0 ;
EXEC SQL BEGIN DECLARE SECTION ;
varchar vcTxNo[16+1] ;
varchar vcSelectTxNo[1024] ;
varchar vcDeleteTxNo[1024] ;
int icount = 0 ;
EXEC SQL END DECLARE SECTION ;
EXEC SQL WHENEVER SQLERROR goto work_error ;
if(opt_type == 'C')
iRet = GetTableNameFromManage(&TableNum,(char *)"2",(char *)"STBS_TB_WO") ;
else
iRet = GetTableNameFromManage(&TableNum,(char *)"2",(char *)"STBS_TB_WO_H") ;
if(iRet == SQLERR)
return SQLERR ;
if( bDebug )
{
fprintf(fpDbg,"TableNum is [%d]\n",TableNum) ;
fflush(stdout) ;
}
if(TableNum != 0)
{
EXEC SQL WHENEVER NOT FOUND continue ;
vcDeleteTxNo.len = sprintf((char *)vcDeleteTxNo.arr,"%s%s%d%s",
"DELETE stbs_tb_temp_wo ",
"WHERE to_date(to_char(eff_date,'yyyymmdd'),'yyyymmdd') < to_date(to_char(sysdate,'yyyymmdd'),'yyyymmdd') - ",
iOnlineDur[0],
" AND proc_code like '%ERR'") ;
printf("vcDeleteTxNo[%s]\n",vcDeleteTxNo.arr) ;
vcDeleteTxNo.arr[vcDeleteTxNo.len] = 0 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -