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

📄 charge_global.cpp

📁 通信BOSS计费方面的服务器源码,有很多经典的创意,值得借鉴,在UNIX上运行.
💻 CPP
字号:
#include "charge_global.h"#include "charge_public.h"#include "payment.flds.h"CPublic::CPublic(char *pcInp,COracle *pcDatabase){	cDatabase = pcDatabase;	pInp = pcInp;}//------------------------------------------------------------------------//服务PGBillCycle调用函数//取帐目周期数据,参数staff_id,main_win//------------------------------------------------------------------------void CPublic::GetBillCycle(){	char lsSql[2048],lsTemp[1024],lsErr[500];	char staff_id[20],main_win[50];	char *lparm[4];	int isqlcode,lpnum,rpnum;					lpnum=2;		rpnum=GetInputParm(pInp,lparm,50);	if(rpnum!=lpnum)	{		lpfree(lparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");		StrReturn(-2,lsTemp);	}	strcpy(staff_id,lparm[0]);	strcpy(main_win,lparm[1]);	lpfree(lparm,rpnum);			strcpy(lsSql,	"SELECT B_BILLING_CYCLE.billing_cycle_id,    "         	"B_BILLING_CYCLE.cycle_type_id,   "         	"to_char(B_BILLING_CYCLE.cycle_begin_date,'yyyy-mm-dd'), "         	"to_char(B_BILLING_CYCLE.cycle_end_date - 1 ,'yyyy-mm-dd')  "    	"FROM B_BILLING_CYCLE "   	);		//userlog(lsSql);	cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());	//userlog("检索返回行数:%d",cDatabase->GetRowCount());		if(isqlcode<0)	{		strcpy(lsTemp,"取帐目周期数据出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");		if(WriteLog(cDatabase,staff_id,main_win,lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-1,lsTemp);	}		cDatabase->Commit();	if(isqlcode==0 && cDatabase->GetRowCount()==0) StrReturn(100,NULL);	StrReturn(0,cDatabase->GetData());}void CPublic::GetSellID(){	char lsSql[2048],lsTemp[1024],lsErr[500];	char staff_id[20],main_win[50];	char *lparm[4];	int isqlcode,lpnum,rpnum;					lpnum=2;		rpnum=GetInputParm(pInp,lparm,50);	if(rpnum!=lpnum)	{		lpfree(lparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");		StrReturn(-2,lsTemp);	}	strcpy(staff_id,lparm[0]);	strcpy(main_win,lparm[1]);	lpfree(lparm,rpnum);			strcpy(lsSql,"SELECT sell_id,sell_name FROM SELL ORDER BY sell_id ");		//userlog(lsSql);	cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());	//userlog("检索返回行数:%d",cDatabase->GetRowCount());		if(isqlcode<0)	{		strcpy(lsTemp,"取帐目周期数据出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");		if(WriteLog(cDatabase,staff_id,main_win,lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-1,lsTemp);	}		cDatabase->Commit();	if(isqlcode==0 && cDatabase->GetRowCount()==0) StrReturn(100,NULL);	StrReturn(0,cDatabase->GetData());}//------------------------------------------------------------------------//服务PGSysTime调用函数//取服务器时间,参数staff_id,main_win//------------------------------------------------------------------------void CPublic::GetSystime(){	char lsSql[2048],lsTemp[1024],lsErr[500];	char staff_id[20],main_win[50];	char *lparm[4];	int isqlcode,lpnum,rpnum;					lpnum=2;		rpnum=GetInputParm(pInp,lparm,50);	if(rpnum!=lpnum)	{		lpfree(lparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");		StrReturn(-2,lsTemp);	}	strcpy(staff_id,lparm[0]);	strcpy(main_win,lparm[1]);	lpfree(lparm,rpnum);									strcpy(lsSql,"select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual");		//userlog(lsSql);	cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());	//userlog("检索返回行数:%d",cDatabase->GetRowCount());	if(isqlcode<0||cDatabase->GetRowCount()!=1)	{		strcpy(lsTemp,"取服务器时间出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");		if(WriteLog(cDatabase,staff_id,main_win,lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-1,lsTemp);	}		cDatabase->Commit();	strcpy(lsTemp,cDatabase->data->GetColData(1,1));	StrReturn(0,lsTemp);		}//------------------------------------------------------------------------//服务PGItemType调用函数//检索帐目类型,参数staff_id,main_win//------------------------------------------------------------------------void CPublic::GetItemType(){	char lsSql[2048],lsTemp[1024],lsErr[500];	char staff_id[20],main_win[50];	char *lparm[4];	int isqlcode,lpnum,rpnum;		lpnum=2;		rpnum=GetInputParm(pInp,lparm,50);	if(rpnum!=lpnum)	{		lpfree(lparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");		StrReturn(-2,lsTemp);	}	strcpy(staff_id,lparm[0]);	strcpy(main_win,lparm[1]);	lpfree(lparm,rpnum);						strcpy(lsSql,  	"SELECT  B_ACCT_ITEM_TYPE_O.acct_item_type_id, "		"B_ACCT_ITEM_TYPE_O.name, "		"B_ACCT_ITEM_TYPE_O.standard_code     "        "FROM B_ACCT_ITEM_TYPE_O "        "ORDER BY B_ACCT_ITEM_TYPE_O.acct_item_type_id  "    	);		//userlog(lsSql);	cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());	//userlog("检索返回行数:%d",cDatabase->GetRowCount());		if(isqlcode<0)	{		strcpy(lsTemp,"检索帐目类型出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");		if(WriteLog(cDatabase,staff_id,main_win,lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-1,lsTemp);	}		cDatabase->Commit();	if(isqlcode==0 && cDatabase->GetRowCount()==0) StrReturn(100,NULL);	StrReturn(0,cDatabase->GetData());}//------------------------------------------------------------------------//服务PGDateDiff调用函数//取时间差,参数staff_id,main_win,itype,start_date,end_date//itype=0,用当前系统时间代替end_date,itype=1,end_date-start_date//------------------------------------------------------------------------void CPublic::GetDateDiff(){	char lsSql[2048],lsTemp[1024],lsErr[500];	char staff_id[20],start_date[30],end_date[30],main_win[50];	int itype;	char *lparm[5];	int isqlcode,lpnum,rpnum;					lpnum=5;		rpnum=GetInputParm(pInp,lparm,50);	if(rpnum!=lpnum)	{		lpfree(lparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");		StrReturn(-2,lsTemp);	}	strcpy(staff_id,lparm[0]);	strcpy(main_win,lparm[1]);	itype=atoi(lparm[2]);	strcpy(start_date,lparm[3]);	strcpy(end_date,lparm[4]);	lpfree(lparm,rpnum);						if(itype==0)		sprintf(lsSql,"select sysdate - to_date('%s','yyyy-mm-dd') from dual",start_date);		else					sprintf(lsSql,"select to_date('%s','yyyy-mm-dd') - to_date('%s','yyyy-mm-dd') from dual",end_date,start_date);		cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	if(isqlcode<0||cDatabase->GetRowCount()!=1)	{		strcpy(lsTemp,"取日期相差天数出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");		if(WriteLog(cDatabase,staff_id,main_win,lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		StrReturn(-1,lsTemp);	}		cDatabase->Commit();	strcpy(lsTemp,cDatabase->data->GetColData(1,1));	StrReturn(0,lsTemp);		}//------------------------------------------------------------------------//服务PGGetVer调用函数//取程序版本号,参数staff_id,main_win,file_name//------------------------------------------------------------------------/*void CPublic::PGGetVer(){	char lsSql[2048],lsTemp[1024],lsErr[500];	char staff_id[20],file_name[30],main_win[50];	int itype;	char *lparm[3];	int isqlcode,lpnum,rpnum;					lpnum=3;		rpnum=GetInputParm(pInp,lparm,50);	if(rpnum!=lpnum)	{		lpfree(lparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");		StrReturn(-2,lsTemp);	}	strcpy(staff_id,lparm[0]);	strcpy(main_win,lparm[1]);	strcpy(file_name,lparm[2]);	lpfree(lparm,rpnum);						sprintf(lsSql,"select cur_version from RELNOTES where dll_name='%s'",file_name);		cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	if(isqlcode<0)	{		strcpy(lsTemp,"取文件版本号出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");		if(WriteLog(cDatabase,staff_id,main_win,lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		StrReturn(-1,lsTemp);	}	else if(isqlcode==0 && cDatabase->GetRowCount()==0) {cDatabase->Commit();StrReturn(100,NULL);}	else 	{		cDatabase->Commit();		strcpy(lsTemp,cDatabase->data->GetColData(1,1));		StrReturn(0,lsTemp);	}		}*//*void CPublic::GetSellID(){	char lsSql[2048],lsTemp[1024],lsErr[500];	char staff_id[20],main_win[50];	char *lparm[4];	int isqlcode,lpnum,rpnum;					lpnum=2;		rpnum=GetInputParm(pInp,lparm,50);	if(rpnum!=lpnum)	{		lpfree(lparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数数据或传输格式不正确!\n");		StrReturn(-2,lsTemp);	}	strcpy(staff_id,lparm[0]);	strcpy(main_win,lparm[1]);	lpfree(lparm,rpnum);			strcpy(lsSql,"SELECT sell_id,sell_name FROM SELL ORDER BY sell_id ");		//userlog(lsSql);	cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());	//userlog("检索返回行数:%d",cDatabase->GetRowCount());		if(isqlcode<0)	{		strcpy(lsTemp,"取帐目周期数据出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());strcat(lsTemp,"\n");		if(WriteLog(cDatabase,staff_id,main_win,lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-1,lsTemp);	}		cDatabase->Commit();	if(isqlcode==0 && cDatabase->GetRowCount()==0) StrReturn(100,NULL);	StrReturn(0,cDatabase->GetData());}*/

⌨️ 快捷键说明

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