📄 mfeeagr.c
字号:
/* MW_Trace("OK3");*/ /*从临时表中取数据,并分配输出的数据缓冲*/ /*1、取记录数,并分配内存*/ sprintf(szSql,"select count(*) from #tmp_bank_qry"); ppVar[0] = &iResultCount; if(!DB_SQLPrepare(&theDatabase, szSql, ppVar, 1)) { DB_ExecuteSQL(&theDatabase,szDropSql); sprintf(szMsg,"SQL = %s Prepare失败!",szSql); gf_Return(&mwMidWare,-1,szMsg); return; } DB_SQLFetch(&theDatabase); DB_SQLDone(&theDatabase); /*根据数据量分配内存空间*/ if (iForceFlag == 0) { if (iResultCount <= MAX_RESULT) nBufferSize = SIZE_OF_MAIN * iResultCount; } if (iForceFlag == 10) { nBufferSize = SIZE_OF_MAIN * iResultCount; if (iResultCount <= MAX_RESULT) nBufferSize += SIZE_OF_DETAIL * iResultCount * MAX_DETAIL_ONE; } if (iForceFlag == 1) { nBufferSize = SIZE_OF_MAIN * iResultCount; } if (iForceFlag == 11) { nBufferSize = SIZE_OF_MAIN * iResultCount + SIZE_OF_DETAIL * iResultCount * MAX_DETAIL_ONE; }/* sprintf(szMsg,"OK4 = %d",iResultCount); MW_Trace(szMsg);*/ MW_AllocateString(&mwMidWare,nBufferSize + 40); /*最大设置32K的空间*/ szOutBuf = MW_GetOutBuf(&mwMidWare); if (szOutBuf == NULL) { gf_Return(&mwMidWare,-1,"分配空间失败!"); return; } if (iResultCount > 0 && (iForceFlag > 0 || (iForceFlag ==0 && iResultCount <= MAX_RESULT))) { szResult = szOutBuf + 16; szResultDetail = szResult + iResultCount * SIZE_OF_MAIN; /*2、按顺序取数据*/ sprintf(szSql,"select KHBH,DFID ,CBCBM,JLZZBH,DFNY ,CBSXH ,Convert(char(10),YSKSSJ,102),\CSYSHJ,BSDF ,PDF ,FDF ,GDF ,JBDF ,LLDF ,DSK1 ,DSK2 ,DSK3 ,DSK4 ,DSK5 ,DSK6 ,DSK7 ,DSK8 ,PZM ,PQM ,FZM ,FQM ,GZM ,GQM ,WGZM ,\WGQM ,YGBL ,WGBL ,PBS ,FBS ,GBS ,WGBS ,PJFDL ,FJFDL ,GJFDL ,WGJFDL,JFRL ,GLYS ,TZL ,PDFDJ ,FDFDJ ,GDFDJ ,JBDFDJ,DSK1DJ,DSK2DJ,DSK3DJ,DSK4DJ,\DSK5DJ,DSK6DJ,DSK7DJ,DSK8DJ,CCBH ,TSBZ ,PDL ,FDL ,GDL ,WGDL ,DL ,RZBZSM,KHXM ,YDDZ ,CSYSHJ - YSZJE as df_sum ,YSWYJCKJE - WYJSSJE - WYJJMSPJE - WYJHJSPJE as wyj from #tmp_bank_qry");ppVar[0] = szKHBHTmp;ppVar[1] = &cs_DFID;ppVar[2] = sz_CBCBM;ppVar[3] = sz_JLZZBH;ppVar[4] = sz_DFNY;ppVar[5] = sz_CBSXH;ppVar[6] = sz_YSKSSJ;ppVar[7] = &cs_CSYSHJ;ppVar[8] = &cs_BSDF; ppVar[9] = &cs_PDF ; ppVar[10]= &cs_FDF ; ppVar[11] = &cs_GDF ; ppVar[12] = &cs_JBDF; ppVar[13] = &cs_LLDF; ppVar[14] = &cs_DSK1; ppVar[15] = &cs_DSK2; ppVar[16] = &cs_DSK3; ppVar[17] = &cs_DSK4; ppVar[18] = &cs_DSK5; ppVar[19] = &cs_DSK6; ppVar[20] = &cs_DSK7; ppVar[21] = &cs_DSK8; ppVar[22] = &cs_PZM ; ppVar[23] = &cs_PQM ; ppVar[24] = &cs_FZM ; ppVar[25] = &cs_FQM ; ppVar[26] = &cs_GZM ; ppVar[27] = &cs_GQM ; ppVar[28] = &cs_WGZM; ppVar[29] = &cs_WGQM; ppVar[30] = &i_YGBL; ppVar[31] = &i_WGBL ; ppVar[32] = &cs_PBS ;ppVar[33] = &cs_FBS ;ppVar[34] = &cs_GBS ;ppVar[35] = &cs_WGBS ;ppVar[36] = &cs_PJFDL;ppVar[37] = &cs_FJFDL;ppVar[38] = &cs_GJFDL;ppVar[39] = &cs_WGJFDL;ppVar[40] = &cs_JFRL ;ppVar[41] = &i_GLYS ;ppVar[42] = &cs_TZL ;ppVar[43] = &cs_PDFDJ ;ppVar[44] = &cs_FDFDJ ;ppVar[45] = &cs_GDFDJ ;ppVar[46] = &cs_JBDFDJ;ppVar[47] = &cs_DSK1DJ;ppVar[48] = &cs_DSK2DJ;ppVar[49] = &cs_DSK3DJ;ppVar[50] = &cs_DSK4DJ;ppVar[51] = &cs_DSK5DJ;ppVar[52] = &cs_DSK6DJ;ppVar[53] = &cs_DSK7DJ;ppVar[54] = &cs_DSK8DJ;ppVar[55] = sz_CCBH; ppVar[56] = &i_TSBZ; ppVar[57] = &cs_PDL ;ppVar[58] = &cs_FDL ;ppVar[59] = &cs_GDL ;ppVar[60] = &cs_WGDL ;ppVar[61] = &cs_DL ;ppVar[62] = sz_RZBZSM; ppVar[63] = sz_KHXM; ppVar[64] = sz_YDDZ; ppVar[65] = &cs_DF_SUM ;ppVar[66] = &cs_WYJ ;/* MW_Trace("OK5");*/ if(!DB_SQLPrepare(&theDatabase, szSql, ppVar, 67)) { sprintf(szMsg,"SQL = %s Prepare失败!",szSql); gf_Return(&mwMidWare,-1,szMsg); return; } i = 0; j = 0;/* MW_Trace("OK6");*/ iDetailCount = 0; while(DB_SQLFetch(&theDatabase) == TRUE) { /*有数据,将数据放入Buffer*/ /*将CS_NUMERIC转换成double*/ DB_ConvertNumericToDouble(&theDatabase,&cs_DFID,&d_DFID,15,0); DB_ConvertNumericToDouble(&theDatabase,&cs_PQM,&d_PQM,10,2); DB_ConvertNumericToDouble(&theDatabase,&cs_PZM,&d_PZM,10,2); DB_ConvertNumericToDouble(&theDatabase,&cs_DF_SUM,&d_DF_SUM,13,2); DB_ConvertNumericToDouble(&theDatabase,&cs_WYJ,&d_WYJ,13,2); sprintf(szTemp,"%15.0f%6s%13.2f%13.2f%40s%80s%20s%10.2f%10.2f", d_DFID,sz_DFNY,d_DF_SUM,d_WYJ,sz_KHXM,sz_YDDZ,sz_CCBH,d_PQM,d_PZM); memcpy(szResult + i * SIZE_OF_MAIN,szTemp,SIZE_OF_MAIN); i ++;/* DFID 电费流水 CHAR(15) DFNY 费用月份 CHAR(6) YYYYMM JBDF 电费总额 CHAR(13) ##########.## WYJ 违约金额 CHAR(13) ##########.## KHXM 户名 CHAR(40) YDDZ 用电地址 CHAR(80) CCBH 表号 CHAR(20) PQM 平起码 CHAR(10) #######.## PZM 平止码 CHAR(10) #######.##*//* MW_Trace("OK7");*/ sprintf(szTemp1,"%15.0f",d_DFID); if (iForceFlag == 11 || (iForceFlag == 10 && iResultCount <= MAX_RESULT)) {/*有明细记录*/ szTemp[37] = '\0'; /*CBCBM 02 //抄表册编码 VARCHAR(7),*/ if (sz_CBCBM[0] != ' '){ sprintf(szTemp,"%15s%2s%20s",szTemp1,F_CBCBM,sz_CBCBM); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*JLZZBH 04 //计量装置编号 VARCHAR(12),*/ if (sz_JLZZBH[0] != ' '){ sprintf(szTemp,"%15s%2s%20s",szTemp1,F_JLZZBH,sz_JLZZBH); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*DFNY 05 //电费年月 CHAR(6) ,*/ if (sz_DFNY[0] != ' '){ sprintf(szTemp,"%15s%2s%20s",szTemp1,F_DFNY,sz_DFNY); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*CBSXH 06 //抄表顺序号 CHAR(6),*/ if (sz_CBSXH[0] != ' '){ sprintf(szTemp,"%15s%2s%20s",szTemp1,F_CBSXH,sz_CBSXH); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*YSKSSJ 09 //应收开始时间 Datetime DEFAULT GETDATE(),*/ if (sz_YSKSSJ[0] != ' '){ sprintf(szTemp,"%15s%2s%20s",szTemp1,F_YSKSSJ,sz_YSKSSJ); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*RZBZSM 78 //入帐说明 VARCHAR(20)*/ if (sz_RZBZSM[0] != ' '){ sprintf(szTemp,"%15s%2s%20s",szTemp1,F_RZBZSM,sz_RZBZSM); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*YGBL 36 //有功倍率 INT,*/ if (i_YGBL != 0){ sprintf(szTemp,"%15s%2s%20d",szTemp1,F_YGBL,i_YGBL); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*WGBL 37 //无功倍率 INT,*/ if (i_WGBL != 0){ sprintf(szTemp,"%15s%2s%20d",szTemp1,F_WGBL,i_WGBL); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*CCBH 69 //出厂编号 VARCHAR(20) NULL, --表号*/ if (sz_CCBH != ""){ sprintf(szTemp,"%15s%2s%20s",szTemp1,F_CCBH,sz_CCBH); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*TSBZ 70 //特殊标志 tinyint NULL, --对应多块表*/ /*if (i_TSBZ != 0){ sprintf(szTemp,"%15s%2s%20d",szTemp1,F_TSBZ,i_TSBZ); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; }*/ /*CSYSHJ 13 //初始应收合计 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_CSYSHJ,&d_CSYSHJ,15,4); if (d_CSYSHJ != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_CSYSHJ,d_CSYSHJ); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*BSDF 14 //补收电费 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_BSDF,&d_BSDF,15,4); if (d_BSDF != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_BSDF,d_BSDF); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*PDF 15 //平电费 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_PDF,&d_PDF,15,4); if (d_PDF != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_PDF,d_PDF); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*FDF 16 //峰电费 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_FDF,&d_FDF,15,4); if (d_FDF != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_FDF,d_FDF); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*GDF 17 //谷电费 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_GDF,&d_GDF,15,4); if (d_GDF != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_GDF,d_GDF); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*JBDF 18 //基本电费 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_JBDF,&d_JBDF,15,4); if (d_JBDF != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_JBDF,d_JBDF); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*LLDF 19 //力率电费 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_LLDF,&d_LLDF,15,4); if (d_LLDF != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_LLDF,d_LLDF); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*DSK1 20 //代收款1 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_DSK1,&d_DSK1,15,4); if (d_DSK1 != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_DSK1,d_DSK1); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*DSK2 21 //代收款2 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_DSK2,&d_DSK2,15,4); if (d_DSK2 != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_DSK2,d_DSK2); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*DSK3 22 //代收款3 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_DSK3,&d_DSK3,15,4); if (d_DSK3 != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_DSK3,d_DSK3); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*DSK4 23 //代收款4 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_DSK4,&d_DSK4,15,4); if (d_DSK4 != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_DSK4,d_DSK4); if (iDetailCount <= (iResultCount * MAX_DETAIL_ONE)){ strcat(szResultDetail,szTemp);j++;}; iDetailCount ++; } /*DSK5 24 //代收款5 Numeric(15,4) Default 0,*/ DB_ConvertNumericToDouble(&theDatabase,&cs_DSK5,&d_DSK5,15,4); if (d_DSK5 != 0){ sprintf(szTemp,"%15s%2s%20.2f",szTemp1,F_DSK5,d_DSK5);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -