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

📄 cispub.cpp

📁 液晶电视完整代码可实现人机界面
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    return TRUE;  }    // 根据参与行号找出其对应的其它信息BOOL BepsPub::FindBankInfo(BankInfo *struBankInfo,char *sResDesc){	int     nResCode;		char    sSqlCmd[512];		memset(sSqlCmd, 0, sizeof(sSqlCmd));		//根据参与行号找出其对应的参与行名称/清算行号/    	if ( strlen(struBankInfo->sBankCode) != 12 )	{		 strcpy(sResDesc,"非法的行号数据!");		 return FALSE;	}    	//支付系统行号	sprintf(sSqlCmd, "SELECT nbkname,sabkcode,bnkcity FROM MBFEWKDB..mbfenetbank  WHERE    nbkcode = '%s' ", struBankInfo->sBankCode); 	nResCode = clsSybCommand.GetLastRecord(sSqlCmd, 			struBankInfo->sBankName,NTBSTRINGBIND, 			struBankInfo->sSapBkCode,NTBSTRINGBIND, 			struBankInfo->sNBCityCode,NTBSTRINGBIND);    		if ( nResCode <= 0 || IsEmptyStr(struBankInfo->sSapBkCode) )	{		strcpy(sResDesc,"不存在的参与行号");				return FALSE;	}      	    		memset(sSqlCmd, '\0', sizeof(sSqlCmd));		//根据清算行号找出其对应的清算行名称/CCPC号码	sprintf(sSqlCmd, "SELECT sabkname,blccpc,bnkcity FROM MBFEWKDB..mbfesabk  WHERE  sabkcode = '%s' ", struBankInfo->sSapBkCode); 	nResCode = clsSybCommand.GetLastRecord(sSqlCmd           , 			struBankInfo->sSapBkName,NTBSTRINGBIND , 			struBankInfo->sCcpcCode,NTBSTRINGBIND  , 			struBankInfo->sSBCityCode,NTBSTRINGBIND);		if ( nResCode <= 0 || IsEmptyStr(struBankInfo->sCcpcCode) )	{		strcpy(sResDesc,"不存在的参与行号对应的清算行号");				return FALSE;	}  	strcpy(sResDesc,"已找出参与号对应的其它信息请确定!");			return TRUE;         } //获取业务类型对应关系BOOL BepsPub::GetTrxsType(char *CisTrType,char *CisReTrType,int flag){        int nResCode;	char sSqlCmd[512];		char sResDesc[255];		memset(sSqlCmd, 0, sizeof(sSqlCmd));	memset(sResDesc, 0, sizeof(sResDesc));		//获取业务类型对应关系	if( flag == MBFETOCIS )	{		sprintf(sSqlCmd,"SELECT CisTrType FROM CISTRTYPE WHERE  CisReTrType='%s'", CisReTrType);			nResCode = clsSybCommand.GetLastRecord(sSqlCmd,CisTrType,NTBSTRINGBIND);		if ( nResCode <= 0 )		{			sprintf(sResDesc,"获取业务类型对应关系[%s]失败!",CisReTrType);			return FALSE;		}	}else {		sprintf(sSqlCmd,"SELECT CisReTrType FROM CISTRTYPE WHERE  CisTrType='%s'", CisTrType);			nResCode = clsSybCommand.GetLastRecord(sSqlCmd,CisReTrType,NTBSTRINGBIND);		if ( nResCode <= 0 )		{			sprintf(sResDesc,"获取业务类型对应关系[%s]失败!",CisTrType);			return FALSE;		}	}	return TRUE;}//获取代理行机构号BOOL BepsPub::GetOprBankNo(char *BankNo,char *BankNo_D){        int nResCode;	char sSqlCmd[512];		char sResDesc[255];		memset(sSqlCmd, 0, sizeof(sSqlCmd));	memset(sResDesc, 0, sizeof(sResDesc));		//获取代理行机构号	sprintf(sSqlCmd,"SELECT BankNo_D FROM OPRBANKNO WHERE  BankNo='%s'", BankNo);		nResCode = clsSybCommand.GetLastRecord(sSqlCmd,BankNo_D,NTBSTRINGBIND);	if ( nResCode <= 0 )	{		sprintf(sResDesc,"获取代理行机构[%s]失败!",BankNo_D);		return FALSE;	}	return TRUE;}               //接收柜台服务程序BOOL BepsPub::CisServer(char *TrNo,char *RecvBuf,char *Result,char *sResDesc){	BOOL bret;	memset(sResDesc, 0, MAX_MBFE_BUFFER);			switch(atoi(TrNo+3)) 	{		//提出录入,电子信息+图象        case 100:            /*if(strlen(RecvBuf)!=1420)            {                printf("CIS100 message invalid long\n");                filelog(CIS_INTER_MB, "CIS100 message invalid long");                return FALSE;            }*/            RecvBuf+=6;            bret = TrCIS100(RecvBuf, Result, sResDesc);			break;        case 101:            /*if(strlen(RecvBuf)!=1946)            {                printf("CIS101 message invalid long\n");                filelog(CIS_INTER_MB, "CIS101 message invalid long");                return FALSE;            }*/            RecvBuf+=6;            bret = TrCIS101(RecvBuf, Result, sResDesc);            break;	case 309:	    RecvBuf+=6;            bret = TrCIS309(RecvBuf, Result, sResDesc);            break;	case 310:	    RecvBuf+=6;            bret = TrCIS310(RecvBuf, Result, sResDesc);            break;	case 602:	    RecvBuf+=6;            bret = TrCIS602(RecvBuf, Result, sResDesc);            break;	default:		sprintf(sResDesc , "非法交易码[%s]\n", TrNo);            filelog(CIS_INTER_MB, "非法交易码[%s]\n", TrNo);            return FALSE;	}	return bret;}/****************************************************************************函数说明:从收到的信息中分离出业务要素信息*输入参数:char *trxNo  :接收信息中的交易号             char *recvBuf:接收到的行内的请求信息*输出参数:MainInfo *mainInfo:保存行内请求信息中的业务要素*          *          *返回值  :TRUE :处理成功*     FALSE:处理失败*作    者:zhanglongping *日    期: 2006-09-30****************************************************************************/BOOL BepsPub::InitUserStatus(char *clientIp){	filelog(CIS_INTER_MB, "Enter BepsPub::InitUserStatus");    if(strlen(m_UserNo)<3 || strlen(m_UserName)<3)    {        filelog(CIS_INTER_MB, "This instance isn't login");        return TRUE;    }    	char sqlCmd[1024];	char db_ip[16];	memset(db_ip, 0, 16);	memcpy(db_ip, clientIp, strlen(clientIp));		memset(sqlCmd, 0, 0124);	sprintf(sqlCmd, "update CISUSER set UserStatus='0' where IpAddress='%s'",		db_ip);	BeginTrans();	if(0>=clsSybCommand.Update(sqlCmd))	{        filelog(CIS_INTER_MB, "Database operator return[%d][%s][%s]"            " at file=%s in line=%d\n", sqlca.sqlcode, sqlca.sqlerrtext,sqlCmd,            __FILE__, __LINE__);		RollbackTrans();        return FALSE;	}	CommitTrans();			filelog(CIS_INTER_MB, "Enter BepsPub::InitUserStatus");	return TRUE;}/****************************************************************************函数说明:从收到的信息中分离出业务要素信息*输入参数:char *trxNo  :接收信息中的交易号             char *recvBuf:接收到的行内的请求信息*输出参数:MainInfo *mainInfo:保存行内请求信息中的业务要素*          *          *返回值  :TRUE :处理成功*     FALSE:处理失败*作    者:zhanglongping *日    期: 2006-09-30****************************************************************************/BOOL BepsPub::PreserRevcBankInfo(char *RecvBuf, char* RecvAcc, char* RecvName,	char* strSumMoney, char* strTicketNo, char* strPicName, char* SendAcc, 	char* SendName){	filelog(CIS_INTER_MB, "Enter PreserRevcBankInfo");    if(NULL == RecvBuf || NULL == RecvAcc || NULL == RecvName 		|| NULL ==strSumMoney || NULL == strTicketNo || NULL == strPicName		|| NULL ==SendAcc || NULL == SendName)    {        filelog(CIS_INTER_MB, "Error:parameter invalid in file=%s at line=%d\n",            __FILE__, __LINE__);        return FALSE;    }	int len = 0;	char *strFind=NULL;    char *strFindEnd=NULL;	char *recvAccStart=NULL;	char *recvNameStart=NULL;	char *sumMoneyStart=NULL;	char *picNameStart=NULL;	char *sendAccStart=NULL;	char *sendNameStart=NULL;    char *ticketNoStart=NULL;		//filelog(CIS_INTER_MB, "RecvBuf=[%d][%s]", strlen(RecvBuf), RecvBuf);    //分析收款行账号	if(NULL!=(strFind=strstr(RecvBuf, ":59C:")))	{		sendAccStart=strFind+5;	}	else	{		filelog(CIS_INTER_MB, "RevcBuf is not :59C>>sendBankAcc");		return FALSE;	}	strFind+=5;	if(NULL!=(strFindEnd=strchr(strFind, ':')))	{		len = strFindEnd-sendAccStart;		memcpy(SendAcc, sendAccStart, len);	}	else	{		filelog(CIS_INTER_MB, "Tag :59C: invalid");		return FALSE;	}	strFind=NULL;    strFindEnd=NULL;    //分析收款人名称	if(NULL!=(strFind=strstr(RecvBuf, ":59A:")))	{		sendNameStart=strFind+5;	}	else	{		filelog(CIS_INTER_MB, "RevcBuf is not :59A>>sendBankName");		return FALSE;	}	strFind+=5;	if(NULL!=(strFindEnd=strchr(strFind, ':')))	{		len = strFindEnd-sendNameStart;		memcpy(SendName, sendNameStart, len);	}	else	{		filelog(CIS_INTER_MB, "Tag :59A: invalid");		return FALSE;	}	strFind=NULL;    strFindEnd=NULL;    //分析付款行账号	if(NULL!=(strFind=strstr(RecvBuf, ":D23:")))	{		recvAccStart=strFind+5;	}	else	{		filelog(CIS_INTER_MB, "RevcBuf is not :D23>>recvAcc");		return FALSE;	}	strFind+=5;	if(NULL!=(strFindEnd=strchr(strFind, ':')))	{		len = strFindEnd-recvAccStart;		memcpy(RecvAcc, recvAccStart, len);	}	else	{		filelog(CIS_INTER_MB, "Tag :D23: invalid");		return FALSE;	}	strFind=NULL;    strFindEnd=NULL;    //分析付款行名称	if(NULL!=(strFind=strstr(RecvBuf, ":D22:")))	{		recvNameStart=strFind+5;	}	else	{		filelog(CIS_INTER_MB, "RevcBuf is not :D22>>recvName");		return FALSE;	}	strFind+=5;	if(NULL!=(strFindEnd=strchr(strFind, ':')))	{		len = strFindEnd-recvNameStart;		memcpy(RecvName, recvNameStart, len);	}	else	{		filelog(CIS_INTER_MB, "Tag :D22: invalid");		return FALSE;	}	strFind=NULL;    strFindEnd=NULL;    //分析票据金额	if(NULL!=(strFind=strstr(RecvBuf, ":32A:")))	{	    sumMoneyStart = strFind+5;	}	else	{		filelog(CIS_INTER_MB, "RecvBuf is not :32A>>sumMoney");		return FALSE;	}	strFind+=5;	if(NULL!=(strFindEnd=strchr(strFind, ':')))	{		len = strFindEnd-sumMoneyStart;		memcpy(strSumMoney, sumMoneyStart+3, len-3);//去掉RMB字符	}	else	{		filelog(CIS_INTER_MB, "Tag :32A: invalid");		return FALSE;	}	strFind=NULL;    strFindEnd=NULL;	    //分析支票号码	if(NULL!=(strFind=strstr(RecvBuf, ":D01:")))	{	    ticketNoStart = strFind+5;	}	else	{		filelog(CIS_INTER_MB, "RecvBuf is not :D01>>ticketNo");		return FALSE;	}	strFind+=5;	if(NULL!=(strFindEnd=strchr(strFind, ':')))	{		len = strFindEnd-ticketNoStart;		memcpy(strTicketNo, ticketNoStart, len);	}	else	{		filelog(CIS_INTER_MB, "Tag :D01: invalid");		return FALSE;	}	strFind=NULL;    strFindEnd=NULL;        //分析支票正面文件名	if(NULL!=(strFind=strstr(RecvBuf, ":72E:")))	{	    picNameStart = strFind+5;	}	else	{		filelog(CIS_INTER_MB, "RecvBuf is not :72E>>picFrontName");		return FALSE;	}	strFind+=5;	if(NULL!=(strFindEnd=strchr(strFind, ':')))	{		len = strFindEnd-picNameStart;		memcpy(strPicName, picNameStart, len);	}	else	{		filelog(CIS_INTER_MB, "Tag :72E: invalid");		return FALSE;	}	strFind=NULL;    strFindEnd=NULL;		filelog(CIS_INTER_MB, "recvBankAcc=[%d][%s] recvBankName=[%d][%s]", 		strlen(RecvAcc), RecvAcc, strlen(RecvName), RecvName);	filelog(CIS_INTER_MB, "sumMoeny=[%d][%s] ticketNo=[%d][%s]",		strlen(strSumMoney), strSumMoney, strlen(strTicketNo), strTicketNo);	filelog(CIS_INTER_MB, "sendBankAcc=[%d][%s] sendBankName=[%d][%s]",		strlen(SendAcc), SendAcc, strlen(SendName), SendName);	filelog(CIS_INTER_MB, "fronPicName=[%d][%s]", strlen(strPicName), strPicName);		filelog(CIS_INTER_MB, "Exit PreserRevcBankInfo");	return TRUE;}/****************************************************************************函数说明:从收到的信息中分离出业务要素信息*输入参数:char *trxNo  :接收信息中的交易号             char *recvBuf:接收到的行内的请求信息*输出参数:MainInfo *mainInfo:保存行内请求信息中的业务要素*          *          *返回值  :TRUE :处理成功*     FALSE:处理失败*作    者:zhanglongping *日    期: 2006-09-30****************************************************************************/BOOL BepsPub::GetMainInfo(char *recvBuf, MainInfo *mainInfo){    filelog(CIS_INTER_MB, "Enter BepsPub::GetMainInfo\n");    if((NULL == recvBuf) || (NULL == mainInfo))    {        filelog(CIS_INTER_MB, "Error:parameter invalid in file=%s at line=%d\n",            __FILE__, __LINE__);

⌨️ 快捷键说明

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