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

📄 cispub.cpp

📁 液晶电视完整代码可实现人机界面
💻 CPP
📖 第 1 页 / 共 5 页
字号:
BOOL BepsPub::MdySysCtlPar(char *sParCode,char *sParValue,char *sResDesc){		int     nResCode;	char 	sSqlCmd[512];		memset(sSqlCmd, '\0', sizeof(sSqlCmd));		//修改系统控制表的参数    		sprintf(sSqlCmd,    "UPDATE CISCONCTL SET parvalue = '%s' WHERE  parcode ='%s' ", sParValue,sParCode);	nResCode = clsSybCommand.Update(sSqlCmd);	if ( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "MdySysCtlPar=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		sprintf(sResDesc,"修改系统参数[%s][%s]失败!",sParCode,sParValue);		return FALSE;	}	return TRUE;	}//产生业务序列序号BOOL BepsPub::MakeTrxsSerialNo(int *SerialNo,char *sResDesc,char *SerType){       	filelog(CIS_SRV_LOG, "Enter BepsPub::MakeTrxsSerialNo\n");		char sSqlCmd[512];	int nResCode = 0;    	int nSerialNo;		memset(sSqlCmd, 0, sizeof(sSqlCmd));         	sprintf(sSqlCmd,"SELECT dataid FROM cisserno WHERE sertype='%s'",SerType);	nResCode = clsSybCommand.GetLastRecord(sSqlCmd,&nSerialNo , INTBIND);	if( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "MakeTrxsSerialNo = [%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		sprintf(sResDesc,"获取业务序列号[%s]失败!",SerType);		return FALSE;	}		*SerialNo = nSerialNo;	if( nSerialNo == 99999999 )	{		nSerialNo = 1;	}	else	{		nSerialNo += 1;	}	memset(sSqlCmd, '\0', sizeof(sSqlCmd));         	sprintf(sSqlCmd, "UPDATE cisserno SET dataid = %d WHERE sertype='%s'",		nSerialNo ,SerType);	nResCode = clsSybCommand.Update(sSqlCmd);	if( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "MakeTrxsSerialNo = [%d][%s][%s]\n",sqlca.sqlcode,			sqlca.sqlerrtext,sSqlCmd);		sprintf( sResDesc , "更改业务序列号[%s]失败!",SerType);		return FALSE;	}	filelog(CIS_SRV_LOG, "Exit BepsPub::MakeTrxsSerialNo\n");	return TRUE;  }    //获取系统时间BOOL GetSysTime(char *Time ){	struct  timeval ct;	struct  tm ttm;	struct  timezone zone;	gettimeofday(&ct, &zone);	localtime_r(&(ct.tv_sec), &ttm);	if (ttm.tm_year >= 70)		ttm.tm_year = ttm.tm_year + 1900;	else		ttm.tm_year = ttm.tm_year + 2000;	ttm.tm_mon = ttm.tm_mon + 1;	sprintf( Time , "%04d-%02d-%02d %02d:%02d:%02d" , ttm.tm_year, ttm.tm_mon,\		ttm.tm_mday,ttm.tm_hour,ttm.tm_min,ttm.tm_sec);	return 0;}  //获取系统日期 BOOL GetSysData(char *Data ){	struct  timeval ct;	struct  tm ttm;	struct  timezone zone;	gettimeofday(&ct, &zone);	localtime_r(&(ct.tv_sec), &ttm);	if (ttm.tm_year >= 70)		ttm.tm_year = ttm.tm_year + 1900;	else		ttm.tm_year = ttm.tm_year + 2000;	ttm.tm_mon = ttm.tm_mon + 1;	sprintf( Data , "%04d%02d%02d" , ttm.tm_year, ttm.tm_mon,ttm.tm_mday);	return 0;}  //int BepsPub::ReadFile(const char *FilePath,char *Buff,int BuffLen){        /*FILE *stream = NULL;    int len = 0;*/    filelog(CIS_SRV_LOG, "Enter BepsPub::ReadFile\n");    if(NULL == FilePath || NULL == Buff || 0>= BuffLen)    {        filelog(CIS_SRV_LOG, "Error invalid parameter in file=[%d][%s]\n", __LINE__, __FILE__);        return false;    }    memcpy(Buff, "9899327493214732943219432", strlen("9899327493214732943219432"));    return true;/*  filelog(CIS_SRV_LOG, "Start open file=[%s]\n", FilePath);    if( (stream = fopen( FilePath, "r" )) != NULL )    {          len=fread( Buff, sizeof(char), BuffLen-1, stream );        if(len==BuffLen-1||len<=0)        {            filelog(CIS_SRV_LOG, "Error read len invalid len=[%d] from file=[%s]\n", len, FilePath);        	fclose(stream);            return false;        }        fclose( stream );        filelog(CIS_SRV_LOG, "Success read=[%d] bytes from file=[%s]", len, FilePath);        return true;    }    else    {        filelog(CIS_SRV_LOG, "Error open file=[%s] failed\n", FilePath);        return false;    }    filelog(CIS_SRV_LOG, "Exit BepsPub::ReadFile\n");    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){        TCnapsTagMML *pTagmml=NULL;    pTagmml = new TCnapsTagMML();    if(NULL == pTagmml)    {        filelog(CIS_SRV_LOG, "Allocate memory failed");        exit(0);    }	memset(sResDesc, 0, MAX_MBFE_BUFFER);	strcpy(sResDesc, "{Head:}{Body:Msg:");//	printf("解析报文....\n");	pTagmml->mmlInfo = RecvBuf;	pTagmml->mmlInfoLen = strlen(RecvBuf);	if(FALSE==pTagmml->parserMmlcmd())	{        	//filelog(CIS_SRV_LOG, "Parser mml failed");        	strcat(sResDesc, "0001 解析报文失败");        	delete pTagmml;        	if(strlen(sResDesc)>0)        	{            		strcat(sResDesc, ":}");        	}        	return FALSE;		//goto RET;	}//	printf("解析报文成功\n");	char tranNo[20];	memset(tranNo, 0, 20);	if(false == pTagmml->getParaValue(MML_CONTTYPE_HEAD, ":TranNo:", tranNo))	{		//failed!		strcat(sResDesc, "0002 缺少交易码");        	if(strlen(sResDesc)>0)        	{            		strcat(sResDesc, ":}");        	}        	delete pTagmml;        	return FALSE;		//goto RET;	}//	printf("tranNo:%s\n", tranNo);		switch(atoi(tranNo)) 	{///////////////////////登陆管理////////////////////////////////        case 10810:	//自由格式授权            Tr10810(RecvBuf, Result, sResDesc, pTagmml);			break;	case 10811:	//柜员登录影像系统交易		Tr10811(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10841:	//用户退出		Tr10841(RecvBuf, Result, sResDesc, pTagmml);		break;/*	case 10812:		Tr10812(RecvBuf, Result, sResDesc, pTagmml);		break;*/	case 10813:	//用户修改密码 		Tr10813(RecvBuf, Result, sResDesc, pTagmml);		break;///////////////////////菜单管理//////////////////////////////////	case 10822:		Tr10822(RecvBuf, Result, sResDesc, pTagmml);		break;///////////////////////机构代码管理///////////////////////////////        case 10831:	//增加机构码		Tr10831(RecvBuf, Result, sResDesc, pTagmml);		break;        case 10832:	//修改机构码		Tr10832(RecvBuf, Result, sResDesc, pTagmml);		break;        case 10833:	//机构码查询		Tr10833(RecvBuf, Result, sResDesc, pTagmml);		break;///////////////////////用户管理/////////////////////////////////           	case 10801:	//增加用户		Tr10801(RecvBuf, Result, sResDesc, pTagmml);		break;        case 10802:	//修改用户信息		Tr10802(RecvBuf, Result, sResDesc, pTagmml);		break;        case 10803:	//授权用户		Tr10803(RecvBuf, Result, sResDesc, pTagmml);		break;        case 10804:	//注销用户		Tr10804(RecvBuf, Result, sResDesc, pTagmml);		break;        case 10807:	//解锁用户		Tr10807(RecvBuf, Result, sResDesc, pTagmml);		break;/*	case 10805:		Tr10805(RecvBuf, Result, sResDesc, pTagmml);		break;*/        case 10806:	//查询用户 		Tr10806(RecvBuf, Result, sResDesc, pTagmml);		break;			///////////////////////支票业务//////////////////////////////////////////	case 10001:	//业务录入		Tr10001(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10000:	//业务查询		Tr10000(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10002:	//业务修改		Tr10002(RecvBuf, Result, sResDesc, pTagmml);		break;/*	case 10003:	//业务复核		Tr10003(RecvBuf, Result, sResDesc, pTagmml);		break;*//*	case 10006:	//数字核签		Tr10006(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10007:	//业务验印		Tr10007(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10017:	//业务验印复核		Tr10017(RecvBuf, Result, sResDesc, pTagmml);		break;*/	case 10004:	//业务复核提出		Tr10004(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10008:	//来帐初次审核		Tr10008(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10018:	//来帐复核		Tr10018(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10009:	//业务明细查询		Tr10009(RecvBuf, Result, sResDesc, pTagmml);		break;//////////////////////通用业务///////////////////////////////////	case 10100:	//业务查询		Tr10100(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10101:	//业务录入			Tr10101(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10102:	//业务修改		Tr10102(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10103:	//业务复核		Tr10103(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10104:	//业务提出		Tr10104(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10106:	//业务核押		Tr10106(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10107:	//业务验印		Tr10107(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10108:		Tr10108(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10109:	//明细查询		Tr10109(RecvBuf, Result, sResDesc, pTagmml);		break;////////////////////////信息管理////////////////////////////////////////	case 10300:	//发起查询报文		Tr10300(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10301:	//查询查询报文		//Tr10301(RecvBuf, Result, sResDesc, pTagmml);		Tr13333(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10302:	//查复报文		Tr10302(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10303:	//自由格式报文		Tr10303(RecvBuf, Result, sResDesc, pTagmml);		break;	case 30301:	//查询自由格式报文		Tr30301(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10304:	//业务状态查询报文录入		Tr10304(RecvBuf, Result, sResDesc, pTagmml);		break;	case 30401:	//业务状态查询报文查询		Tr30401(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10306:	//违规支票上载报文		Tr10306(RecvBuf, Result, sResDesc, pTagmml);		break;	case 30601:	//违规支票上载报文查询		Tr30601(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10309:	//止付报文录入		Tr10309(RecvBuf, Result, sResDesc, pTagmml);		break;	case 30901:	//止付报文查询		Tr30901(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10310:	//止付应答报文录入		Tr10310(RecvBuf, Result, sResDesc, pTagmml);		break;///////////////////////////////////////////////////////////////////	case 10843:	//发送队列表管理消息的处理函数		Tr10843(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10844:	//接收队列表管理消息的处理函数		Tr10844(RecvBuf, Result, sResDesc, pTagmml);		break;	case 10201:	//业务计费清单查询消息的处理函数		Tr10201(RecvBuf, Result, sResDesc, pTagmml);		break;    case 20000:	//图象关联		Tr20000(RecvBuf, Result, sResDesc, pTagmml);		break;    case 20001:	//CIS业务修改		Tr20001(RecvBuf, Result, sResDesc, pTagmml);		break;    case 30402:	//发起登陆报文		Tr30402(RecvBuf, Result, sResDesc, pTagmml);		break;    case 30403:	//退出登陆申请		Tr30403(RecvBuf, Result, sResDesc, pTagmml);		break;	 case 30504:	//展现权限公共数据变更		Tr30504(RecvBuf, Result, sResDesc, pTagmml);		break;	//add by hanyun 处理前台查询系统登陆状态,分中心登陆状态,当前工作日期	case 30404:	//查询系统状态、工作日期、登录状态		Tr30404(RecvBuf, Result, sResDesc);

⌨️ 快捷键说明

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