📄 cmsb15.sqc
字号:
EXEC SQL FETCH report_cur INTO :acCardKind, :acCcy, :acTranDevType, :acDevId,:acCardKindComm,:acCcyComm; if (SQLCODE == SQLNOTFOUND) break; if (SQLCODE) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS112" ); pubCrtRspInfo("cmsoperstat",SQLCODE ); ERRLOG goto Exit ; } strpack(acCardKindComm); strpack(acCcyComm); strpack(acDevId); strpack(acCcy); /* 日期为18991231忽略 */ if ( strcmp ( acBeginDate, INITDATE ) ) { memcpy(acYear, acBeginDate, 4); memcpy(acMonth,acBeginDate + 5, 2); memcpy(acDate, acBeginDate + 8, 2); } if ( strcmp ( acEndDate, INITDATE ) ) { memcpy(acYear1, acEndDate, 4); memcpy(acMonth1,acEndDate + 5, 2); memcpy(acDate1, acEndDate + 8, 2); } /* 表第一次打印取信息(当币种、卡种、设备类型变化时使用) */ if (iFlag == 0) { memset( acTmpTranDevType, 0x00, sizeof(acTmpTranDevType) ); memset( acTmpCardKind, 0x00, sizeof(acTmpCardKind) ); memset( acTmpCcy, 0x00, sizeof(acTmpCcy) ); strcpy( acTmpTranDevType, acTranDevType ); strcpy( acTmpCardKind, acCardKind ); strcpy( acTmpCcy, acCcy ); } /* 打表头 */ if( iFlag == 0 ) { sprintf( acPage, "%d", iPage ); PRTHEAD iFlag ++; } /* 币种、卡种变换重新打印 */ if (strcmp(acTmpCcy, acCcy) != 0 || strcmp(acTmpCardKind , acCardKind) != 0) { PRTFOOT /* 给下一个商户小计赋初值 */ lTPNumber =0; lTGNumber =0; lTTrNumber =0; lTSNumber =0; lTCPNumber =0; lTQBNumber =0; lTUNumber =0; dTPAmt =0.00; dTGAmt =0.00; dTTrAmt =0.00; dTSAmt =0.00; dTUAmt =0.00; /* 打印 */ PRTFOOTO BOTTM /* 给下一张表合计赋初值 */ lToPNumber =0; lToGNumber =0; lToTrNumber =0; lToSNumber =0; lToCPNumber =0; lToQBNumber =0; lToUNumber =0; dToPAmt =0.00; dToGAmt =0.00; dToTrAmt =0.00; dToSAmt =0.00; dToUAmt =0.00; memset( acTmpCardKind, 0x00, sizeof(acTmpCardKind) ); memset( acTmpCcy, 0x00, sizeof(acTmpCcy) ); memset( acTmpTranDevType, 0x00, sizeof(acTmpTranDevType) ); strcpy( acTmpCardKind, acCardKind ); strcpy( acTmpCcy, acCcy ); strcpy( acTmpTranDevType, acTranDevType ); /* 给行号赋初值 */ iNum = 1; iPage = 1; sprintf( acPage, "%d", iPage ); PRTHEAD } /* 设备类型变换的打印 */ if (strcmp(acTmpTranDevType, acTranDevType) != 0 ) { PRTFOOT /* 给下一个商户小计赋初值 */ lTPNumber =0; lTGNumber =0; lTTrNumber =0; lTSNumber =0; lTCPNumber =0; lTQBNumber =0; lTUNumber =0; dTPAmt =0.00; dTGAmt =0.00; dTTrAmt =0.00; dTSAmt =0.00; dTUAmt =0.00; } /* 循环取数据带 */ memset (acSelStr1, 0x00, sizeof(acSelStr1)); sprintf(acSelStr1,"select * from cmsoperstat where cardkind='%s' and ccy='%s' and trandevtype='%s' and devid='%s' order by trandevtype,devid,brc,trandate", acCardKind, acCcy, acTranDevType, acDevId ); sprintf( g_acTrcMsg, "%s", acSelStr1); TRCLOG4 EXEC SQL PREPARE pre2_cur FROM :acSelStr1; if ( SQLCODE ) { strcpy( g_acRspCode, "CMS1A7" ); pubCrtRspInfo( SQLCODE ); ERRLOG goto Exit; } EXEC SQL DECLARE body_cur CURSOR FOR pre2_cur; if(SQLCODE) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS110" ); pubCrtRspInfo("cmsoperstat",SQLCODE ); ERRLOG goto Exit ; } SQLOPENCUR(body_cur,"body_cur") if (SQLCODE) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS111" ); pubCrtRspInfo("cmsoperstat",SQLCODE ); ERRLOG goto Exit ; } /* 初始化变量 */ memset(&stPrtdata, 0x00, sizeof(struct prtdata)); iT=0; iPNumber = 0; dPAmt = 0.00; iGNumber = 0; dGAmt = 0.00; iSNumber = 0; dSAmt = 0.00; iTrNumber = 0; dTrAmt = 0.00; iCPNumber = 0; iQBNumber = 0; iUNumber = 0; dUAmt = 0.00; while(TRUE) { pubInitCmsoperstat(); EXEC SQL FETCH body_cur INTO W_CMSOPERSTAT; if (SQLCODE == SQLNOTFOUND) { break; } if (SQLCODE && SQLCODE != SQLNOTFOUND) { sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE); TRCLOG4 strcpy( g_acRspCode, "CMS112" ); pubCrtRspInfo("cmsoperstat",SQLCODE ); ERRLOG goto Exit ; } /* 存现 */ if (strcmp(cmsoperstat_trankind,"003")==0 || strcmp(cmsoperstat_trankind,"034")==0 || strcmp(cmsoperstat_trankind,"020")==0 || strcmp(cmsoperstat_trankind,"042")==0) { iPNumber +=cmsoperstat_cnt; dPAmt += cmsoperstat_amt; } /* 取现 */ if (strcmp(cmsoperstat_trankind,"004")==0 || strcmp(cmsoperstat_trankind,"022")==0) { iGNumber +=cmsoperstat_cnt; dGAmt += cmsoperstat_amt; } /* 代缴费 */ if (strcmp(cmsoperstat_trankind,"033")==0) { iSNumber +=cmsoperstat_cnt; dSAmt += cmsoperstat_amt; } /* 转帐 */ if (strcmp(cmsoperstat_trankind,"005")==0 || strcmp(cmsoperstat_trankind,"029")==0 || strcmp(cmsoperstat_trankind,"030")==0 || strcmp(cmsoperstat_trankind,"031")==0) { iTrNumber +=cmsoperstat_cnt; dTrAmt += cmsoperstat_amt; } /* 改密 */ if (strcmp(cmsoperstat_trankind,"015")==0 || strcmp(cmsoperstat_trankind,"040")==0) { iCPNumber +=cmsoperstat_cnt; } /* 查询 */ if (strcmp(cmsoperstat_trankind,"016")==0 || strcmp(cmsoperstat_trankind,"041")==0) { iQBNumber +=cmsoperstat_cnt; } /* 银联 */ if (strcmp(cmsoperstat_trankind,"032")==0 || strcmp(cmsoperstat_trankind,"036")==0 || strcmp(cmsoperstat_trankind,"037")==0 || strcmp(cmsoperstat_trankind,"023")==0 || strcmp(cmsoperstat_trankind,"024")==0 || strcmp(cmsoperstat_trankind,"055")==0) { iUNumber +=cmsoperstat_cnt; dUAmt += cmsoperstat_amt; } if ( iT==0 ) { /* 向结构体中赋值 */ strcpy(stPrtdata.acDevTypeComm, cmsoperstat_trandevtypecomm); strcpy(stPrtdata.acDevId, cmsoperstat_devid); strcpy(stPrtdata.acBrc, cmsoperstat_brc); strpack(stPrtdata.acDevTypeComm); strpack(stPrtdata.acDevId); strpack(stPrtdata.acBer); iT ++; } } /* 向结构体中赋值 */ sprintf(stPrtdata.acPNumber, "%d", iPNumber); sprintf(stPrtdata.acPAmt, "%.2f", dPAmt); sprintf(stPrtdata.acGNumber, "%d", iGNumber); sprintf(stPrtdata.acGAmt, "%.2f", dGAmt); sprintf(stPrtdata.acTrNumber, "%d", iTrNumber); sprintf(stPrtdata.acTrAmt, "%.2f", dTrAmt); sprintf(stPrtdata.acSNumber, "%d", iSNumber); sprintf(stPrtdata.acSAmt, "%.2f", dSAmt); sprintf(stPrtdata.acCPNumber, "%d", iCPNumber); sprintf(stPrtdata.acQBNumber, "%d", iQBNumber); sprintf(stPrtdata.acUNumber, "%d", iUNumber); sprintf(stPrtdata.acUAmt, "%.2f", dUAmt); sprintf(stPrtdata.acBer, "%d", iNum); strpack(stPrtdata.acBrc); /* 打印数据带连接表格 */ if (strcmp(acTmpTranDevType, acTranDevType) != 0) { PRTFOOTF PRTBODY memset( acTmpTranDevType, 0x00, sizeof(acTmpTranDevType) ); strcpy( acTmpTranDevType, acTranDevType ); } else { PRTBODY0 PRTBODY } SQLCLOSECUR(body_cur,"body_cur") /* 类型小计 */ lTPNumber +=iPNumber; lTGNumber +=iGNumber; lTTrNumber +=iTrNumber; lTSNumber +=iSNumber; lTCPNumber +=iCPNumber; lTQBNumber +=iQBNumber; lTUNumber +=iUNumber; dTPAmt +=dPAmt; dTGAmt +=dGAmt; dTTrAmt +=dTrAmt; dTSAmt +=dSAmt; dTUAmt +=dUAmt; /* 总合计 */ lToPNumber +=iPNumber; lToGNumber +=iGNumber; lToTrNumber +=iTrNumber; lToSNumber +=iSNumber; lToCPNumber +=iCPNumber; lToQBNumber +=iQBNumber; lToUNumber +=iUNumber; dToPAmt +=dPAmt; dToGAmt +=dGAmt; dToTrAmt +=dTrAmt; dToSAmt +=dSAmt; dToUAmt +=dUAmt; /* 翻页并且初始化页合计变量 */ if ( iLine % OVERPAGE == 0 ) { PRTFOOTM; BOTTM; /* 赋页数 */ sprintf( acPage, "%d", iPage ); PRTHEAD } } if( iLineCount == 0 ) { strcpy( g_acRspCode, "999998" ); sprintf( g_acRspMsg, "无满足条件的纪录!" ); ERRLOG goto Exit ; } /* 打印表尾 */ PRTFOOT PRTFOOTO BOTTMExit: fclose( fp ); fclose( fmtfp ); SQLCLOSECUR(report_cur,"report_cur") SQLCLOSECUR(body_cur,"body_cur") if( !strcmp( g_acRspCode, RSP_OK ) ) { SetInqFormid(pstPubcom, "") ; return SUCCESS; } else return FAILED ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -