⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bak_workorder.pc

📁 数据扫描程序
💻 PC
📖 第 1 页 / 共 4 页
字号:
					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 + -