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

📄 cispub.cpp

📁 液晶电视完整代码可实现人机界面
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		tmp[i] = sAmount[len - i - 1];	for(i = 0;i<len;i++)	{		if(tmp[i] <= '9' && tmp[i] > '0')		{		strcpy(TmpOut,&tmp[i]);		break;		}	}	sprintf( out_data , "%s%s", RMB , TmpOut);//	printf("Before = [%s] After = [%s]\n", in_data,out_data);	return 0;}//格式化金额int FormatAmount( char *in_data, char *out_data ){	char sAmount[80];	char tmp[80];	char sRMB[4];	int i,j;	printf("Enter FormatAmount....\n");	memset(sAmount,0,sizeof(sAmount));	memset(sRMB,0,sizeof(sRMB));	memset(tmp,0,sizeof(tmp));	strncpy(sRMB,in_data,3);	strcpy(tmp,in_data+3);	for(i = 0,j = 0; tmp[i] ; i++,j++) 	{		if(tmp[i] == ','||tmp[i]=='.')			i++;		sAmount[j]=tmp[i];	}	sprintf(out_data,"%s%015s",sRMB,sAmount);	printf("Before = [%s] After = [%s]\n", in_data,out_data);		return 0;}int ChangeAmount( char *message,char *CmtNo,int flag){	//modify by limh 0620 格式化金额项+++++++++++++++++	char Head[2048],Tail[5*1024],Amount[30];	char Tag[10]; 	char *Begin = NULL;	char *End = NULL;	memset( Tag,0, sizeof(Tag));	memset( Head, 0 ,sizeof(Head));	memset( Tail, 0 ,sizeof(Tail));	memset( Amount, 0 ,sizeof(Amount));	switch( atoi(CmtNo)){		case 100:		case 101:			strcpy( Tag , ":32A:");			break;		case 301:		case 309:			strcpy( Tag , ":CND:");			break;		default:			break;	}	Begin = strstr(message , Tag);	End = strstr(Begin+6 , ":");	memcpy( Head , message, Begin - &message[0]);	memcpy( Amount , Begin+5, End - Begin-5);	strcpy( Tail , End);	char AmountTmp[100];	if( flag == 0)		FormatAmount(Amount,AmountTmp);	else		GetAmount(Amount,AmountTmp);	sprintf( message,"%s%s%s%s",Head,Tag,AmountTmp,Tail);//	printf("Head = [%s]\n", Head);//	printf("Tag = [%s]\n", Tag);//	printf("Amount = [%d][%s][%s]\n", flag,Amount,AmountTmp);//	printf("Tail = [%s]\n", Tail);	//modify by limh 0620 格式化金额项+++++++++++++++++	return 0;}//发送队列表入库BOOL BepsPub::SaveSendData(SENDDATA *sSendData , char *Add,char *BankNo,char *sResDesc ){	int nCisId = 0;	char sSqlCmd[500*1024];	char Head[1024],Text[4096],Tail[100];	char Len[10];	MsgHeader sMsgHeader;	memset( Head , 0 , sizeof( Head ));	memset( Text , 0 , sizeof( Text ));	memset( Tail , 0 , sizeof( Tail ));	memset( Len , 0 , sizeof( Len ));	sprintf( Tail , "{C:                                }");	memset( &sMsgHeader , 0 , sizeof(MsgHeader));	if (!MakeTrxsSerialNo(&nCisId,sResDesc,CISID))	{		return FALSE;	}	char WorkDate[9];	memset( WorkDate , 0 , sizeof( WorkDate ));	GetWorkDate(WorkDate);	memcpy( sMsgHeader.VerId , "0" , 1);	memcpy( sMsgHeader.AppTradeCode , "4" , 1);	memcpy( sMsgHeader.CMT_No , sSendData->msgid + 3 , 3);	memcpy( sMsgHeader.reserv , " CIS" , 4 );	sprintf( sMsgHeader.StartAddr,"%012s", getenv("BANKNO"));//	sprintf( sMsgHeader.DestAddr , "%12s",BankNo);//	sprintf( sMsgHeader.DestAddr , "%s","4519        ");	sprintf( sMsgHeader.DestAddr,"%-12s", getenv("CENTER"));	//printf("sMsgHeader.DestAddr = [%s]\n", sMsgHeader.DestAddr );	sprintf( sMsgHeader.MesgID , "%020d",nCisId);	sprintf( sMsgHeader.MesgReqNo , "%020d",nCisId);	memcpy( sMsgHeader.WorkDate , WorkDate , 8);	sprintf( Head , "{1:%01s%06s%01s%03s%04s%012s%12s%01s%01s%020s%020s%08s%014s%04s%06s%01s%020s}",		sMsgHeader.VerId,		sMsgHeader.MsgLen,		sMsgHeader.AppTradeCode,		sMsgHeader.CMT_No,		sMsgHeader.reserv,		sMsgHeader.StartAddr,		sMsgHeader.DestAddr,		sMsgHeader.MesgPurp,		sMsgHeader.OutForm,		sMsgHeader.MesgID,		sMsgHeader.MesgReqNo,		sMsgHeader.WorkDate,		sMsgHeader.SentTime,		sMsgHeader.ExpTime,		sMsgHeader.DelTime,		sMsgHeader.MesgPri,		sMsgHeader.Reserve);	sprintf( Text , "%s{3:%s%s}%s", Head, sSendData->msgcontent,Add,Tail);	sprintf(Len,"%06d", strlen(Text));	memcpy( Text + 4 , Len , 6); 	//printf("+++++++++++Head = [%d][%s]\n", strlen(Head), Head );//	printf("+++++++++++Text = [%d][%s]\n", strlen(Text), Text );	sSendData->dataidx = nCisId;	strcpy( sSendData->doflag , "0");	memset( sSqlCmd , 0 , sizeof( sSqlCmd ));	sprintf( sSqlCmd, "insert into %s values(%d,'%s','%s','%s','%s','%s')",			"send_data",		sSendData->dataidx,		sSendData->orgno,		WorkDate,		sSendData->doflag,		sSendData->msgid,		Text);	if( 0 >= clsSybCommand.Insert(sSqlCmd) )	{        	filelog(CIS_SRV_LOG, "Insert into send_data error [%d][%s][%s]"            " at file=%s in line=%d\n", sqlca.sqlcode, sqlca.sqlerrtext,sSqlCmd,            __FILE__, __LINE__);        return FALSE;	}	return TRUE;}BepsPub::BepsPub(){	memset(m_UserNo, 0, 11);	memset(m_UserName, 0, 21);	memset(m_UserOrgNo, 0, 13);	memset(m_UserIpAddr, 0, 16);}//开始事务            void BepsPub::BeginTrans(){	m_clsSybServer.BeginTrans();}//提交事务void BepsPub::CommitTrans(){	m_clsSybServer.CommitTrans();}//回滚事务void BepsPub::RollbackTrans(){	m_clsSybServer.RollbackTrans();}//获取支付交易序号char *BepsPub::getSerialNo(char type){   	static char sSerial[20];	char sqlCmd[512];	int serialNo = 0;	memset(sqlCmd, 0, sizeof(sqlCmd));	sprintf(sqlCmd, "update cisserno set dataid=dataid+1 where sertype='%c'", type);	if(0>=clsSybCommand.Update(sqlCmd))	{        printf("Error update SQL=[%d][%s]", strlen(sqlCmd), sqlCmd);        return NULL;	}	memset(sqlCmd, 0, sizeof(sqlCmd));	sprintf(sqlCmd,"SELECT dataid FROM cisserno WHERE sertype='%c'",type);		if(0>=clsSybCommand.GetLastRecord(sqlCmd, &serialNo , INTBIND))	{        printf("Error update SQL=[%d][%s]", strlen(sqlCmd), sqlCmd);        return NULL;	}    //	printf("select serial:%ld, :%s\n",serialNo, sqlCmd);		if(type == '3')	{		if(serialNo >= 100000000)		{			serialNo = 10000000;			if(0>=clsSybCommand.Update("update cisserno set dataid=10000000 where rtype='3'"))			{			printf("Error update SQL=[%d][%s]", strlen(sqlCmd), sqlCmd);			return NULL;			}		}	}	else if(type == '4')	{		if(serialNo >= 10000)		{			serialNo = 1000;			if(0>=clsSybCommand.Update("update cisserno set dataid=1000 where sertype='4'"))			{			printf("Error update SQL=[%d][%s]", strlen(sqlCmd), sqlCmd);			return NULL;			}		}	}	    	memset(sSerial, 0, sizeof(sSerial));//	printf("serial:%d\n",serialNo );	sprintf(sSerial, "%d", serialNo);	return sSerial;}//取工作日期BOOL BepsPub::GetWorkDate(char *WorkDate){        int nResCode;	char sSqlCmd[512];			memset(sSqlCmd, '\0', sizeof(sSqlCmd));		//获取系统控制表的参数	sprintf(sSqlCmd,"SELECT currsysdate FROM login" );		nResCode = clsSybCommand.GetLastRecord(sSqlCmd,WorkDate,NTBSTRINGBIND);	if ( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "GetWorkDate=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		return FALSE;	}	return TRUE;}//获取系统参数表配置BOOL BepsPub::GetConfig(char *ConFlag, char *tag){	char sqlCmd[1024];	memset(sqlCmd, 0, sizeof(sqlCmd));	sprintf(sqlCmd, "select parvalue from syspara where parcode='%s'", tag );	int ret = clsSybCommand.GetLastRecord(sqlCmd, ConFlag, NTBSTRINGBIND );	if ( ret <= 0 )	{		filelog(CIS_SRV_LOG, "GetOrgInfo=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sqlCmd);		return FALSE;	}	return TRUE;}///////////////////////////////////////////////////////////////取机构信息BOOL BepsPub::GetOrgInfo(const char *orgno, ORGINFO *sOrgInfo){        int nResCode;	char sSqlCmd[512];			memset(sSqlCmd, 0, sizeof(sSqlCmd));		//获取机构信息	sprintf(sSqlCmd,"SELECT * FROM orginfo where orgno='%s'",orgno );		nResCode = clsSybCommand.GetLastRecord(sSqlCmd,		sOrgInfo->orgno,NTBSTRINGBIND,		sOrgInfo->orgcode,NTBSTRINGBIND,		sOrgInfo->orgname,NTBSTRINGBIND,		sOrgInfo->orglevel,NTBSTRINGBIND,		sOrgInfo->orgremark,NTBSTRINGBIND,		sOrgInfo->orgstatus,NTBSTRINGBIND);//	printf("机构码       = [%s]\n", sOrgInfo->orgno);//	printf("行内机构代码 = [%s]\n", sOrgInfo->orgcode);//	printf("机构名称     = [%s]\n", sOrgInfo->orgname);//	printf("机构级别     = [%s]\n", sOrgInfo->orglevel);//	printf("机构说明     = [%s]\n", sOrgInfo->orgremark);//	printf("机构状态     = [%s]\n", sOrgInfo->orgstatus);	if ( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "GetOrgInfo=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		return FALSE;	}	return TRUE;}//获取用户信息 BOOL BepsPub::GetUserInfo(const char *UserNo, USERINFO *sUserInfo){        int nResCode;	char sSqlCmd[512];			memset(sSqlCmd, 0, sizeof(sSqlCmd));		//获取机构信息	sprintf(sSqlCmd,"SELECT * FROM userinfo where userno='%s'",UserNo );		nResCode = clsSybCommand.GetLastRecord(sSqlCmd,		sUserInfo->orgno,NTBSTRINGBIND,		sUserInfo->userno,NTBSTRINGBIND,		sUserInfo->username,NTBSTRINGBIND,		sUserInfo->userpwd,NTBSTRINGBIND,		sUserInfo->usertype,NTBSTRINGBIND,		sUserInfo->userpermission,NTBSTRINGBIND,		sUserInfo->userstatus,NTBSTRINGBIND,		sUserInfo->userip,NTBSTRINGBIND,		sUserInfo->remark,NTBSTRINGBIND);	if ( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "GetUserInfo=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		return FALSE;	}	return TRUE;}//获取票交机构信息BOOL BepsPub::GetBillInfo(const char *billno, BILLINFO *sBillInfo){        int nResCode;	char sSqlCmd[1024];			memset(sSqlCmd, 0, sizeof(sSqlCmd));		//获取票交机构信息	sprintf(sSqlCmd,"SELECT * FROM BILLORG where BILLORGCODE='%s'",billno);		nResCode = clsSybCommand.GetLastRecord(sSqlCmd,		sBillInfo->BILLORGCODE,  NTBSTRINGBIND,		sBillInfo->BILLBANKTYPE, NTBSTRINGBIND,		sBillInfo->BILLORGTYPE,  NTBSTRINGBIND,		sBillInfo->BANKCODE,     NTBSTRINGBIND,		sBillInfo->OPTBANK,      NTBSTRINGBIND,		sBillInfo->OPTBANKINVDAT,NTBSTRINGBIND,		sBillInfo->SUPRLIST,     NTBSTRINGBIND,		sBillInfo->CENTCODE,     NTBSTRINGBIND,		sBillInfo->BILLCODE,     NTBSTRINGBIND,		sBillInfo->CITYCODE,     NTBSTRINGBIND,		sBillInfo->BANKNAME,     NTBSTRINGBIND,		sBillInfo->SIMNAME,      NTBSTRINGBIND,		sBillInfo->BANKADDR,     NTBSTRINGBIND,		sBillInfo->TEL,          NTBSTRINGBIND,		sBillInfo->LINKMAN,      NTBSTRINGBIND,		sBillInfo->POSTCODE,     NTBSTRINGBIND,		sBillInfo->EMAIL,        NTBSTRINGBIND,		sBillInfo->EFFDATE,      NTBSTRINGBIND,		sBillInfo->ALTTYPE,      NTBSTRINGBIND,		sBillInfo->REMARK,       NTBSTRINGBIND);	if ( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "GetBillInfo=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		return FALSE;	}	return TRUE;}//检查机构信息合法性BOOL BepsPub::CheckBillInfo(const char *orgno, int Type){        int nResCode;	char sSqlCmd[1024];		int nCount = 0;	char TmpSql[20];	char Table[30];	memset( Table , 0 ,sizeof( Table ));	memset( TmpSql , 0 , sizeof( TmpSql ));		memset(sSqlCmd, 0, sizeof(sSqlCmd));	if( Type == BILLORG ) //票交机构代码	{		strcpy( TmpSql , "BILLORGCODE");		strcpy( Table , "BILLORG");	}	if( Type == BILLENROL ) //票交所登记表	{		strcpy( TmpSql , "BILLCODE");		strcpy( Table , "BILLENROL");	}	if( Type == BANKTYPE ) //行号类别表	{		strcpy( TmpSql , "CODE");		strcpy( Table , "BANKTYPE");	}	if( Type == DISCENT ) //分中心主表	{		strcpy( TmpSql , "CODE");		strcpy( Table , "DISCENT");	}	if( Type == CITYENROL ) //城市登记表	{		strcpy( TmpSql , "CODE");		strcpy( Table , "CITYENROL");	}	sprintf(sSqlCmd,"SELECT count(*) FROM %s where %s='%s'",Table,TmpSql,orgno);	//	printf("CheckBillInfo = [%s]\n", sSqlCmd );	nResCode = clsSybCommand.GetLastRecord(sSqlCmd, &nCount, INTBIND);	if ( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "GetBillInfo=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		printf("CheckBillInfo=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		return FALSE;	}	if( nCount <= 0 )		return FALSE;	return TRUE;}///////////////////////////////////////////////////////////////根据参数代码获取系统控制参数BOOL BepsPub::GetSysCtlPar(char *sParCode,char *sParValue,char *sResDesc){	int nResCode;	char sSqlCmd[512];			memset(sSqlCmd, '\0', sizeof(sSqlCmd));		//获取系统控制表的参数	sprintf(sSqlCmd,"SELECT parvalue FROM CISCONCTL WHERE  parcode='%s'", sParCode);		nResCode = clsSybCommand.GetLastRecord(sSqlCmd,sParValue,NTBSTRINGBIND);	if ( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "GetSysCtlPar=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		sprintf(sResDesc,"获取系统参数[%s]失败!",sParCode);		return FALSE;	}	return TRUE;}//根据参数代码获取系统控制参数BOOL BepsPub::GetCisSysCtlPar(char *sParCode,char *sParValue,char *sResDesc){    int nResCode;	char sSqlCmd[512];			memset(sSqlCmd, '\0', sizeof(sSqlCmd));		//获取系统控制表的参数	sprintf(sSqlCmd,"SELECT parvalue FROM syspara WHERE  parcode='%s'", sParCode);		nResCode = clsSybCommand.GetLastRecord(sSqlCmd,sParValue,NTBSTRINGBIND);	if ( nResCode <= 0 )	{		filelog(CIS_SRV_LOG, "GetSysCtlPar=[%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);//		sprintf(sResDesc,"获取系统参数[%s]失败!",sParCode);		return FALSE;	}	return TRUE;}//修改系统控制参数

⌨️ 快捷键说明

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