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

📄 charge_jlt_print.cpp

📁 通信BOSS计费方面的服务器源码,有很多经典的创意,值得借鉴,在UNIX上运行.
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	if(isqlcode<0)


	{


		strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


		strcpy(lsRetstr,"提取营业区最小合同号失败");


		if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


			strcat(lsTemp,lsErr);


		cDatabase->Commit();


		StrReturn(-1,lsTemp);


	}





	lrow=cDatabase->GetRowCount();


	if(lrow==0) 


	{


		cDatabase->Commit();


		StrReturn(100,"未找到营业区最小合同号");


	}





	rtrim(ltrim(cDatabase->GetData()));


	retlong = strlen(cDatabase->GetData());


	min_acct_id = (char *) malloc(retlong);


	strcpy(min_acct_id,cDatabase->GetData());


	rtrim(ltrim(min_acct_id));





//生成返回数据


	strlong = strlen(para_ret) + strlen(invo_ret) + strlen(stat1_ret) + strlen(stat2_ret) + strlen(stat3_ret) + strlen(max_acct_id) + strlen(min_acct_id) + strlen(partner_ret) + strlen(item_ret) + strlen(payment_ret) + strlen(this_date) + 200;





	if (cDatabase->ret) free(cDatabase->ret);


	cDatabase->ret = (char *) malloc(strlong+100);


	strcpy(cDatabase->ret,para_ret);strlong =strlen(cDatabase->ret);cDatabase->ret[strlong]=1;cDatabase->ret[strlong+1]=0;


	strcat(cDatabase->ret,invo_ret);strlong =strlen(cDatabase->ret);cDatabase->ret[strlong]=1;cDatabase->ret[strlong+1]=0;


	strcat(cDatabase->ret,partner_ret);strlong =strlen(cDatabase->ret);cDatabase->ret[strlong]=1;cDatabase->ret[strlong+1]=0;


	strcat(cDatabase->ret,payment_ret);strlong =strlen(cDatabase->ret);cDatabase->ret[strlong]=1;cDatabase->ret[strlong+1]=0;


	strcat(cDatabase->ret,item_ret);strlong =strlen(cDatabase->ret);cDatabase->ret[strlong]=1;cDatabase->ret[strlong+1]=0;


	strcat(cDatabase->ret,stat1_ret);strcat(cDatabase->ret,"\t");


	strcat(cDatabase->ret,stat2_ret);strcat(cDatabase->ret,"\t");


	strcat(cDatabase->ret,stat3_ret);strlong =strlen(cDatabase->ret);cDatabase->ret[strlong]=1;cDatabase->ret[strlong+1]=0;


	strcat(cDatabase->ret,max_acct_id);strcat(cDatabase->ret,"\t");


	strcat(cDatabase->ret,min_acct_id);strcat(cDatabase->ret,"\t");


	strcat(cDatabase->ret,this_date);





	if(para_ret) free(para_ret);


	if(invo_ret) free(invo_ret);


	if(partner_ret) free(partner_ret);


	if(payment_ret) free(payment_ret);


	if(item_ret) free(item_ret);


	if(stat1_ret) free(stat1_ret);


	if(stat2_ret) free(stat2_ret);


	if(stat3_ret) free(stat3_ret);


	if(max_acct_id) free(max_acct_id);


	if(min_acct_id) free(min_acct_id);


	if(this_date) free(this_date);





	StrReturn(0,cDatabase->ret);


}








void CPayment::GetServInfo(char *StaffID,char *CodeType,char *Code)


{


	char lsSql[2048],lsTemp[1024],lsErr[500],lsRetstr[2048],lsRettemp[500];


	int isqlcode,lrow;


	int codetype;


	char serv_id[11],serv_name[51],acct_id[9],acc_nbr[17];


	char *bill_format_id;





	codetype = atoi(CodeType);





	switch (codetype)


	{


		case 1:	//按acct_id提取用户信息


			sprintf(lsSql,"SELECT acct_id,acct_seq_nbr,NVL(change,0),NVL(customer_name,''),payment_method,NVL(acc_nbr,'') FROM B_ACCT WHERE acct_id = %s AND state='10A'",Code);





			//userlog(lsSql);


			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();


			//userlog("sqlcode= %d",isqlcode);


			//userlog("RowCount= %d",cDatabase->GetRowCount());			





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取用户acct_id信息失败");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow==0) 


			{


				cDatabase->Commit();


				StrReturn(100,"未找到用户acct_id信息");


			}


			strcpy(lsRettemp,rtrim(ltrim(cDatabase->GetData())));


			


			sprintf(lsSql,"SELECT bill_format_id FROM ACCT_BILL_FORMAT WHERE acct_id = %s ",Code);


			


			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取定制帐单出错");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow>0) 


			{


				bill_format_id=cDatabase->GetData();


				strcat(lsRettemp,"\t");


				strcat(lsRettemp,bill_format_id);


			}





			StrReturn(0,lsRettemp);





		case 2:  //按acc_nbr提取用户信息





			sprintf(lsSql,"SELECT serv_id,acct_id,acct_seq_nbr,NVL(serv_name,'') FROM B_SERV WHERE acc_nbr = '%s' and state in ('F0A','F0J','F0K','F0L')",Code);





			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取用户serv_id信息失败");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),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,a.acct_seq_nbr,NVL(a.serv_name,'') 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','F0J','F0K','F0L')",Code,Code);





				cDatabase->DoSql(lsSql);


				isqlcode=cDatabase->GetSqlCode();





				if(isqlcode<0)


				{


					strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


					strcpy(lsRetstr,"提取用户nbr_group信息失败");


					if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),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))));


					rtrim(ltrim(strcpy(serv_name,cDatabase->data->GetColData(1,4))));


				}


			}


			else


			{


				rtrim(ltrim(strcpy(serv_id,cDatabase->data->GetColData(1,1))));


				rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,2))));


				rtrim(ltrim(strcpy(serv_name,cDatabase->data->GetColData(1,4))));


			}





			sprintf(lsSql,"SELECT acct_id,acct_seq_nbr,NVL(change,0),NVL(customer_name,''),payment_method,NVL(acc_nbr,'') FROM B_ACCT WHERE acct_id = %s AND state='10A'",acct_id);





			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取用户acct_id信息失败");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow==0) 


			{


				cDatabase->Commit();


				StrReturn(100,"未找到用户acct_id信息");


			}





			strcpy(lsRettemp,rtrim(ltrim(cDatabase->GetData()))); strcat(lsRettemp,"\t");


			strcat(lsRettemp,serv_id);strcat(lsRettemp,"\t");


			strcat(lsRettemp,serv_name);





			sprintf(lsSql,"SELECT bill_format_id FROM ACCT_BILL_FORMAT WHERE acct_id = %s ",acct_id);


			


			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取定制帐单出错");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow>0) 


			{


				bill_format_id=cDatabase->GetData();


				strcat(lsRettemp,"\t");


				strcat(lsRettemp,bill_format_id);


			}





			cDatabase->Commit();


			StrReturn(0,lsRettemp);





		case 3:  //按acct_nbr_97提取用户信息





			sprintf(lsSql,"SELECT acct_id,acct_seq_nbr,NVL(change,0),NVL(customer_name,''),payment_method,NVL(acc_nbr,'') FROM B_ACCT WHERE acct_nbr_97 = '%s' AND state='10A'",Code);





			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取用户acct_nbr_97信息失败");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow==0) 


			{


				cDatabase->Commit();


				StrReturn(100,"未找到用户acct_nbr_97信息");


			}


			rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,1))));


			strcpy(lsRettemp,rtrim(ltrim(cDatabase->GetData())));


			


			sprintf(lsSql,"SELECT bill_format_id FROM ACCT_BILL_FORMAT WHERE acct_id = %s ",acct_id);


			


			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取定制帐单出错");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow>0) 


			{


				bill_format_id=cDatabase->GetData();


				strcat(lsRettemp,"\t");


				strcat(lsRettemp,bill_format_id);


			}





			cDatabase->Commit();


			StrReturn(0,lsRettemp);





		case 4:  //按bar_code提取用户信息





			sprintf(lsSql,"SELECT acct_id,NVL(contact_tel,'') FROM B_BARCODE_ACCT WHERE bar_code = '%s'",Code);





			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取用户缴费卡信息失败");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow==0) 


			{


				cDatabase->Commit();


				StrReturn(100,"未找到用户缴费卡信息");


			}





			rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,1))));


			rtrim(ltrim(strcpy(acc_nbr,cDatabase->data->GetColData(1,2))));





			sprintf(lsSql,"SELECT acct_id,acct_seq_nbr,NVL(change,0),NVL(customer_name,''),payment_method,NVL(acc_nbr,'') FROM B_ACCT WHERE acct_id = %s AND state='10A'",acct_id);





			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取用户acct_id信息失败");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow==0) 


			{


				cDatabase->Commit();


				StrReturn(100,"未找到用户acct_id信息");


			}





			strcpy(lsRettemp,rtrim(ltrim(cDatabase->GetData())));


			strcat(lsRettemp,"\t");


			strcat(lsRettemp,acc_nbr);





			sprintf(lsSql,"SELECT bill_format_id FROM ACCT_BILL_FORMAT WHERE acct_id = %s ",acct_id);


			


			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取定制帐单出错");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow>0) 


			{


				bill_format_id=cDatabase->GetData();


				strcat(lsRettemp,"\t");


				strcat(lsRettemp,bill_format_id);


			}





			cDatabase->Commit();


			StrReturn(0,lsRettemp);





		case 5:  //按代收号提取用户信息





			sprintf(lsSql,"SELECT acct_id,serv_id FROM B_TRUSTED_ACCT_ITEM WHERE acc_nbr = '%s'",Code);





			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取用户代收信息失败");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


			}





			lrow=cDatabase->GetRowCount();


			if(lrow==0) 


			{


				cDatabase->Commit();


				StrReturn(100,"未找到用户代收信息");


			}





			rtrim(ltrim(strcpy(acct_id,cDatabase->data->GetColData(1,1))));


			rtrim(ltrim(strcpy(serv_id,cDatabase->data->GetColData(1,2))));





			sprintf(lsSql,"SELECT acct_id,acct_seq_nbr,NVL(change,0),NVL(customer_name,''),payment_method,NVL(acc_nbr,'') FROM B_ACCT WHERE acct_id = %s AND state='10A'",acct_id);





			cDatabase->DoSql(lsSql);


			isqlcode=cDatabase->GetSqlCode();





			if(isqlcode<0)


			{


				strcpy(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");


				strcpy(lsRetstr,"提取用户acct_id信息失败");


				if(WriteLog(cDatabase,StaffID,"w_p_charge",strcat(lsRetstr,lsTemp),lsErr)!=1)


					strcat(lsTemp,lsErr);


				cDatabase->Commit();


				StrReturn(-1,lsTemp);


⌨️ 快捷键说明

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