📄 cispub.cpp
字号:
break; //查询票面审核代码 case 30405: Tr30405(RecvBuf, Result, sResDesc); break; case 30501: //展现其他节点信息 Tr30501(RecvBuf, Result, sResDesc); break; case 30502: //查询公共信息 Tr30502(RecvBuf, Result, sResDesc); break; case 30503: //业务权限查询 Tr30503(RecvBuf, Result, sResDesc); break; // add end default: strcat(sResDesc , "0001 非法交易码 "); strcat(sResDesc, tranNo); filelog(CIS_SRV_LOG, "0001 非法交易码[%s]\n", tranNo); break; }//RET: delete pTagmml; if(strlen(sResDesc)>0) { strcat(sResDesc, ":}"); } return TRUE;}/******************************************************** *函数说明 add by hanyun *从login表中查询currsysdate logstatus currsysstat ********************************************************/BOOL BepsPub::Tr30404(char *RecvBuf , char *Result,char *sResDesc){ filelog(CIS_SRV_LOG, "\nEnter Tr30404::查询系统状态,工作日期,登陆状态\n"); if(NULL == RecvBuf || NULL == Result || NULL == sResDesc) { filelog(CIS_SRV_LOG, "Error:parameter invalid in file=%s at line=%d\n", __FILE__, __LINE__); strcpy(Result, "002"); strcpy(sResDesc, "参数非法"); return FALSE; } //定义保存数据库查询结果的变量 char currsysdate[9]; char logstatus[2+1]; char currsysstat[2+1]; char slogstatus[50]; char scurrsysstat[50]; //int count=0; int sumCount=0; //int retCount=0; int totalLen=0; char sqlCmd[1024]; memset(sqlCmd, 0, sizeof(sqlCmd)); sprintf(sqlCmd, "select currsysdate, logstatus, currsysstat, b.code_desc,c.code_desc from login a,sys_code b ,sys_code c where a.logstatus*=b.code_value and b.table_name='login_status' and a.currsysstat*=c.code_value and c.table_name='sys_status'"); filelog(CIS_SRV_LOG, "sqlCmd=[%d][%s]\n", strlen(sqlCmd), sqlCmd); clsSybCommand.Select(sqlCmd); strcpy(Result, "{Body:ColumnName:[currsysdate|logstatus|currsysstat]:ColumnValue:"); for(int i=0;i<1 ; i++) { // printf("\ni=[%d]",i); if(totalLen >= MAX_MBFE_BUFFER-79-HEADLEN) { filelog(CIS_SRV_LOG, "Query data is too big and break"); break; } memset(currsysdate, 0, 9); memset(logstatus, 0, 3); memset(currsysstat, 0, 3); memset(slogstatus, 0, 50); memset(scurrsysstat, 0, 50); clsSybCommand.MapColumn( 1, currsysdate, NTBSTRINGBIND); clsSybCommand.MapColumn( 2, logstatus, NTBSTRINGBIND); clsSybCommand.MapColumn( 3, currsysstat, NTBSTRINGBIND); clsSybCommand.MapColumn( 4, slogstatus, NTBSTRINGBIND); clsSybCommand.MapColumn( 5, scurrsysstat, NTBSTRINGBIND); int retCode=clsSybCommand.GetData(); if(retCode > 0) { strcat(Result, "["); strcat(Result, currsysdate); strcat(Result, "|"); strcat(Result, logstatus); strcat(Result, " "); strcat(Result, slogstatus); strcat(Result, "|"); strcat(Result, currsysstat); strcat(Result, " "); strcat(Result, scurrsysstat); strcat(Result, "]"); sumCount++; totalLen=strlen(Result);// printf("Result=[%s]",Result); sumCount++; } else { if (!clsSybCommand.HasNextResultSet()) { filelog(CIS_SRV_LOG, "Get total=%d record\n", sumCount); filelog(CIS_SRV_LOG, "Database operator return[%d][%s]" " at file=%s in line=%d\n", sqlca.sqlcode, sqlca.sqlerrtext, __FILE__, __LINE__); break; } } } if(sumCount == 0) { strcpy(Result, "002"); strcpy(sResDesc, "没有对应的业务"); return FALSE; } filelog(CIS_SRV_LOG, "Get main info set is:%s\n", sResDesc); filelog(CIS_SRV_LOG, "Exit 30404::查询工作日期等\n"); strcat(Result, ":}"); return TRUE;}/* add by hanyun over 处理前台查询工作日期,登陆状态等*//*********************函数说明 add by hanyun*从DISCENT表中查询所有节点信息*///检查当前系统状态,判断是否可以发起业务BOOL BepsPub::CheckLoginInfo(char *sResDesc){ char sqlCmd[1024]; int nResCode = 0; LOGININFO sLoginInfo; memset( &sLoginInfo , 0 , sizeof( LOGININFO )); memset(sqlCmd, 0, sizeof(sqlCmd)); sprintf(sqlCmd, "select oldidflag,newidflag,currsysdate,logstatus,currsysstat from login"); nResCode = clsSybCommand.GetLastRecord(sqlCmd, sLoginInfo.oldidflag,NTBSTRINGBIND, sLoginInfo.newidflag,NTBSTRINGBIND, sLoginInfo.currsysdate,NTBSTRINGBIND, sLoginInfo.logstatus,NTBSTRINGBIND, sLoginInfo.currsysstat,NTBSTRINGBIND); if ( nResCode <= 0 ) { sprintf(sResDesc,"获取登陆信息失败!"); return FALSE; }// printf("sLoginInfo.logstatus = [%s]\n", sLoginInfo.logstatus); if( strncmp( sLoginInfo.logstatus , "01" ,2) != 0 ) { sprintf(sResDesc,"当前状态未登陆,不能发起业务!"); return FALSE; }// printf("sLoginInfo.currsysstat = [%s]\n", sLoginInfo.currsysstat); if( strncmp( sLoginInfo.currsysstat , "01" ,2) != 0 ) { sprintf(sResDesc,"当前系统状态停运,故障或者日切,不能发起业务!"); return FALSE; } return TRUE;}//查询票面审核代码BOOL BepsPub::Tr30405(char *RecvBuf , char *Result,char *sResDesc){ filelog(CIS_SRV_LOG, "\nEnter Tr30405::查询票面审核代码\n"); if(NULL == RecvBuf || NULL == Result || NULL == sResDesc) { filelog(CIS_SRV_LOG, "Error:parameter invalid in file=%s at line=%d\n", __FILE__, __LINE__); strcpy(Result, "002"); strcpy(sResDesc, "参数非法"); return FALSE; } //定义保存数据库查询结果的变量 char code[9]; char code_name[50]; memset(code, 0, 9); memset(code_name, 0, 50); //int count=0; int sumCount=0; //int retCount=0; int totalLen=0; char sqlCmd[1024]; memset(sqlCmd, 0, sizeof(sqlCmd)); sprintf(sqlCmd, "select parval,pardesc from returncode where parcode='01'"); filelog(CIS_SRV_LOG, "sqlCmd=[%d][%s]\n", strlen(sqlCmd), sqlCmd); clsSybCommand.Select(sqlCmd); strcpy(Result, "{Body:ColumnName:[code|code_name]:ColumnValue:"); for(int i=0;; i++) { // printf("\ni=[%d]",i); if(totalLen >= MAX_MBFE_BUFFER-79-HEADLEN) { filelog(CIS_SRV_LOG, "Query data is too big and break"); break; } memset(code, 0, 9); memset(code_name, 0, 50); clsSybCommand.MapColumn( 1, code, NTBSTRINGBIND); clsSybCommand.MapColumn( 2, code_name, NTBSTRINGBIND); int retCode=clsSybCommand.GetData(); if(retCode > 0) { strcat(Result, "["); strcat(Result, code); strcat(Result, "|"); strcat(Result, code_name); strcat(Result, "]"); sumCount++; totalLen=strlen(Result);// printf("Result=[%s]",Result); sumCount++; } else { if (!clsSybCommand.HasNextResultSet()) { filelog(CIS_SRV_LOG, "Get total=%d record\n", sumCount); filelog(CIS_SRV_LOG, "Database operator return[%d][%s]" " at file=%s in line=%d\n", sqlca.sqlcode, sqlca.sqlerrtext, __FILE__, __LINE__); break; } } } if(sumCount == 0) { strcpy(Result, "002"); strcpy(sResDesc, "没有对应的业务"); return FALSE; } filelog(CIS_SRV_LOG, "Get main info set is:%s\n", sResDesc); filelog(CIS_SRV_LOG, "Exit 30405::查询状态代码\n"); strcat(Result, ":}"); return TRUE;}//展现其他节点信息BOOL BepsPub::Tr30501(char *RecvBuf , char *Result,char *sResDesc){ filelog(CIS_SRV_LOG, "\nEnter Tr30501::查询节点状态\n"); if(NULL == RecvBuf || NULL == Result || NULL == sResDesc) { filelog(CIS_SRV_LOG, "Error:parameter invalid in file=%s at line=%d\n", __FILE__, __LINE__); strcpy(Result, "002"); strcpy(sResDesc, "参数非法"); return FALSE; } //create table DISCENT //( // CODE char(4) not null, -- 01.节点代码 // NAME varchar(20) not null, -- 02.节点名称 // TYPE char(1) not null, -- 03.节点类型 N:NPC C:CCPC T:TRCS // STATUS char(1) not null, -- 04.节点状态 0:故障 1:生效前 2:正常 2:注销 // CITYCODE char(4) not null, -- 05.所在城市代码 // NODEID varchar(32) null, -- 06.网络节点标识 // EFFDATE char(8) not null, -- 07.生效日期 // INVDATE char(8) not null, -- 08.失效日期 // ALTDATE datetime null, -- 09.变更时间 // REMARK varchar(60) null, -- 10.备注 // primary key (CODE) //) //定义保存数据库查询结果的变量 char vcode [20]; char vname [20]; char vtype [20]; char vstatus [20]; char vcitycode [20]; char veffdate [20]; char vinvdate [20]; char valtdate [20]; char vremark [60]; char vtype_name [30]; char vstatus_name [30]; memset(vcode , 0, 20 ); memset(vname , 0, 20 ); memset(vtype , 0, 20 ); memset(vstatus , 0, 20 ); memset(vcitycode, 0, 20 ); memset(veffdate , 0, 20 ); memset(vinvdate , 0, 20 ); memset(valtdate , 0, 20 ); memset(vremark , 0, 60 ); memset(vtype_name , 0, 30 ); memset(vstatus_name , 0, 30 ); //int count=0; int sumCount=0; //int retCount=0; int totalLen=0; char sqlCmd[1024]; memset(sqlCmd, 0, sizeof(sqlCmd)); sprintf(sqlCmd, "select CODE " ",NAME " ",TYPE " ",STATUS " ",CITYCODE" ",EFFDATE " ",INVDATE " ",ALTTYPE " ",b.code_desc " ",c.code_desc " " from DISCENT a,sys_code b,sys_code c where b.table_name='DISCENT_TYPE' and a.TYPE*=b.code_value " " and c.table_name='DISCENT_STATUS' and a.STATUS*=c.code_value "); filelog(CIS_SRV_LOG, "sqlCmd=[%d][%s]\n", strlen(sqlCmd), sqlCmd); clsSybCommand.Select(sqlCmd); strcpy(Result, "{Body:ColumnName:[code|name|type|status|citycode|effdate|invdate|altdate|type_name|status_name]:ColumnValue:"); for(int i=0; ; i++) { // printf("\ni=[%d]",i); if(totalLen >= MAX_MBFE_BUFFER-79-HEADLEN) { filelog(CIS_SRV_LOG, "Query data is too big and break"); break; } memset(vcode , 0, 20 ); memset(vname , 0, 20 ); memset(vtype , 0, 20 ); memset(vstatus , 0, 20 ); memset(vcitycode , 0, 20 ); memset(veffdate , 0, 20 ); memset(vinvdate , 0, 20 ); memset(valtdate , 0, 20 ); memset(vremark , 0, 60 ); memset(vtype_name , 0, 30 ); memset(vstatus_name , 0, 30 ); clsSybCommand.MapColumn( 1, vcode , NTBSTRINGBIND); clsSybCommand.MapColumn( 2, vname , NTBSTRINGBIND); clsSybCommand.MapColumn( 3, vtype , NTBSTRINGBIND); clsSybCommand.MapColumn( 4, vstatus , NTBSTRINGBIND); clsSybCommand.MapColumn( 5, vcitycode , NTBSTRINGBIND); clsSybCommand.MapColumn( 6, veffdate , NTBSTRINGBIND); clsSybCommand.MapColumn( 7, vinvdate , NTBSTRINGBIND); clsSybCommand.MapColumn( 8, valtdate , NTBSTRINGBIND); clsSybCommand.MapColumn( 9, vtype_name , NTBSTRINGBIND); clsSybCommand.MapColumn( 10, vstatus_name, NTBSTRINGBIND); int retCode=clsSybCommand.GetData(); if(retCode > 0) { strcat(Result, "["); strcat(Result, vcode); strcat(Result, "|"); strcat(Result, vname ); strcat(Result, "|"); strcat(Result, vtype ); strcat(Result, "|"); strcat(Result, vstatus ); strcat(Result, "|"); strcat(Result, vcitycode); strcat(Result, "|"); strcat(Result, veffdate ); strcat(Result, "|"); strcat(Result, vinvdate ); strcat(Result, "|"); strcat(Result, valtdate ); strcat(Result, "|"); strcat(Result, vtype_name ); strcat(Result, "|"); strcat(Result, vstatus_name ); strcat(Result, "]"); sumCount++; totalLen=strlen(Result);// printf("Result=[%s]",Result); sumCount++; } else { if (!clsSybCommand.HasNextResultSet()) { filelog(CIS_SRV_LOG, "Get total=%d record\n", sumCount); filelog(CIS_SRV_LOG, "Database operator return[%d][%s]" " at file=%s in line=%d\n", sqlca.sqlcode, sqlca.sqlerrtext, __FILE__, __LINE__); break; } } } filelog(CIS_SRV_LOG, "Get main info set is:%s\n", sResDesc); filelog(CIS_SRV_LOG, "Exit 30501::查询节点状态\n"); strcat(Result, ":}"); return TRUE;}/* add by hanyun over 处理前台查询节点状态等*//*********************函数说明 add by hanyun*从cis407表中查询数据*/BOOL BepsPub::Tr30502(char *RecvBuf , char *Result,char *sResDesc){ filelog(CIS_SRV_LOG, "\nEnter Tr30502::查询公共参数\n"); if(NULL == RecvBuf || NULL == Result || NULL == sResDesc) { filelog(CIS_SRV_LOG, "Error:parameter invalid in file=%s at line=%d\n", __FILE__, __LINE__); strcpy(Result, "002"); strcpy(sResDesc, "参数非法"); return FALSE; } //create table cis407 //( // datcode char(8 ) not null, --公共数据代码 // datname char(40 ) not null, --公共数据名称 // datvalue char(250) not null, --公共数据值 // wdatvalue char(250) not null, --待生效的公共数据值 // effdata char(8 ) not null, --生效日期 // efftype char(1 ) not null, --生效类型0立即生效1定时生效 // changedata char(8 ) not null, --变更日期 // effflag char(1 ) not null, --生效状态 0有效1无效 // //) // //) //定义保存数据库查询结果的变量 char datcode [18 +1]; char datname [140 +1]; char datvalue [1250+1]; char wdatvalue [1250+1]; char effdata [18 +1]; char efftype [11 +1]; char changedata [18 +1]; char effflag [11 +1]; memset(datcode , 0, sizeof(datcode ) ); memset(datname , 0, sizeof(datname ) ); memset(datvalue , 0, sizeof(datvalue ) ); memset(wdatvalue , 0, sizeof(wdatvalue ) );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -