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

📄 cispub.cpp

📁 液晶电视完整代码可实现人机界面
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		clsSybCommand.MapColumn( 2, slis413.code, NTBSTRINGBIND);		clsSybCommand.MapColumn( 3, slis413.name, NTBSTRINGBIND);		clsSybCommand.MapColumn( 4, slis413.type, NTBSTRINGBIND);		clsSybCommand.MapColumn( 5, slis413.citycode, NTBSTRINGBIND);		clsSybCommand.MapColumn( 6, slis413.effdate, NTBSTRINGBIND);		clsSybCommand.MapColumn( 7, slis413.invdate, NTBSTRINGBIND);		clsSybCommand.MapColumn( 8, slis413.alttype, NTBSTRINGBIND);		clsSybCommand.MapColumn( 9, slis413.remark, NTBSTRINGBIND);		RetFlag = clsSybCommand.GetData();		if( RetFlag )		{			memset( sSqlCmd, 0, sizeof(sSqlCmd) );			strcpy( Table, "DISCENT" );			sprintf( sSqlCmd, "DELETE FROM %s WHERE CODE='%s'",			                     Table,			                     slis413.code );			ret = DeleteCisData( Table, sSqlCmd, pRetMsg );			if( ret <= 0 )			{				printf("日切处理:删除节点信息失败![%s]\n", slis413.code );				printf( "sSqlCmd:[%s]\n", sSqlCmd );			}			memset( sSqlCmd, 0, sizeof(sSqlCmd));			sprintf( sSqlCmd, "INSERT INTO %s VALUES('%s','%s','%s','%s','%s','%s','%s','%s')",			                     Table,			                     slis413.code,			                     slis413.name,			                     slis413.type,			                     slis413.citycode,			                     slis413.effdate,			                     slis413.invdate,			                     slis413.alttype,			                     "0");			ret = SaveCisData( Table, sSqlCmd, pRetMsg);			if( ret <= 0 )			{				sprintf( pRetMsg, "日切处理:增加节点[%s]失败!\n", slis413.code );				printf( "sSqlCmd:[%s]\n", sSqlCmd );				strcpy( pRetMsg, "日切处理:增加节点失败!\n");				filelog(ERRLOG, "日切处理:增加节点失败!\tsSqlCmd:[%s]\n", sSqlCmd );				return FALSE;			}		}		else		{			if (!clsSybCommand.HasNextResultSet())			{				printf("\n");				break;			}		}		//及时删除副表记录		strcpy( Table, "DISCENT_ASS" );		memset(sSqlCmd, 0, sizeof(sSqlCmd) );		sprintf(sSqlCmd, "DELETE FROM %s WHERE WORKDATE='%s' and CODE='%s'", Table, workdate, slis413.code );		ret = DeleteCisData( Table, sSqlCmd, pRetMsg );		if ( ret <= 0 )		{			printf("删除已增加分中心付表记录失败!\n");			printf("sSqlCmd:[%s]\n", sSqlCmd );			strcpy( pRetMsg, "日切处理:删除已增加分中心付表记录失败!\n");			filelog(ERRLOG, "日切处理:删除已增加分中心付表记录失败!\tsSqlCmd:[%s]\n", sSqlCmd );			return FALSE;		}	printf("处理[%03d/%03d][%s]\n", j+1, nCount, slis413.code );	}//END FOR	printf("\r\n=========================[%02d/%02d]节点信息生效处理完成==========================\n", j,nCount);		/*************************节点失效处理**************************/		printf("\r\n=========================[节点信息失效处理]==========================\n");		nCount = 0;		strcpy( Table, "DISCENT" );		memset( sSqlCmd, 0, sizeof(sSqlCmd) );		sprintf( sSqlCmd, "SELECT count(*) FROM %s WHERE INVDATE='%s'", Table,strCis->newsysdata );		ret = clsSybCommand.GetLastRecord(sSqlCmd, &nCount , INTBIND);		if( ret <= 0 )		{			printf("查找失效节点失败nCount:[%s]\n", nCount );			printf( "sSqlCmd:[%s]\n" , sSqlCmd );			strcpy( pRetMsg, "日切处理:查找失效节点失败!\n");			filelog(ERRLOG, "日切处理:查找失效节点失败!\tsSqlCmd:[%s]\n", sSqlCmd );			return FALSE;		}		printf("日切需处理待失效节点[%d]条!\n", nCount );		char code[4+1];		for( j=0;j<nCount;i++ )		{			memset( code, 0, sizeof(code) );			memset( sSqlCmd, 0, sizeof(sSqlCmd) );			sprintf( sSqlCmd, "SELECT CODE FROM %s WHERE INVDATE='%s'", Table,strCis->newsysdata );			ret = clsSybCommand.Select(sSqlCmd);			ret = clsSybCommand.GetLastRecord(sSqlCmd, code , NTBSTRINGBIND);			if( ret<=0 )			{				memset( sSqlCmd, 0, sizeof(sSqlCmd) );				strcpy( Table, "DISCENT" );				sprintf( sSqlCmd, "DELETE FROM %s WHERE CODE='%s'", Table, code );				ret = DeleteCisData( Table, sSqlCmd, pRetMsg);				if( ret <= 0 )				{					sprintf( pRetMsg, "日切处理:删除失效节点[%s]失败!\n", code );					printf( "sSqlCmd:[%s]\n", sSqlCmd );					strcpy( pRetMsg, "日切处理:删除失效节点失败!\n");					filelog(ERRLOG, "日切处理:删除失效节点失败!\tsSqlCmd:[%s]\n", sSqlCmd );					return FALSE;				}			}			else			{				if (!clsSybCommand.HasNextResultSet())				{					printf("\n");					break;				}			}		printf("处理[%03d/%03d][%s]\n", j+1, nCount, slis413.code );		}		printf("\r\n=========================[%d]节点信息失效处理完成==========================\n", j);		/**********************节点停启运处理***********************/		printf("=========================[节点停启运处理]==========================\n");		strcpy( Table, "cis406" );		CIS406 strCis406;		memset( sSqlCmd, 0, sizeof(sSqlCmd) );		sprintf( sSqlCmd, "SELECT count(*) FROM %s WHERE EFFDATE='%s'", Table,strCis->newsysdata );		ret = clsSybCommand.GetLastRecord(sSqlCmd, &nCount , INTBIND);                if( ret < 0 )                {			printf("查找待停启运节点信息失败!\n");			printf("sSqlCmd:[%s]\n", sSqlCmd );			strcpy( pRetMsg, "日切处理:查找待停启运节点信息失败!\n");			filelog(ERRLOG, "日切处理:查找待停启运节点信息失败!\tsSqlCmd:[%s]\n", sSqlCmd );                        return FALSE;                }		char *pStr = new char[nCount*5+1];		memset( pStr, 0, nCount*5+1 );		memset( sSqlCmd, 0, sizeof(sSqlCmd) );		sprintf( sSqlCmd, "SELECT * FROM %s WHERE EFFDATE='%s'", Table,strCis->newsysdata );		ret = clsSybCommand.Select(sSqlCmd);		for( i=0; ;i++ )		{			memset( &strCis406, 0, sizeof(strCis406) );			clsSybCommand.MapColumn( 1, strCis406.predata,NTBSTRINGBIND);			clsSybCommand.MapColumn( 2, strCis406.changnode,NTBSTRINGBIND);			clsSybCommand.MapColumn( 3, strCis406.effdata,NTBSTRINGBIND);			clsSybCommand.MapColumn( 4, strCis406.changsta,NTBSTRINGBIND);			clsSybCommand.MapColumn( 5, strCis406.changetime,NTBSTRINGBIND);			clsSybCommand.MapColumn( 6, strCis406.subinfo,NTBSTRINGBIND);			RetFlag = clsSybCommand.GetData();			if( RetFlag )			{				strcat( pStr, strCis406.changnode );				strcat( pStr, strCis406.changsta );			}			else			{				if (!clsSybCommand.HasNextResultSet())				{					printf("\n");					break;				}			}		printf("处理[%d][%s]\n", i+1, strCis406.changnode );		}		for( i=0; i<nCount; i++ )		{			char code[4+1];			char stat[1+1];				memset(code, 0, sizeof(code) );			memset(stat, 0, sizeof(stat) );			memset( sSqlCmd, 0, sizeof(sSqlCmd) );			memcpy( code, pStr+i*5, 4 );			memcpy( stat, pStr+i*5+4, 1 );			strcpy( Table, "DISCENT" );			sprintf( sSqlCmd, "UPDATE %s SET STATUS='%s' WHERE CODE='%s'",					Table, stat, code);			ret = UpCisData( Table, sSqlCmd, pRetMsg);			if( ret <= 0 )			{				strcpy( pRetMsg, "日切处理:节点停启运处理失败!\n");				printf( "sSqlCmd:[%s]\n", sSqlCmd );				strcpy( pRetMsg, "日切处理:节点停启运处理失败!\n");				filelog(ERRLOG, "日切处理:节点停启运处理失败!\tsSqlCmd:[%s]\n", sSqlCmd );				return FALSE;			}		}		printf("\r\n=========================[%d]节点停启运处理完成==========================\n", nCount);		if( flag == 0 )		{			printf("\r\n========================[非停启运日切置系统状态为正常]=========================\n", i);			memset( sSqlCmd, 0, sizeof(sSqlCmd) );			memset( Table, 0, sizeof(Table) );			strcpy( Table, "login" );			sprintf( sSqlCmd,"UPDATE %s SET currsysstat='01'", Table );			ret = UpCisData(Table, sSqlCmd, pRetMsg );			if( ret <= 0 )			{				printf("日切处理:置系统状态为正常失败!\n" );				strcpy( pRetMsg, "日切处理:置系统状态为正常失败!\n");				filelog(ERRLOG, "日切处理:置系统状态为正常失败!\tsSqlCmd:[%s]\n", sSqlCmd );                                printf( "sSqlCmd:[%s]\n", sSqlCmd );                                return FALSE;			}		}	return TRUE;}//获取对帐明细信息int BepsPub::CheckDetail(LIS601 *lisCis){       	char sSqlCmd[512];	int nResCode = 0;    	int nCount = 0;	char flag[2];	memset(sSqlCmd, 0, sizeof(sSqlCmd));         	memset(flag, 0, sizeof(flag));         	if( strncmp( lisCis->lwflag , "2" ,1) == 0 )		strcpy( flag , "1");	else		strcpy( flag , "0");    	//modify by limh 0521 删除金额位判断	if( strncmp(lisCis->opetype,"100",3) == 0)		sprintf( sSqlCmd , "select count(*) from cis100 where msgtype='%s' and precativedate='%s' and recvbankno='%s' and businessno=%d",flag,lisCis->predate,lisCis->sendbank,atoi(lisCis->businessno));	else		sprintf( sSqlCmd , "select count(*) from cis101 where msgtype='%s' and precativedate='%s' and recvbankno='%s' and businessno=%d ",flag,lisCis->predate,lisCis->sendbank,atoi(lisCis->businessno));	nResCode = clsSybCommand.GetLastRecord(sSqlCmd, &nCount , INTBIND);	if( nResCode < 0 )	{		filelog("Sql.log","sSqlCmd = [%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		printf("sSqlCmd = [%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);	}	return nCount;  }    //更改对帐明细信息int BepsPub::UpDetail(LIS601 *lisCis){       	char sSqlCmd[512];	int nResCode = 0;    	char flag[2];	BeginTrans();	memset(sSqlCmd, 0, sizeof(sSqlCmd));         	memset(flag, 0, sizeof(flag));         	if( strncmp( lisCis->lwflag , "2" ,1) == 0 )		strcpy( flag , "1");	else		strcpy( flag , "0");    	if( strncmp(lisCis->opetype,"100",3) == 0)		sprintf( sSqlCmd , "update cis100 set checkstatus='01' where msgtype='%s' and precativedate='%s' and recvbankno='%s' and businessno=%d ",flag,lisCis->predate,lisCis->sendbank,atoi(lisCis->businessno));	else		sprintf( sSqlCmd , "update cis101 set checkstatus='01' where msgtype='%s' and precativedate='%s' and recvbankno='%s' and businessno=%d ",flag,lisCis->predate,lisCis->sendbank,atoi(lisCis->businessno));	nResCode = clsSybCommand.Update(sSqlCmd);	if( nResCode < 0 )	{		RollbackTrans();		filelog("Sql.log","sSqlCmd = [%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);		printf("sSqlCmd = [%d][%s][%s]\n",sqlca.sqlcode,sqlca.sqlerrtext,sSqlCmd);	}	CommitTrans();	return nResCode;  }//发送队列表入库 add by limh 0415BOOL 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 , "0CIS" , 4 );	sprintf( sMsgHeader.StartAddr,"%012s", getenv("BANKNO"));	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,		sSendData->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;}//取工作日期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;}

⌨️ 快捷键说明

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