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

📄 charge_erase.cpp

📁 通信BOSS计费方面的服务器源码,有很多经典的创意,值得借鉴,在UNIX上运行.
💻 CPP
📖 第 1 页 / 共 4 页
字号:
								"WHERE a.acct_id=b.acct_id(+) "								" and a.acct_id=%s " 								" and a.bill_serial_nbr=b.bill_serial_nbr(+) "								" and a.bill_serial_nbr=%s and a.state = '40C'  "						                ,cycle_end_date,li_reprint_flag,Code,bill_serial_nbr);			//userlog(lsSql);		      		        cDatabase->DoSql(lsSql);			isqlcode=cDatabase->GetSqlCode();			if(isqlcode<0)			{				strcpy(lsRetstr,cDatabase->GetSqlErrText());				strcpy(lsTemp,"按合同号提取销帐历史记录出错");strcat(lsTemp,"\n");				if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)					strcat(lsTemp,lsErr);				cDatabase->Commit();				StrReturn(-1,lsTemp);			}			lrow=cDatabase->GetRowCount();			cDatabase->Commit();			if(lrow==0) 			{				  if(li_reprint_flag==1) 			   	{			   		li_reprint_flag=2;			   	}			   	else			   	{			   		li_reprint_flag=4;			   	}			   	      sprintf(lsSql,"SELECT  to_char(a.bill_serial_nbr),'%s',"									"to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, "									"a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) "									"FROM BILL_HIS a,BALANCE_HIST_ADMIN b  "									"WHERE a.acct_id=b.acct_id(+) "									" and a.acct_id=%s " 									" and a.bill_serial_nbr=b.bill_serial_nbr(+) "									" and a.bill_serial_nbr=%s and a.state = '40C'  "							                ,cycle_end_date,li_reprint_flag,Code,bill_serial_nbr);		                		      		        }      		        else 	StrReturn(0,cDatabase->GetData());      		    }      		  //userlog(lsSql);	      		        cDatabase->DoSql(lsSql);				isqlcode=cDatabase->GetSqlCode();					if(isqlcode<0)				{					strcpy(lsRetstr,cDatabase->GetSqlErrText());					strcpy(lsTemp,"按合同号提取销帐历史记录出错");strcat(lsTemp,"\n");					if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)						strcat(lsTemp,lsErr);					cDatabase->Commit();					StrReturn(-1,lsTemp);				}				lrow=cDatabase->GetRowCount();				cDatabase->Commit();			        if(lrow==0)			   	  StrReturn(100,"未找到合同号销帐记录");               	   StrReturn(0,cDatabase->GetData());		case 2:  //按电话号提取                        			sprintf(lsSql,"SELECT serv_id,acct_id FROM B_SERV WHERE acc_nbr = '%s' and state in ('F0A','F0O','F0J','F0K','F0L')",Code);			cDatabase->DoSql(lsSql);			isqlcode=cDatabase->GetSqlCode();			if(isqlcode<0)			{				strcpy(lsRetstr,cDatabase->GetSqlErrText());				strcpy(lsTemp,"提取用户serv_id信息失败");strcat(lsTemp,"\n");				if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)					strcat(lsTemp,lsErr);				cDatabase->Commit();				StrReturn(-1,lsTemp);			}			lrow=cDatabase->GetRowCount();			if(lrow==0)			{				sprintf(lsSql,"SELECT a.serv_id,a.acct_id FROM B_SERV a,B_NBR_GROUP b WHERE b.begin_nbr <= '%s' AND b.end_nbr >= '%s' AND b.serv_id = a.serv_id AND b.state = 'B0A' AND a.state in ('F0A','F0O','F0J','F0K','F0L')",Code,Code);				cDatabase->DoSql(lsSql);				isqlcode=cDatabase->GetSqlCode();				if(isqlcode<0)				{					strcpy(lsRetstr,cDatabase->GetSqlErrText());					strcpy(lsTemp,"提取用户nbr_group信息失败");strcat(lsTemp,"\n");					if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)						strcat(lsTemp,lsErr);					cDatabase->Commit();					StrReturn(-1,lsTemp);				}				lrow=cDatabase->GetRowCount();				if(lrow==0)				{					sprintf(lsSql,"SELECT serv_id,acct_id FROM B_ACCT_ITEM_O WHERE -serv_id = %s and serv_id < 0 and state in ('20P','20R','20X','20U','20W','20V')",Code);					cDatabase->DoSql(lsSql);					isqlcode=cDatabase->GetSqlCode();					if(isqlcode<0)					{						strcpy(lsRetstr,cDatabase->GetSqlErrText());						strcpy(lsTemp,"提取用户nbr_group信息失败");strcat(lsTemp,"\n");						if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)							strcat(lsTemp,lsErr);						cDatabase->Commit();						StrReturn(-1,lsTemp);					}					lrow=cDatabase->GetRowCount();					if(lrow==0)					{						cDatabase->Commit();						StrReturn(100,"未找到用户信息");					}					else					{						rtrim(ltrim(strcpy(serv_id,cDatabase->data->GetColData(1,1))));						rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,2))));					}				}				else				{					rtrim(ltrim(strcpy(serv_id,cDatabase->data->GetColData(1,1))));					rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,2))));				}			}			else			{				rtrim(ltrim(strcpy(serv_id,cDatabase->data->GetColData(1,1))));				rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,2))));			}			if(strcmp(OtherArea,"0")==0)			{				if(atol(acct_id)<atol(min_acct_id)||atol(acct_id)>=atol(max_acct_id))					StrReturn(-1,"不允许进行异地返销");			}		                    if(acct_flag==0)                  {                      //提取指定帐期销帐流水号					                sprintf(lsSql," select distinct bill_serial_nbr from b_acct_item_o where acct_id=%s and billing_cycle_id=%s ",acct_id,billing_cycle);                         cDatabase->DoSql(lsSql);			isqlcode=cDatabase->GetSqlCode();	                //userlog(lsSql);			 if(isqlcode<0)			{					strcpy(lsRetstr,cDatabase->GetSqlErrText());					strcpy(lsTemp,"提取指定帐期销帐流水号出错3");strcat(lsTemp,"\n");					if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)					strcat(lsTemp,lsErr);					cDatabase->Commit();					StrReturn(-1,lsTemp);			}			lrow=cDatabase->GetRowCount();			cDatabase->Commit();			if(lrow==1) 			{			  sprintf(bill_serial_nbr,"%s",cDatabase->GetData());				}                        else			{				StrReturn(100,"未找到合同号销帐记录2");			}						if(bill_exists==0)			   {			   	      li_reprint_flag=1;				   	      sprintf(lsSql,"SELECT  to_char(a.bill_serial_nbr),'%s',"									"to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, "									"a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) "									"FROM BILL a,BALANCE_HIST_ADMIN b  "									"WHERE a.acct_id=b.acct_id(+) "									" and a.acct_id=%s " 									" and a.bill_serial_nbr=b.bill_serial_nbr(+) "									" and a.bill_serial_nbr=%s and a.state = '40C'  "							                ,cycle_end_date,li_reprint_flag,acct_id,bill_serial_nbr);				      //userlog(lsSql);		                   }	                   else	                   {	                   		li_reprint_flag=1;			   	      sprintf(lsSql,"SELECT  to_char(a.bill_serial_nbr),'%s',"									"to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, "									"a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) "									"FROM BILL a,BALANCE_HIST_ADMIN b  "									"WHERE a.acct_id=b.acct_id(+) "									" and a.acct_id=%s " 									" and a.bill_serial_nbr=b.bill_serial_nbr(+) "									" and a.bill_serial_nbr=%s and a.state = '40C'  "							                ,cycle_end_date,li_reprint_flag,acct_id,bill_serial_nbr);		                //userlog(lsSql);	      		        cDatabase->DoSql(lsSql);				isqlcode=cDatabase->GetSqlCode();	                        				if(isqlcode<0)				{					strcpy(lsRetstr,cDatabase->GetSqlErrText());					strcpy(lsTemp,"按电话号提取销帐历史记录出错1");strcat(lsTemp,"\n");					if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)						strcat(lsTemp,lsErr);					cDatabase->Commit();					StrReturn(-1,lsTemp);				}				lrow=cDatabase->GetRowCount();				cDatabase->Commit();				if(lrow==0) 				{					li_reprint_flag=2;			   	      sprintf(lsSql,"SELECT  to_char(a.bill_serial_nbr),'%s',"									"to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, "									"a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) "									"FROM BILL_HIS a,BALANCE_HIST_ADMIN b  "									"WHERE a.acct_id=b.acct_id(+) "									" and a.acct_id=%s " 									" and a.bill_serial_nbr=b.bill_serial_nbr(+) "									" and a.bill_serial_nbr=%s and a.state = '40C'  "							                ,cycle_end_date,li_reprint_flag,acct_id,bill_serial_nbr);			                			      		        }	      		        else 	StrReturn(0,cDatabase->GetData());	      		    }	      		//userlog(lsSql);		        cDatabase->DoSql(lsSql);			isqlcode=cDatabase->GetSqlCode();				if(isqlcode<0)			{				strcpy(lsRetstr,cDatabase->GetSqlErrText());				strcpy(lsTemp,"按电话号提取销帐历史记录出错2");strcat(lsTemp,"\n");				if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)					strcat(lsTemp,lsErr);				cDatabase->Commit();				StrReturn(-1,lsTemp);			}			lrow=cDatabase->GetRowCount();			cDatabase->Commit();		        if(lrow==0)		   	  StrReturn(100,"未找到电话号销帐记录2");	               	   StrReturn(0,cDatabase->GetData());			}								  else		    {		      	//提取指定帐期销帐流水号					                sprintf(lsSql," select distinct bill_serial_nbr from b_acct_item_o_%s where acct_id=%s  ",billing_cycle,acct_id);                         cDatabase->DoSql(lsSql);			isqlcode=cDatabase->GetSqlCode();	                //userlog(lsSql);			 if(isqlcode<0)			{					strcpy(lsRetstr,cDatabase->GetSqlErrText());					strcpy(lsTemp,"提取指定帐期销帐流水号出错4");strcat(lsTemp,"\n");					if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)					strcat(lsTemp,lsErr);					cDatabase->Commit();					StrReturn(-1,lsTemp);			}			lrow=cDatabase->GetRowCount();			cDatabase->Commit();			if(lrow==1) 			{			  sprintf(bill_serial_nbr,"%s",cDatabase->GetData());				  li_reprint_flag=2;			}                        else			{				sprintf(lsSql," select distinct bill_serial_nbr from b_acct_item_o where acct_id=%s  ",billing_cycle,Code); 	                        cDatabase->DoSql(lsSql);				isqlcode=cDatabase->GetSqlCode();		                 //userlog(lsSql);				 if(isqlcode<0)				{						strcpy(lsRetstr,cDatabase->GetSqlErrText());						strcpy(lsTemp,"提取指定帐期销帐流水号出错3");strcat(lsTemp,"\n");						if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)						strcat(lsTemp,lsErr);						cDatabase->Commit();						StrReturn(-1,lsTemp);				}				lrow=cDatabase->GetRowCount();				cDatabase->Commit();				if(lrow==1) 				{				  sprintf(bill_serial_nbr,"%s",cDatabase->GetData());					  li_reprint_flag=1;				}	                        else				{					StrReturn(100,"未找到合同号销帐记录3");				}			}                     }                   sprintf(lsTemp,"%ld",bill_exists);			   if(bill_exists==0)		   {		   	if(li_reprint_flag!=1)		   	{		   		li_reprint_flag=3;		   	}		   		   	      sprintf(lsSql,"SELECT  to_char(a.bill_serial_nbr),'%s',"							"to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, "							"a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) "							"FROM BILL a,BALANCE_HIST_ADMIN b  "							"WHERE a.acct_id=b.acct_id(+) "							" and a.acct_id=%s " 							" and a.bill_serial_nbr=b.bill_serial_nbr(+) "							" and a.bill_serial_nbr=%s and a.state = '40C'  "					                ,cycle_end_date,li_reprint_flag,acct_id,bill_serial_nbr);	                      	               //userlog(lsSql);		                   }                   else                   {                   	if(li_reprint_flag!=1)                   	{                   		li_reprint_flag=3;                   	}                   				   	      sprintf(lsSql,"SELECT  to_char(a.bill_serial_nbr),'%s',"									"to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, "									"a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) "									"FROM BILL a,BALANCE_HIST_ADMIN b  "									"WHERE a.acct_id=b.acct_id(+) "									" and a.acct_id=%s " 									" and a.bill_serial_nbr=b.bill_serial_nbr(+) "									" and a.bill_serial_nbr=%s and a.state = '40C'  "							                ,cycle_end_date,li_reprint_flag,acct_id,bill_serial_nbr);			                //userlog(lsSql);      		        cDatabase->DoSql(lsSql);			isqlcode=cDatabase->GetSqlCode();			if(isqlcode<0)			{				strcpy(lsRetstr,cDatabase->GetSqlErrText());				strcpy(lsTemp,"按电话号提取销帐历史记录出错3");strcat(lsTemp,"\n");				if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)					strcat(lsTemp,lsErr);				cDatabase->Commit();				StrReturn(-1,lsTemp);			}			lrow=cDatabase->GetRowCount();			cDatabase->Commit();			if(lrow==0) 			{				if(li_reprint_flag!=1)				{					li_reprint_flag=4;				}						   	        sprintf(lsSql,"SELECT  to_char(a.bill_serial_nbr),'%s',"								"to_char(a.pay_serial_nbr),to_char(a.created_date,'yyyy-mm-dd'),a.print_count, "								"a.staff_id,a.acct_id,a.amount,a.change,0 flag,%d reprint ,(b.balance-b.amount) "								"FROM BILL_HIS a,BALANCE_HIST_ADMIN b  "								"WHERE a.acct_id=b.acct_id(+) "								" and a.acct_id=%s " 								" and a.bill_serial_nbr=b.bill_serial_nbr(+) "								" and a.bill_serial_nbr=%s and a.state = '40C'  "						                ,cycle_end_date,li_reprint_flag,acct_id,bill_serial_nbr);      		        }      		        else 	StrReturn(0,cDatabase->GetData());      		    }      			        cDatabase->DoSql(lsSql);		isqlcode=cDatabase->GetSqlCode();		if(isqlcode<0)		{			strcpy(lsRetstr,cDatabase->GetSqlErrText());			strcpy(lsTemp,"按电话号提取销帐历史记录出错4");strcat(lsTemp,"\n");			if(WriteLog(cDatabase,StaffID,"w_p_charge_erase",strcat(lsTemp,lsRetstr),lsErr)!=1)				strcat(lsTemp,lsErr);			cDatabase->Commit();			StrReturn(-1,lsTemp);		}		lrow=cDatabase->GetRowCount();		cDatabase->Commit();	        if(lrow==0)	   	  StrReturn(100,"未找到电话号销帐记录4");               	   StrReturn(0,cDatabase->GetData());		default:			StrReturn(-1,"未知的销帐类型");	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -