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

📄 charge_format.cpp

📁 通信BOSS计费方面的服务器源码,有很多经典的创意,值得借鉴,在UNIX上运行.
💻 CPP
📖 第 1 页 / 共 4 页
字号:
   "delete from BILL_FORMAT_O  "    "where bill_format_id=%s  "	 ,bill_format_id);		//userlog(lsSql);	cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());		if(isqlcode<0||cDatabase->GetRowCount()!=1)	{			strcpy(lsTemp,"删除定制帐单记录失败!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());		strcat(lsTemp,"\n");		cDatabase->Rollback();		if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);				cDatabase->Commit();		StrReturn(-1,lsTemp);	}		cDatabase->Commit();	StrReturn(0,"删除数据成功!");}//-----------------------------------------------------------------//服务PFDelItem实现函数,传入参数staff_id,bill_item_type_id,//bill_item_type_id_other//删除bill_item_type_id相关数据//-----------------------------------------------------------------void CFormat::PFDelItem(){	char lsSql[120],lsTemp[1024],lsErr[300];	int  i,isqlcode,lpnum,rpnum;	char bill_item_type_id_other[20],bill_item_type_id[20];	char *lparm[3],staff_id[20];		//取参数开始	lpnum=3;		rpnum=GetInputParm(pInp,lparm,20);	if(rpnum!=lpnum)	{		lpfree(lparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数传输不正确!\n");		if(WriteLog(cDatabase,"-1","w_p_balance",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-2,lsTemp);	}	strcpy(staff_id,lparm[0]);	strcpy(bill_item_type_id,lparm[1]);	strcpy(bill_item_type_id_other,lparm[2]);	lpfree(lparm,rpnum);		//取参数结束		//userlog("\ndelete data for bill_item_type_id: %s",bill_item_type_id);		cDatabase->BeginTran();		sprintf(lsSql,   "update BILL_ACCT_ITEM_TYPE  "      "set bill_item_type_id=%s  "    "where bill_item_type_id=%s  "	 ,bill_item_type_id_other,bill_item_type_id);		//userlog(lsSql);	cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());		if(isqlcode<0||cDatabase->GetRowCount()!=1) 	{			strcpy(lsTemp,"删除BILL_ACCT_ITEM_TYPE相关数据时出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());		strcat(lsTemp,"\n");		cDatabase->Rollback();		if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);				cDatabase->Commit();		StrReturn(-1,lsTemp);	}	sprintf(lsSql,   "delete from BILL_ITEM_TYPE  "    "where bill_item_type_id=%s "	 ,bill_item_type_id);		//userlog(lsSql);	cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());		if(isqlcode<0)	{			strcpy(lsTemp,"删除BILL_ITEM_TYPE相关数据时出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());		strcat(lsTemp,"\n");		cDatabase->Rollback();		if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-1,lsTemp);	}		cDatabase->Commit();	StrReturn(0,"删除数据成功!");}//-----------------------------------------------------------------//服务PFDelType实现函数,传入参数staff_id,bill_item_type_id,//acct_item_type_id,bill_item_type_id_other//删除acct_item_type_id相关数据//-----------------------------------------------------------------void CFormat::PFDelType(){	char lsSql[180],lsTemp[1024],lsErr[300];	int  i,isqlcode,lpnum,rpnum;	char bill_item_type_id_other[20],bill_item_type_id[20],acct_item_type_id[20];	char *lparm[4],staff_id[20];		//取参数开始	lpnum=4;	rpnum=GetInputParm(pInp,lparm,20);	if(rpnum!=lpnum)	{		lpfree(lparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数传输不正确!\n");		if(WriteLog(cDatabase,"-1","w_p_balance",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-2,lsTemp);	}	strcpy(staff_id,lparm[0]);	strcpy(bill_item_type_id,lparm[1]);	strcpy(acct_item_type_id,lparm[2]);	strcpy(bill_item_type_id_other,lparm[3]);	lpfree(lparm,rpnum);		//取参数结束		//userlog("\ndelete data for acct_item_type_id: %s",acct_item_type_id);		cDatabase->BeginTran();		sprintf(lsSql,    "update BILL_ACCT_ITEM_TYPE "       "set bill_item_type_id=%s "     "where bill_item_type_id=%s "       "and acct_item_type_id=%s "	 ,bill_item_type_id_other,bill_item_type_id,acct_item_type_id);		//userlog(lsSql);	cDatabase->DoSql(lsSql);	isqlcode=cDatabase->GetSqlCode();	//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());		if(isqlcode<0) 	{			strcpy(lsTemp,"删除BILL_ACCT_ITEM_TYPE相关数据时出错!\n");		strcat(lsTemp,cDatabase->GetSqlErrText());		strcat(lsTemp,"\n");		cDatabase->Rollback();		if(WriteLog(cDatabase,staff_id,"w_p_bill_format",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);				cDatabase->Commit();		StrReturn(-1,lsTemp);	}		cDatabase->Commit();	StrReturn(0,"删除数据成功!");}//-----------------------------------------------------------------//服务PFSaveFor实现函数,参数块一(工号,单排)//块二(定制帐单数据窗口数据,多排),块三(帐单对应帐单项数据窗口数据,多排)//块四(帐单项对应帐目类型数据窗口数据,多排)//保存定制帐单数据//-----------------------------------------------------------------void CFormat::PFSaveFor(){	char  lsSql[150],lsTemp[1024],lsErr[300];	int   isqlcode,lpnum,wpnum,rpnum;	char  staff_id[20];	char  *lparm[2048],*wparm[6],tch[2];	long  ret,i,j,row=0,col=0,pos;		//userlog(pInp);		//通过char(1)拆解字符串	wpnum=4;	rpnum=GetParmByAny(pInp,wparm,1,1024*6);	if(rpnum!=wpnum)	{		lpfree(wparm,rpnum);		strcpy(lsTemp,"解析客户端传入参数失败,可能参数传输不正确!\n");		if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-2,lsTemp);	}		//分解块一数据(单排只有工号)	strcpy(staff_id,wparm[0]);		cDatabase->BeginTran();		//分解块二数据(多排)	ret=GetMulRowData(wparm[1],lparm,&row,&col,100);	//userlog("ret= %d  row= %d  col= %d",ret,row,col);	if(ret<=0)	{		lpfree(wparm,wpnum);		lpfree(lparm,2048);		strcpy(lsTemp,"解析客户端传入多排参数失败,可能参数传输格式不正确!\n");		if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-2,lsTemp);		}		for(i=0;i<row;i++)	{	   j=i*col;	   if(strcmp(lparm[j+3],"New!")==0||strcmp(lparm[j+3],"NewModified!")==0)	   {	   	sprintf(lsSql,		"INSERT INTO BILL_FORMAT_O "		"VALUES (%s,'%s','%s' ) "		,lparm[j],lparm[j+1],lparm[j+2]);			//userlog(lsSql);		cDatabase->DoSql(lsSql);		isqlcode=cDatabase->GetSqlCode();		//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());			if(isqlcode<0) 		{				strcpy(lsTemp,"插入帐单记录数据出错!\n");			strcat(lsTemp,cDatabase->GetSqlErrText());			strcat(lsTemp,"\n");			cDatabase->Rollback();			if(WriteLog(cDatabase,staff_id,"w_p_settle",lsTemp,lsErr)!=1)				strcat(lsTemp,lsErr);			lpfree(lparm,ret);						cDatabase->Commit();			StrReturn(-1,lsTemp);		}   		   	 		   }	   else if(strcmp(lparm[j+3],"DataModified!")==0)	   {	   	sprintf(lsSql,		"UPDATE BILL_FORMAT_O  "		"SET name = '%s', "			"bill_format_type = '%s' "		"WHERE bill_format_id = %s "		,lparm[j+1],lparm[j+2],lparm[j]);			//userlog(lsSql);		cDatabase->DoSql(lsSql);		isqlcode=cDatabase->GetSqlCode();		//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());			if(isqlcode<0||cDatabase->GetRowCount()!=1) 		{				strcpy(lsTemp,"更新帐单记录数据出错!\n");			strcat(lsTemp,cDatabase->GetSqlErrText());			strcat(lsTemp,"\n");			cDatabase->Rollback();			if(WriteLog(cDatabase,staff_id,"w_p_settle",lsTemp,lsErr)!=1)				strcat(lsTemp,lsErr);			lpfree(lparm,ret);						cDatabase->Commit();			StrReturn(-1,lsTemp);		}   		   	 		   		   		   }	}		//分解块三数据(多排)	ret=GetMulRowData(wparm[2],lparm,&row,&col,100);	//userlog("ret= %d  row= %d  col= %d",ret,row,col);	if(ret<=0)	{		lpfree(wparm,wpnum);		lpfree(lparm,2048);		strcpy(lsTemp,"解析客户端传入多排参数失败,可能参数传输格式不正确!\n");		if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-2,lsTemp);		}		for(i=0;i<row;i++)	{	   j=i*col;	   if(strcmp(lparm[j+3],"New!")==0||strcmp(lparm[j+3],"NewModified!")==0)	   {	   	sprintf(lsSql,		"INSERT INTO BILL_ITEM_TYPE "		"VALUES (%s,%s,'%s' ) "		,lparm[j],lparm[j+1],lparm[j+2]);			//userlog(lsSql);		cDatabase->DoSql(lsSql);		isqlcode=cDatabase->GetSqlCode();		//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());			if(isqlcode<0) 		{				strcpy(lsTemp,"插入帐单对应项记录数据出错!\n");			strcat(lsTemp,cDatabase->GetSqlErrText());			strcat(lsTemp,"\n");			cDatabase->Rollback();			if(WriteLog(cDatabase,staff_id,"w_p_settle",lsTemp,lsErr)!=1)				strcat(lsTemp,lsErr);			lpfree(lparm,ret);						cDatabase->Commit();			StrReturn(-1,lsTemp);		}   		   	 		   }	   else if(strcmp(lparm[j+3],"DataModified!")==0)	   {	   	sprintf(lsSql,		"UPDATE BILL_ITEM_TYPE  "		"SET bill_format_id = %s, "			"name = '%s' "		"WHERE bill_item_type_id = %s "		,lparm[j+1],lparm[j+2],lparm[j]);			//userlog(lsSql);		cDatabase->DoSql(lsSql);		isqlcode=cDatabase->GetSqlCode();		//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());			if(isqlcode<0||cDatabase->GetRowCount()!=1) 		{				strcpy(lsTemp,"更新帐单对应项记录数据出错!\n");			strcat(lsTemp,cDatabase->GetSqlErrText());			strcat(lsTemp,"\n");			cDatabase->Rollback();			if(WriteLog(cDatabase,staff_id,"w_p_settle",lsTemp,lsErr)!=1)				strcat(lsTemp,lsErr);			lpfree(lparm,ret);						cDatabase->Commit();			StrReturn(-1,lsTemp);		}   		   		   }	   	}		//分解块四数据(多排)	ret=GetMulRowData(wparm[3],lparm,&row,&col,100);	//userlog("ret= %d  row= %d  col= %d",ret,row,col);	if(ret<=0)	{		lpfree(wparm,wpnum);		lpfree(lparm,2048);		strcpy(lsTemp,"解析客户端传入多排参数失败,可能参数传输格式不正确!\n");		if(WriteLog(cDatabase,"-1","w_p_bill_format",lsTemp,lsErr)!=1)			strcat(lsTemp,lsErr);		cDatabase->Commit();		StrReturn(-2,lsTemp);		}		for(i=0;i<row;i++)	{	   j=i*col;	   if(strcmp(lparm[j+3],"New!")==0||strcmp(lparm[j+3],"NewModified!")==0)	   {	   	sprintf(lsSql,		"INSERT INTO BILL_ACCT_ITEM_TYPE  "		"VALUES (%s,%s,%s )  "		,lparm[j],lparm[j+1],lparm[j+2]);			//userlog(lsSql);		cDatabase->DoSql(lsSql);		isqlcode=cDatabase->GetSqlCode();		//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());			if(isqlcode<0) 		{				strcpy(lsTemp,"插入帐单项对应帐目类型数据出错!\n");			strcat(lsTemp,cDatabase->GetSqlErrText());			strcat(lsTemp,"\n");			cDatabase->Rollback();			if(WriteLog(cDatabase,staff_id,"w_p_settle",lsTemp,lsErr)!=1)				strcat(lsTemp,lsErr);			lpfree(lparm,ret);						cDatabase->Commit();			StrReturn(-1,lsTemp);		}		   	 		   }	   else if(strcmp(lparm[j+3],"DataModified!")==0)	   {	   	sprintf(lsSql,		"UPDATE BILL_ACCT_ITEM_TYPE  "		"SET bill_format_id = %s "		"WHERE bill_item_type_id = %s and "			"acct_item_type_id = %s "		,lparm[j+2],lparm[j],lparm[j+1]);			//userlog(lsSql);		cDatabase->DoSql(lsSql);		isqlcode=cDatabase->GetSqlCode();		//userlog("Sqlcode: %d SqlErrText: %s",isqlcode,cDatabase->GetSqlErrText());			if(isqlcode<0||cDatabase->GetRowCount()!=1) 		{				strcpy(lsTemp,"更新帐单项对应帐目类型数据出错!\n");			strcat(lsTemp,cDatabase->GetSqlErrText());			strcat(lsTemp,"\n");			cDatabase->Rollback();			if(WriteLog(cDatabase,staff_id,"w_p_settle",lsTemp,lsErr)!=1)				strcat(lsTemp,lsErr);			lpfree(lparm,ret);						cDatabase->Commit();			StrReturn(-1,lsTemp);		}   		   		   }	   	   	}		cDatabase->Commit();	StrReturn(0,"保存成功!");}

⌨️ 快捷键说明

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