📄 cispub.cpp
字号:
if( ret < 0 ) { printf("查找待生效公共参数失败!\n"); printf("sSqlCmd:[%s]\n", sSqlCmd ); strcpy( pRetMsg, "查找待生效公共参数失败!\n"); filelog(ERRLOG, "查找待生效公共参数失败!\tsSqlCmd:[%s]\n", sSqlCmd ); return FALSE; } printf("nCount:[%d]\n", nCount ); if( nCount > 0 ) { LIS407 *TmpCis407 = new LIS407[nCount]; LIS407 strCis407; memset( TmpCis407, 0, sizeof(LIS407)*nCount ); memset( &strCis407, 0, sizeof(LIS407) ); memset( sSqlCmd, 0, sizeof(sSqlCmd) ); sprintf(sSqlCmd, "SELECT * FROM %s WHERE effdata='%s'", Table,strCis->newsysdata); ret = clsSybCommand.Select(sSqlCmd); for( i=0; ;i++ ) { memset( &strCis407, 0, sizeof(strCis407) ); clsSybCommand.MapColumn( 1, strCis407.datcode,NTBSTRINGBIND); clsSybCommand.MapColumn( 2, strCis407.datname,NTBSTRINGBIND); clsSybCommand.MapColumn( 3, strCis407.datvalue,NTBSTRINGBIND); clsSybCommand.MapColumn( 4, strCis407.weffvalue,NTBSTRINGBIND); clsSybCommand.MapColumn( 5, strCis407.effdata,NTBSTRINGBIND); clsSybCommand.MapColumn( 6, strCis407.changetype,NTBSTRINGBIND); clsSybCommand.MapColumn( 7, strCis407.efftype,NTBSTRINGBIND); clsSybCommand.MapColumn( 8, strCis407.changedata,NTBSTRINGBIND); clsSybCommand.MapColumn( 9, strCis407.effflag,NTBSTRINGBIND); RetFlag = clsSybCommand.GetData(); if( RetFlag ) { strcpy( TmpCis407[i].datcode, strCis407.datcode ); strcpy( TmpCis407[i].datname, strCis407.datname ); strcpy( TmpCis407[i].datvalue, strCis407.datvalue ); strcpy( TmpCis407[i].weffvalue, strCis407.weffvalue ); strcpy( TmpCis407[i].effdata, strCis407.effdata ); strcpy( TmpCis407[i].changetype, strCis407.changetype ); strcpy( TmpCis407[i].efftype, strCis407.efftype ); strcpy( TmpCis407[i].changedata, strCis407.changedata ); strcpy( TmpCis407[i].effflag, strCis407.effflag );/******************************************************************************* printf( "1: TmpCis407[i].datcode:[%s]\n", strCis407.datcode ); printf( "2: TmpCis407[i].datname:[%s]\n", strCis407.datname ); printf( "3: TmpCis407[i].datvalue:[%s]\n", strCis407.datvalue ); printf( "4: TmpCis407[i].weffvalue:[%s]\n", strCis407.weffvalue ); printf( "5: TmpCis407[i].effdata:[%s]\n", strCis407.effdata ); printf( "6: TmpCis407[i].changetype:[%s]\n", strCis407.changetype ); printf( "6: TmpCis407[i].efftype:[%s]\n", strCis407.efftype ); printf( "7: TmpCis407[i].changedata:[%s]\n", strCis407.changedata ); printf( "8: TmpCis407[i].effflag:[%s]\n", strCis407.effflag ); printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");*******************************************************************************/ }else{ if (!clsSybCommand.HasNextResultSet()) { printf("\n"); break; } } }//end for //开始处理公共参数变更 for( i=0; i<nCount; i++ ) { memset( sSqlCmd, 0, sizeof(sSqlCmd) ); if( strncmp( TmpCis407[i].changetype, "2", 1) == 0 ) //定时撤消 { sprintf( sSqlCmd, "DELETE FROM %s WHERE datcode='%s'", Table, TmpCis407[i].datcode ); ret = clsSybCommand.Delete(sSqlCmd); if( ret <= 0 ) { printf( "日切处理:定时撤消公共数据删除失败!\n"); printf( "sSqlCmd:[%s]\n", sSqlCmd ); strcpy( pRetMsg, "日切处理:定时撤消公共数据删除失败!\n"); filelog(ERRLOG, "日切处理:定时撤消公共数据删除失败!\tsSqlCmd:[%s]\n", sSqlCmd ); delete TmpCis407; } } else { sprintf( sSqlCmd, "UPDATE %s SET datvalue='%s' WHERE datcode='%s'", Table, TmpCis407[i].weffvalue, TmpCis407[i].datcode ); ret = clsSybCommand.Update(sSqlCmd); if( ret < 0 ) { printf("日切处理:定时更新公共数据值失败!\n"); printf("sSqlCmd = [%s]\n", sSqlCmd); strcpy( pRetMsg, "日切处理:定时更新公共数据值失败!\n"); filelog(ERRLOG, "日切处理:定时更新公共数据值失败!\tsSqlCmd:[%s]\n", sSqlCmd ); delete TmpCis407; return FALSE; } } }//END FOR delete TmpCis407; }//End If printf("\r\n=========================[%02d/%02d]公共参数生效处理完成==========================\n", i, nCount); //行名行号及节点信息生效 printf("\r\n=========================[行名行号票交所信息生效处理]==========================\n"); strcpy( Table, "BILLENROL_ASS" ); char workdate[8+1]; char changno[8+1]; LIS410_BILL lis410; //查找生效日期数目 nCount = 0; 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("查找待生效行号失败nCount:[%s]\n", nCount ); printf( "sSqlCmd:[%s]\n" , sSqlCmd ); strcpy( pRetMsg, "查找待生效行号失败!\n"); filelog(ERRLOG, "查找待生效行号失败!\tsSqlCmd:[%s]\n", sSqlCmd ); return FALSE; } printf("日切需更新待生效行号[%d]条!\n", nCount ); for( j=0;j<nCount;j++ ) { memset( sSqlCmd, 0, sizeof(sSqlCmd) ); sprintf( sSqlCmd, "SELECT * FROM %s WHERE EFFDATE<='%s'", Table,strCis->newsysdata ); ret = clsSybCommand.Select(sSqlCmd); memset( workdate, 0, sizeof(workdate) ); memset( changno, 0, sizeof(changno) ); memset( &lis410, 0, sizeof(LIS410_BILL) ); clsSybCommand.MapColumn( 1, workdate, NTBSTRINGBIND); clsSybCommand.MapColumn( 2, changno, NTBSTRINGBIND); clsSybCommand.MapColumn( 3, lis410.billcode, NTBSTRINGBIND); clsSybCommand.MapColumn( 4, lis410.billtype,NTBSTRINGBIND); clsSybCommand.MapColumn( 5, lis410.centcode,NTBSTRINGBIND); clsSybCommand.MapColumn( 6, lis410.citycode,NTBSTRINGBIND); clsSybCommand.MapColumn( 7, lis410.billname,NTBSTRINGBIND); clsSybCommand.MapColumn( 8, lis410.simname ,NTBSTRINGBIND); clsSybCommand.MapColumn( 9, lis410.billaddr,NTBSTRINGBIND); clsSybCommand.MapColumn( 10, lis410.tel ,NTBSTRINGBIND); clsSybCommand.MapColumn( 11, lis410.linkman ,NTBSTRINGBIND); clsSybCommand.MapColumn( 12, lis410.postcode,NTBSTRINGBIND); clsSybCommand.MapColumn( 13, lis410.email ,NTBSTRINGBIND); clsSybCommand.MapColumn( 14, lis410.effdate ,NTBSTRINGBIND); clsSybCommand.MapColumn( 15, lis410.alttype ,NTBSTRINGBIND); clsSybCommand.MapColumn( 16, lis410.remark ,NTBSTRINGBIND); RetFlag = clsSybCommand.GetData(); if( RetFlag ) { //删除生效票交所信息 memset( sSqlCmd, 0, sizeof(sSqlCmd) ); strcpy( Table, "BILLENROL" ); sprintf( sSqlCmd, "DELETE FROM %s WHERE BILLCODE='%s'", Table, lis410.billcode ); ret = clsSybCommand.Delete(sSqlCmd); if( ret <= 0 ) { printf( "日切处理:行名行号票交所删除失败![%s]\n", lis410.billcode ); printf( "sSqlCmd:[%s]\n", sSqlCmd ); strcpy( pRetMsg, "日切处理:行名行号票交所删除失败!\n"); filelog(ERRLOG, "日切处理:行名行号票交所删除失败!\tsSqlCmd:[%s]\n", sSqlCmd ); } //增加更新票交所信息 memset( sSqlCmd, 0, sizeof(sSqlCmd) ); if( strcmp( lis410.alttype, "3" )!=0 ) { sprintf( sSqlCmd, "INSERT INTO %s VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", Table, lis410.billcode, lis410.billtype, lis410.centcode, lis410.citycode, lis410.billname, lis410.simname , lis410.billaddr, lis410.tel , lis410.linkman , lis410.postcode, lis410.email , lis410.effdate , lis410.alttype , lis410.remark ); ret = clsSybCommand.Insert(sSqlCmd); if( ret <= 0 ) { sprintf( pRetMsg,"日切处理:行名行号票交所增加更新失败![%s]\n", lis410.billcode ); printf( "sSqlCmd:[%s]\n", sSqlCmd ); strcpy( pRetMsg, "日切处理:行名行号票交所增加更新失败!\n"); filelog(ERRLOG, "日切处理:行名行号票交所增加更新失败!\tsSqlCmd:[%s]\n", sSqlCmd ); return FALSE; } } }else{ if (!clsSybCommand.HasNextResultSet()) { printf("\n"); break; } } //及时删除附表记录 memset( sSqlCmd, 0, sizeof(sSqlCmd) ); strcpy( Table, "BILLENROL_ASS" ); sprintf( sSqlCmd, "DELETE FROM %s WHERE BILLCODE='%s' and CHANGENO='%s' and WORKDATE='%s'", Table, lis410.billcode, changno, workdate ); 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, lis410.billcode ); } printf("\r\n=========================[%d]行名行号票交所信息生效处理完成==========================\n", j); //行名行号及节点信息生效 printf("\r\n=========================[行名行号票交机构信息生效处理]==========================\n"); strcpy( Table, "BILLORG_ASS" ); LIS410_BILLORG lis410bill; nCount = 0; 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("查找待生效行号失败nCount:[%s]\n", nCount ); printf( "sSqlCmd:[%s]\n" , sSqlCmd ); strcpy( pRetMsg, "日切处理:查找待生效行号失败!\n"); filelog(ERRLOG, "日切处理:查找待生效行号失败!\tsSqlCmd:[%s]\n", sSqlCmd ); return FALSE; } printf("日切需处理带生效票交机构号[%d]条!\n", nCount ); for( j=0;j<nCount;j++ ) { memset( sSqlCmd, 0, sizeof(sSqlCmd) ); sprintf( sSqlCmd, "SELECT * FROM %s WHERE EFFDATE<='%s'", Table,strCis->newsysdata ); ret = clsSybCommand.Select(sSqlCmd); memset( workdate, 0, sizeof(workdate) ); memset( changno, 0, sizeof(changno) ); memset( &lis410bill, 0, sizeof(lis410bill) ); clsSybCommand.MapColumn( 1, workdate, NTBSTRINGBIND ); clsSybCommand.MapColumn( 2, changno, NTBSTRINGBIND ); clsSybCommand.MapColumn( 3, lis410bill.billorgcode ,NTBSTRINGBIND); clsSybCommand.MapColumn( 4, lis410bill.billbanktype ,NTBSTRINGBIND); clsSybCommand.MapColumn( 5, lis410bill.billorgtype ,NTBSTRINGBIND); clsSybCommand.MapColumn( 6, lis410bill.bankcode ,NTBSTRINGBIND); clsSybCommand.MapColumn( 7, lis410bill.optbank ,NTBSTRINGBIND); clsSybCommand.MapColumn( 8, lis410bill.optbankinvdat,NTBSTRINGBIND); clsSybCommand.MapColumn( 9, lis410bill.suprlist ,NTBSTRINGBIND); clsSybCommand.MapColumn( 10, lis410bill.centcode ,NTBSTRINGBIND); clsSybCommand.MapColumn( 11, lis410bill.billcode ,NTBSTRINGBIND); clsSybCommand.MapColumn( 12, lis410bill.citycode ,NTBSTRINGBIND); clsSybCommand.MapColumn( 13, lis410bill.bankname ,NTBSTRINGBIND); clsSybCommand.MapColumn( 14, lis410bill.simname ,NTBSTRINGBIND); clsSybCommand.MapColumn( 15, lis410bill.bankaddr ,NTBSTRINGBIND); clsSybCommand.MapColumn( 16, lis410bill.tel ,NTBSTRINGBIND); clsSybCommand.MapColumn( 17, lis410bill.linkman ,NTBSTRINGBIND); clsSybCommand.MapColumn( 18, lis410bill.postcode ,NTBSTRINGBIND); clsSybCommand.MapColumn( 19, lis410bill.email ,NTBSTRINGBIND); clsSybCommand.MapColumn( 20, lis410bill.effdate ,NTBSTRINGBIND); clsSybCommand.MapColumn( 21, lis410bill.alttype ,NTBSTRINGBIND); clsSybCommand.MapColumn( 22, lis410bill.remark ,NTBSTRINGBIND); RetFlag = clsSybCommand.GetData(); if( RetFlag ) { //删除生效票交所信息 strcpy( Table, "BILLORG" ); memset( sSqlCmd, 0, sizeof(sSqlCmd) ); sprintf( sSqlCmd, "DELETE FROM %s WHERE BILLORGCODE='%s'", Table, lis410bill.billorgcode ); ret = clsSybCommand.Delete(sSqlCmd); if( ret <= 0 ) { printf( "日切处理:行名行号票交机构删除失败![%s]\n", lis410bill.billorgcode ); printf( "sSqlCmd:[%s]\n", sSqlCmd ); strcpy( pRetMsg, "日切处理:行名行号票交机构删除失败!\n"); filelog(ERRLOG, "日切处理:行名行号票交机构删除失败!\tsSqlCmd:[%s]\n", sSqlCmd ); } //增加更新票交所信息 if( strcmp( lis410.alttype, "3" )!=0 ) { memset( sSqlCmd, 0, sizeof(sSqlCmd) ); sprintf( sSqlCmd, "INSERT INTO %s VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", Table, lis410bill.billorgcode, lis410bill.billbanktype, lis410bill.billorgtype, lis410bill.bankcode, lis410bill.optbank, lis410bill.optbankinvdat, lis410bill.suprlist, lis410bill.centcode, lis410bill.billcode, lis410bill.citycode, lis410bill.bankname, lis410bill.simname, lis410bill.bankaddr, lis410bill.tel, lis410bill.linkman, lis410bill.postcode, lis410bill.email, lis410bill.effdate, lis410bill.alttype, lis410bill.remark ); ret = SaveCisData( Table, sSqlCmd, pRetMsg); if( ret <= 0 ) { printf("日切处理:行名行号票交机构增加更新失败![%s]\n", lis410bill.billorgcode ); printf( "sSqlCmd:[%s]\n", sSqlCmd ); strcpy( pRetMsg, "日切处理:行名行号票交机构增加更新失败!\n"); filelog(ERRLOG, "日切处理:行名行号票交机构增加更新失败!\tsSqlCmd:[%s]\n", sSqlCmd ); return FALSE; } } }else{ if (!clsSybCommand.HasNextResultSet()) { printf("end\n"); break; } } memset( sSqlCmd, 0, sizeof(sSqlCmd) ); strcpy( Table, "BILLORG_ASS" ); sprintf( sSqlCmd, "DELETE FROM %s WHERE BILLORGCODE='%s' and CHANGENO='%s' and WORKDATE='%s'", Table, lis410bill.billorgcode, changno, workdate ); 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, lis410bill.billorgcode ); } printf("\r\n=========================[%d]行名行号票交机构信息生效处理完成==========================\n", j); /*************************节点生效处理*************************/ printf("\r\n=========================[节点信息生效处理]==========================\n"); strcpy( Table, "DISCENT_ASS" ); LIS413_DisCent slis413; nCount = 0; 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("查找待生效行号失败nCount:[%s]\n", nCount ); printf( "sSqlCmd:[%s]\n" , sSqlCmd ); strcpy( pRetMsg, "日切处理:查找待生效行号失败!\n"); filelog(ERRLOG, "日切处理:查找待生效行号失败!\tsSqlCmd:[%s]\n", sSqlCmd ); return FALSE; } printf("日切需处理带生效节点[%d]条!\n", nCount ); for( j=0; j<nCount; j++ ) { memset( sSqlCmd, 0, sizeof(sSqlCmd) ); strcpy( Table, "DISCENT_ASS" ); sprintf( sSqlCmd, "SELECT * FROM %s WHERE EFFDATE <= '%s'", Table,strCis->newsysdata ); ret = clsSybCommand.Select(sSqlCmd); char workdate[8+1]; memset( workdate, 0, sizeof(workdate) ); memset( &slis413, 0, sizeof(LIS413_DisCent) ); clsSybCommand.MapColumn( 1, workdate, NTBSTRINGBIND);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -