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

📄 mfeeagr.c

📁 电力与银行通讯的源码 1.应用tuxedo中间件. 2.与银行的前置机通讯. 3.proc*c 的应用
💻 C
📖 第 1 页 / 共 3 页
字号:
/*	MFEEAGR(MQRYFEEAGR):取费用(或查询费用)(该文件有改动需要同步更新mqryfee.cpp,完全一致,只有函数名不相同)	Input : 		序号 说明		长度	备注		1	客户编号	10			2	查询类别	1	0-只取该客户编号费用1-按该户合同号取费用		3	起始日期	8	YYYYMMDD,空白--不限制		4	截止日期	8	YYYYMMDD,空白--不限制		5	电费类别	2	00-全部(查询使用)                    11-所有应收(收费使用)		6	强制标志	2	00--不返回费用明细数据包;且超过阈值也不返回费用记录结果集,但返回记录数;				10--返回费用明细数据包;但超过阈值只返回记录数;				01-强制返回费用记录结果集,不返回费用明细数据;				11-强制返回所有结果				(缴费时默认给11,查询时默认给00)	Output: 		1	返回状态(可以转换成int型)	8	>0-返回的费用记录数											=0-没有费用记录											<0-访问失败											-100-该客户编号不存在        2   本次应交总金额      13        3   上次收款余额        13 	    4  	实际的结果记录数n	4	如不等于上面的值,则认为查询结果太多		5	费用明细记录数m		4	用于校验		6	费用记录结果集		210 * n	将各费用记录以一定格式拼成的字符串,格式:附		7	费用明细数据包		37 * m	结果集的格式:	电费流水	CHAR(15)		费用月份	CHAR(6)		YYYYMM	电费总额	CHAR(13)	##########.##	违约金额	CHAR(13)	##########.##	户名		CHAR(40)		用电地址	CHAR(80)		表号		CHAR(20)		平起码		CHAR(10)	#######.##	平止码		CHAR(10)	#######.##明细结果的格式:	电费流水	CHAR(15)		项目代码	CHAR(2)	将电费中的各个项目进行编码,每一项都代表一个实际的名称	项目值		CHAR(20)	可以为金额、数量、说明等*/#include "Public.h"#include "feeid.h"#define SIZE_OF_MAIN 207	/*主结构的大小*/#define SIZE_OF_DETAIL 37	/*明细结构的大小*/#define MAX_RESULT	100		/*最大的结果数,如不是强制处理,则大于该数则不处理*/#define MAX_DETAIL_ONE 40   /*每条记录的最大明细数*/#ifdef __cplusplusextern "C"#endifvoid#ifdef MW_CICSmain(MW_SVCINFO * transb)#endif#ifdef MW_TUXEDOMFEEAGR(MW_SVCINFO * transb)#endif{	/*定义输入参数*/	char szKHBH[11] = "";	char szDateFrom[9] = "";	char szDateTo[9] = "";	int  iFlag = 0;	int  iFeeFlag = 0;	int  iForceFlag = 0;	/*定义输出参数*/	char *szResult ;		/*主要信息结果集*/	char *szResultDetail;	/*明细费用结果集*/    char Sum[14]="";/*本次应交总金额*/	char Qcye[14]="";/*上次收款余额*/	int  iResultCount = 0;	/*结果记录数*/	int  iDetailCount = 0;	/*明细记录数*/	/*定义数据库数据处理变量*/	double  dFeeID = 0;	/*电费流水	CHAR(15)	*/	char	szFeeMonth[7] = "";	/*费用月份	CHAR(6)		YYYYMM*/	double  dSumFee = 0;	/*电费总额	CHAR(13)	##########.##*/	double  dLateFee = 0;	/*违约金额	CHAR(13)	##########.##*/	char	szAcctName[41] = "";/*户名		CHAR(40)	*/	char	szAddress[81] = "";	/*用电地址	CHAR(80)	*/	char	szMeterID[21] = "";/*表号		CHAR(20)	*/	double  dBeginPos = 0;/*平起码		CHAR(10)	#######.##*/	double  dEndPos = 0;/*平止码		CHAR(10)	#######.##*/	/*明细变量:数据库中各字段对应的变量,将数据取到这些变量中,并对每一个有数据的字段设置到明细中*/double d_DFID;double d_CSYSHJ; double d_BSDF;   double d_PDF ;   double d_FDF ;   double d_GDF ;   double d_JBDF;   double d_LLDF;   double d_DSK1;   double d_DSK2;   double d_DSK3;   double d_DSK4;   double d_DSK5;   double d_DSK6;   double d_DSK7;   double d_DSK8;   double d_PZM ;   double d_PQM ;   double d_FZM ;   double d_FQM ;   double d_GZM ;   double d_GQM ;   double d_WGZM;   double d_WGQM;   double d_PBS  ;       double d_FBS  ;       double d_GBS  ;       double d_WGBS ;       double d_PJFDL;       double d_FJFDL;       double d_GJFDL;       double d_WGJFDL;      double d_JFRL  ;      double d_TZL   ;      double d_PDFDJ ;      double d_FDFDJ ;      double d_GDFDJ ;      double d_JBDFDJ;      double d_DSK1DJ;      double d_DSK2DJ;      double d_DSK3DJ;      double d_DSK4DJ;      double d_DSK5DJ;      double d_DSK6DJ;      double d_DSK7DJ;      double d_DSK8DJ;      double d_PDL   ;      double d_FDL   ;      double d_GDL   ;      double d_WGDL  ;      double d_DL    ;      CS_NUMERIC cs_DFID;        /*电费ID Numeric(15,0) IDENTITY,*/char sz_CBCBM[8] = "";     /*抄表册编码 VARCHAR(7),*/char sz_JLZZBH[13] = "";   /*计量装置编号 VARCHAR(12),*/char sz_DFNY[7] = "";      /*电费年月 CHAR(6) ,*/char sz_CBSXH[7] = "";     /*抄表顺序号 CHAR(6),*/char sz_YSKSSJ[11] = "";   /*应收开始时间 Datetime DEFAULT GETDATE(),*/CS_NUMERIC cs_CSYSHJ;      /*初始应收合计 Numeric(15,4) Default 0,*/CS_NUMERIC cs_BSDF;        /*补收电费 Numeric(15,4) Default 0,*/CS_NUMERIC cs_PDF ;        /*平电费 Numeric(15,4) Default 0,*/CS_NUMERIC cs_FDF ;        /*峰电费 Numeric(15,4) Default 0,*/CS_NUMERIC cs_GDF ;        /*谷电费 Numeric(15,4) Default 0,*/CS_NUMERIC cs_JBDF;        /*基本电费 Numeric(15,4) Default 0,*/CS_NUMERIC cs_LLDF;        /*力率电费 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK1;        /*代收款1 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK2;        /*代收款2 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK3;        /*代收款3 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK4;        /*代收款4 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK5;        /*代收款5 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK6;        /*代收款6 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK7;        /*代收款7 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK8;        /*代收款8 Numeric(15,4) Default 0,*/CS_NUMERIC cs_PZM ;        /*平止码 Numeric(10,2),*/CS_NUMERIC cs_PQM ;        /*平起码 Numeric(10,2),*/CS_NUMERIC cs_FZM ;        /*峰止码 Numeric(10,2),*/CS_NUMERIC cs_FQM ;        /*峰起码 Numeric(10,2),*/CS_NUMERIC cs_GZM ;        /*谷止码 Numeric(10,2),*/CS_NUMERIC cs_GQM ;        /*谷起码 Numeric(10,2),*/CS_NUMERIC cs_WGZM;        /*无功止码 Numeric(10,2),*/CS_NUMERIC cs_WGQM;        /*无功起码 Numeric(10,2),*/int i_YGBL        ;/*有功倍率 INT,*/int i_WGBL        ;/*无功倍率 INT,*/CS_NUMERIC cs_PBS  ;       /*平变损 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_FBS  ;       /*峰变损 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_GBS  ;       /*谷变损 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_WGBS ;       /*无功变损 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_PJFDL;       /*平计费电量 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_FJFDL;       /*峰计费电量 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_GJFDL;       /*谷计费电量 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_WGJFDL;      /*无功计费电量 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_JFRL  ;      /*计费容量 Numeric(13,0) DEFAULT 0,*/int  i_GLYS  ;      /*功率因数 int,*/CS_NUMERIC cs_TZL   ;      /*调整率 Numeric(6,4),*/CS_NUMERIC cs_PDFDJ ;      /*平电费单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_FDFDJ ;      /*峰电费单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_GDFDJ ;      /*谷电费单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_JBDFDJ;      /*基本电费单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK1DJ;      /*代收款1单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK2DJ;      /*代收款2单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK3DJ;      /*代收款3单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK4DJ;      /*代收款4单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK5DJ;      /*代收款5单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK6DJ;      /*代收款6单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK7DJ;      /*代收款7单价 Numeric(15,4) Default 0,*/CS_NUMERIC cs_DSK8DJ;      /*代收款8单价 Numeric(15,4) Default 0,*/char sz_CCBH[21] = "";     /*出厂编号 VARCHAR(20) NULL,    --表号*/int  i_TSBZ;               /*特殊标志 tinyint     NULL,    --对应多块表*/CS_NUMERIC cs_PDL   ;      /*平抄见电量 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_FDL   ;      /*峰抄见电量 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_GDL   ;      /*谷抄见电量 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_WGDL  ;      /*无功抄见电量 Numeric(13,0) DEFAULT 0,*/CS_NUMERIC cs_DL    ;      /*总表抄见电量 Numeric(13,0) DEFAULT 0,*/char sz_RZBZSM[21] = "";   /*入帐说明		VARCHAR(20)*/char sz_KHXM[41] = "";     /*户名		CHAR(40)	*/char sz_YDDZ[81] = "";     /*用电地址	CHAR(80)	*/char szKHBHTmp[11] = "";char szTemp1[100] = "";CS_NUMERIC cs_DF_SUM  ;       /*电费总额=CSYSHJ-YSZJE*/CS_NUMERIC cs_WYJ    ;      /*违约金=YSWYJCKJE-WYJSSJE-WYJJMSPJE-WYJHJSPJE*/double d_DF_SUM;double d_WYJ;	/*定义临时变量*/	char szSql[5000] = "";	char szDropSql[100] = "drop table #tmp_bank_qry";	void *ppVar[100];	unsigned char pParam[] = TYPE_CHAR TYPE_CHAR TYPE_CHAR TYPE_INT TYPE_INT TYPE_INT TYPE_CHAR TYPE_CHAR;	int nStatus = 0;	char szMsg[255];	int i,j;	BOOL bRet;	CMiddleWare mwMidWare;	char *szInBuf;	char *szOutBuf;	char szTemp[1000]= "";	int iReturn;	int  nBufferSize = 0;	/*输出的Buffer大小*/	MW_Init(&mwMidWare,transb);	szInBuf = MW_GetInBuf(&mwMidWare);	if (szInBuf == NULL)	{		gf_Return(&mwMidWare,-1,"没有输入参数!");		return;	}/*	MW_Trace("OK1");*/	/*取输入参数*/	strncpy(szKHBH,szInBuf,10);	szKHBH[10] = '\0';	strncpy(szTemp,szInBuf + 10,1);	szTemp[1] = '\0';	iFlag = atoi(szTemp);	strncpy(szDateFrom,szInBuf + 11,8);	szDateFrom[8] = '\0';	strncpy(szDateTo  ,szInBuf + 11 + 8,8);	szDateTo[8] = '\0';	strncpy(szTemp,szInBuf + 11 + 8 + 8,2);	szTemp[2] = '\0';	iFeeFlag = atoi(szTemp);	strncpy(szTemp,szInBuf + 11 + 8 + 8 + 2,2);	szTemp[2] = '\0';	iForceFlag = atoi(szTemp);/*	MW_GetValue(&mwMidWare,KHBH,"KHBH",szKHBH,sizeof(szKHBH));	MW_GetValueInt(&mwMidWare,FLAG,"FLAG",&iFlag);	MW_GetValue(&mwMidWare,DATE_FROM,"DATE_FROM",szDateFrom,sizeof(szDateFrom));	MW_GetValue(&mwMidWare,DATE_TO,"DATE_TO",szDateTo,sizeof(szDateTo));	MW_GetValueInt(&mwMidWare,FEE_TYPE,"FEE_TYPE",&iFeeFlag);	MW_GetValueInt(&mwMidWare,FORCE_FLAG,"FORCE_FLAG",&iForceFlag);*/	/*建费用临时表*/	sprintf(szSql,"create table #tmp_bank_qry\( DFID numeric(15,0),CBCBM varchar(7) NULL,KHBH varchar(10) ,JLZZBH varchar(12) NULL,DFNY char(6) ,CBSXH char(6) NULL,DQZT tinyint  NULL,YINSLB tinyint  NULL,\ YSKSSJ datetime DEFAULT GETDATE() ,SFZY varchar(100) NULL,SFQX datetime NULL,CSSFFS tinyint  NULL,CSYSHJ numeric(15,4)  ,YSZJE numeric(15,4)  , YYFPJE numeric(15,4)  ,\ TCCS tinyint  ,CUIJIAOCS tinyint  ,BSDF numeric(15,4)  , PDF numeric(15,4)  , FDF numeric(15,4)  , GDF numeric(15,4)  , JBDF numeric(15,4)  , LLDF numeric(15,4)  ,\ DSK1 numeric(15,4)  , DSK2 numeric(15,4)  , DSK3 numeric(15,4)  , DSK4 numeric(15,4)  , DSK5 numeric(15,4)  , DSK6 numeric(15,4)  ,DSK7 numeric(15,4)  ,DSK8 numeric(15,4)  ,\ PZM numeric(10,2) NULL, PQM numeric(10,2) NULL,FZM numeric(10,2) NULL, FQM numeric(10,2) NULL,GZM numeric(10,2) NULL, GQM numeric(10,2) NULL, WGZM numeric(10,2) NULL, \ WGQM numeric(10,2) NULL, YGBL int NULL, WGBL int NULL, PBS numeric(13,0)  NULL, FBS numeric(13,0)  NULL,GBS numeric(13,0)  NULL, WGBS numeric(13,0)  NULL, PJFDL numeric(13,0)  NULL, \ FJFDL numeric(13,0)  NULL, GJFDL numeric(13,0)  NULL, WGJFDL numeric(13,0)  NULL,JFRL numeric(13,0)  NULL, GLYS int NULL, TZL NUMERIC(6,4) NULL, KHXM varchar(40) NULL, SSPB varchar(8) NULL, \ YDDZ varchar(80) NULL, DJM varchar(3) NULL, PDFDJ numeric(15,4)  NULL, FDFDJ numeric(15,4)  NULL,GDFDJ numeric(15,4)  NULL, JBDFDJ numeric(15,4)  NULL, LLDFDJ numeric(15,4)  NULL, DSK1DJ numeric(15,4)  NULL, DSK2DJ numeric(15,4)  NULL, DSK3DJ numeric(15,4)  NULL, \ DSK4DJ numeric(15,4)  NULL, DSK5DJ numeric(15,4)  NULL,DSK6DJ numeric(15,4)  NULL, DSK7DJ numeric(15,4)  NULL, DSK8DJ numeric(15,4)  NULL, YSWYJCKJE numeric(15,4)  , WYJJMSPJE numeric(15,4)  , WYJHJSPJE numeric(15,4)  ,\ WYJSSJE numeric(15,4)  , WYJFPYE numeric(15,4)  , YDLB varchar(4) NULL, BMBM char(2) NULL, CCBH varchar(20) NULL, TSBZ tinyint NULL, PDL numeric(13,0)  NULL, FDL numeric(13,0)  NULL,\ GDL numeric(13,0)  NULL, WGDL numeric(13,0)  NULL, RZBZSM VARCHAR(20) NULL, DL numeric(13,0)  NULL, TABLETYPE Tinyint Null)");	if (!DB_ExecuteSQL(&theDatabase,szSql))	{		gf_Return(&mwMidWare,-1,"创建费用临时表失败!");		return;	}/*	MW_Trace("OK2");*//* 输入参数:客户编号;起始日期;截止日期;           根据合同号:0-否,1-是;           电费类别:0-全部(欠费表与历史表中),                    11-所有应收应退,                    21-所有欠费(超过收费期限),                    22-当年欠费,                    23-历欠(非当年欠费) 输出参数:查询结果:0-正常结束, -100-客户编号不存在或重复@ac_khbh VARCHAR(10),@act_from CHAR(8),@act_to CHAR(8),@ai_gjhth INT,@ai_dflb INT,@ai_cxjg INT output	*/	ppVar[0] = &iReturn;    ppVar[1] = Sum;    ppVar[2] = Qcye; 	/*执行取费用存储过程*/	bRet = DB_ExecuteStoredProcedureWithResult(&theDatabase, "Up_c_bank_get_fee_agr", &nStatus, 		ppVar,3,		pParam,szKHBH,szDateFrom,szDateTo,iFlag,iFeeFlag,0);	if(!bRet || nStatus)	//失败	{		DB_ExecuteSQL(&theDatabase,szDropSql);		gf_Return(&mwMidWare,-1,"执行up_c_gjl_test_get失败");		return;	}	if (iReturn == -100)	{		DB_ExecuteSQL(&theDatabase,szDropSql);		gf_Return(&mwMidWare,-100,"该客户不存在");		return;	}

⌨️ 快捷键说明

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