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

📄 feeclashquery.c

📁 用C 语言开发Tuxedo客户端连接程序
💻 C
字号:
#include "stdio.h"#include "string.h"
#include "BankIntf.h"main(int argc,char *argv[]){		int iRet ;
		SBasicInput  sBasicInput;
		SBasicOutput sBasicOutput;
		SQCancelFeeInfoInput qCancelFeeInfoInput;
		SQCancelFeeInfoOutput sQCancelFeeInfoOutput;
		
		strcpy(sBasicInput.province_code,"QHAI");
        strcpy(sBasicInput.in_mode_code,"4");
		strcpy(sBasicInput.trade_eparchy_code,argv[3]);
		strcpy(sBasicInput.trade_city_code,"INTF");
        strcpy(sBasicInput.trade_depart_id,"00306");
		strcpy(sBasicInput.trade_staff_id,argv[4]);
        strcpy(sBasicInput.trade_depart_passwd,"0123456789");


		strcpy(qCancelFeeInfoInput.charge_id,argv[2]);
        strcpy(qCancelFeeInfoInput.eparchy_code,argv[3]);
		
		tuxputenv("WSNADDR=//135.191.25.225:46500");	
		iRet=fnQCancelFee(&sBasicInput,&qCancelFeeInfoInput,&sBasicOutput,&sQCancelFeeInfoOutput);
		if (iRet<0)		{			printf("\n[交易执行失败[%d]]\n",iRet);			exit(1);		}
		else
		{
		    printf("%s",argv[1]);  // 4:交费冲正查询 1
            printf(";%d",sBasicOutput.x_resultcode);  /*返回结果代码2*/
			printf(";%s",sBasicOutput.x_resultinfo); /*返回结果信息3*/
			printf(";%d",sBasicOutput.x_recordnum); /*返回结果记录数4*/
		    
			printf(";%s",sQCancelFeeInfoOutput.user_id); /*用户标识*/
			printf(";%s",sQCancelFeeInfoOutput.pay_name); /*综合帐目名称*/
			printf(";%s",sQCancelFeeInfoOutput.user_name);/*用户名称*/
			printf(";%s",sQCancelFeeInfoOutput.city_code); /*业务区编码*/
			printf(";%s",sQCancelFeeInfoOutput.city_name); /*业务区名称*/
			printf(";%s",sQCancelFeeInfoOutput.eparchy_code); /*地州编码*/
			printf(";%s",sQCancelFeeInfoOutput.serial_number); /*服务号码*/
			printf(";%s",sQCancelFeeInfoOutput.charge_id); /*缴费流水号*/
			printf(";%d",sQCancelFeeInfoOutput.charge_source_code);  /*费用来源*/
			printf(";%d",sQCancelFeeInfoOutput.pay_fee_mode_code); 	/*缴费方式*/
			printf(";%s",sQCancelFeeInfoOutput.cancel_tag); /*返销标识*/
			printf(";%s",sQCancelFeeInfoOutput.recv_fee); /*收费金额*/
			printf(";%s",sQCancelFeeInfoOutput.recv_time); /*收费时间*/
		    printf(";%s",sQCancelFeeInfoOutput.recv_eparchy_code); /*收费地州*/
			printf(";%s",sQCancelFeeInfoOutput.recv_city_code); /*收费业务区*/
			printf(";%d",sQCancelFeeInfoOutput.recv_depart_id); /*收费部门*/
		    printf(";%d",sQCancelFeeInfoOutput.recv_staff_id); /*收费员工*/
			exit(1);
		}			}


 	/*-----------------------------------------------------------------------------
 * Function : fnQCancelFee
 * Purpose  : 缴费返销查询
 * Input    :
 *            SBasicInput *             -- 输入参数,基本输入数据
 *            SQCancelFeeInfoInput *   	-- 输入参数,返销查询输入数据
 *            SBasicOutput *            -- 输出参数,基本输出数据
 *            SQCancelFeeInfoOutput *   -- 输出参数,返销查询输出数据
 * Return   : 0 成功, -1 失败
 * Remark   : 
 * Author   : Luxd
 * Date	    : 2004/07/07
 *-----------------------------------------------------------------------------
 */
#if defined(__STDC__) || defined(__cplusplus)			
int  fnQCancelFee (SBasicInput * sBasicInput, SQCancelFeeInfoInput * sQCancelFeeInfoInput, 
                    SBasicOutput * sBasicOutput, SQCancelFeeInfoOutput * sQCancelFeeInfoOutput)
#else    
int  fnQCancelFee ( sBasicInput,  sQCancelFeeInfoInput, sBasicOutput, sQCancelFeeInfoOutput )
     SBasicInput * sBasicInput;
     SQCancelFeeInfoInput * sQCancelFeeInfoInput;
     SBasicOutput * sBasicOutput;
     SQCancelFeeInfoOutput * sQCancelFeeInfoOutput;
#endif
{
	
	FBFR *fmlbuf= (FBFR *) NULL;        /* tuxedo服务调用输入输出缓存 */

	int iReturn;
	long lOutLen;
    
    char  userid[USER_ID_LEN] = "\0";		              /*用户标识*/
    char  payname[PAY_NAME_LEN] = "\0";                   /*综合帐目名称*/
    char  username[USER_NAME_LEN] = "\0";                 /*用户名称*/
    char  citycode[TRADE_CITY_CODE_LEN] = "\0";           /*业务区编码*/
    char  cityname[CITY_NAME_LEN] = "\0";                 /*业务区名称*/
    char  eparchycode[EPARCHY_CODE_LEN] = "\0";           /*地州编码*/
    char  serialnumber[SERIAL_NUMBER_LEN] = "\0";         /*服务号码*/
    char  chargeid[CHARGE_ID_LEN] = "\0";                 /*缴费流水号*/
    long  chargesourcecode = 0;                           /*费用来源*/
    long  payfeemodecode = 0;                             /*缴费方式*/
    char  canceltag[CANCEL_TAG_LEN] = "\0";               /*返销标识*/
    char  recvfee[RECV_FEE_LEN] = "\0";                   /*收费金额*/
    char  recvtime[RECV_TIME_LEN] = "\0";                 /*收费时间*/
    char  recveparchycode[EPARCHY_CODE_LEN] = "\0";       /*收费地州*/
    char  recvcitycode[TRADE_CITY_CODE_LEN] = "\0";       /*收费业务区*/
    char  recvdepartid[TRADE_DEPART_ID_LEN] = "\0";       /*收费部门*/
    char  recvstaffid[TRADE_STAFF_ID_LEN] = "\0";         /*收费员工*/
    
    long  xresultcode = 0;                                /*返回结果代码*/
    char  xresultinfo[X_RESULTINFO_LEN] = "\0";           /*返回结果信息*/
    long  xrecordnum = 0;                                 /*返回结果记录数,多行输出时有效*/
    char infotemp[2000];

	
	/* 建立tuxedo连接 */
    if (tpinit((TPINIT *) NULL) == -1) 
    {
		(void) fprintf(stderr, "Tpinit failed\n");
		return -1;
	}

	fmlbuf = (FBFR *)tpalloc((char *)FMLTYPE, NULL, 4096);
	if (fmlbuf == (FBFR *)NULL)
	{
		tpterm();
		return -1;
	}

	iReturn = Finit(fmlbuf, 4096);

	if(iReturn >= 0)
	{
	    /* 填写tuxedo服务输入数据 */
        iReturn =  
            Fchg(fmlbuf, X_TRANS_CODE,         (FLDOCC)0, (char *)"ITF_BKHQ_CHARGEIDQRY",           (FLDLEN)0)|
            Fchg(fmlbuf, PROVINCE_CODE,        (FLDOCC)0, (char *)sBasicInput->province_code,       (FLDLEN)0)|
            Fchg(fmlbuf, IN_MODE_CODE,         (FLDOCC)0, (char *)sBasicInput->in_mode_code,        (FLDLEN)0)|
            Fchg(fmlbuf, TRADE_EPARCHY_CODE,   (FLDOCC)0, (char *)sBasicInput->trade_eparchy_code,  (FLDLEN)0)|
            Fchg(fmlbuf, TRADE_CITY_CODE,      (FLDOCC)0, (char *)sBasicInput->trade_city_code,     (FLDLEN)0)|
            Fchg(fmlbuf, TRADE_DEPART_ID,      (FLDOCC)0, (char *)sBasicInput->trade_depart_id,     (FLDLEN)0)|
            Fchg(fmlbuf, TRADE_STAFF_ID,       (FLDOCC)0, (char *)sBasicInput->trade_staff_id,      (FLDLEN)0)|
            Fchg(fmlbuf, TRADE_DEPART_PASSWD,  (FLDOCC)0, (char *)sBasicInput->trade_depart_passwd, (FLDLEN)0);
    }
            
	if (iReturn >= 0)
	{
	    /* 填写返销查询输入数据*/
		iReturn =
			Fchg(fmlbuf, CHARGE_ID,           (FLDOCC)0, (char *)sQCancelFeeInfoInput->charge_id,       (FLDLEN)0)|
            Fchg(fmlbuf, EPARCHY_CODE,        (FLDOCC)0, (char *)sQCancelFeeInfoInput->eparchy_code,    (FLDLEN)0);
	}

	if (iReturn < 0)
	{
		tpfree((char*)fmlbuf);
		tpterm();
		return -1;
	}
	else
	{
		/* 调用tuxedo服务 */
		iReturn = tpcall("ITF_BKHSVC", (char *)fmlbuf, 0, (char **)&fmlbuf, (long *)&lOutLen, TPNOTRAN);
			
	    if (iReturn >= 0)
	    {
	        /* 取返回数据 */
	        Fget(fmlbuf, USER_ID,            (FLDOCC)0, (char *)userid,            (FLDLEN *)NULL);
	        Fget(fmlbuf, PAY_NAME,           (FLDOCC)0, (char *)payname,           (FLDLEN *)NULL);
	        Fget(fmlbuf, USER_NAME,	         (FLDOCC)0, (char *)username,          (FLDLEN *)NULL);
	        Fget(fmlbuf, TRADE_CITY_CODE,	 (FLDOCC)0, (char *)citycode,          (FLDLEN *)NULL);
        	Fget(fmlbuf, CITY_NAME,	         (FLDOCC)0, (char *)cityname,          (FLDLEN *)NULL);
        	Fget(fmlbuf, EPARCHY_CODE,	     (FLDOCC)0, (char *)eparchycode,       (FLDLEN *)NULL);        
        	Fget(fmlbuf, SERIAL_NUMBER,      (FLDOCC)0, (char *)serialnumber,      (FLDLEN *)NULL);
        	Fget(fmlbuf, CHARGE_ID,	         (FLDOCC)0, (char *)chargeid,          (FLDLEN *)NULL);      	      	
        	Fget(fmlbuf, CHARGE_SOURCE_CODE, (FLDOCC)0, (char *)&chargesourcecode, (FLDLEN *)NULL);        	
        	Fget(fmlbuf, PAY_FEE_MODE_CODE,  (FLDOCC)0, (char *)&payfeemodecode,   (FLDLEN *)NULL);
        	Fget(fmlbuf, CANCEL_TAG,         (FLDOCC)0, (char *)canceltag,         (FLDLEN *)NULL);
       	    Fget(fmlbuf, RECV_FEE,           (FLDOCC)0, (char *)recvfee,           (FLDLEN *)NULL);
        	Fget(fmlbuf, RECV_TIME,	         (FLDOCC)0, (char *)recvtime,          (FLDLEN *)NULL);
        	Fget(fmlbuf, EPARCHY_CODE,       (FLDOCC)0, (char *)recveparchycode,   (FLDLEN *)NULL);
        	Fget(fmlbuf, TRADE_CITY_CODE,    (FLDOCC)0, (char *)recvcitycode,      (FLDLEN *)NULL);
        	Fget(fmlbuf, TRADE_DEPART_ID,    (FLDOCC)0, (char *)recvdepartid,      (FLDLEN *)NULL);
        	Fget(fmlbuf, TRADE_STAFF_ID,     (FLDOCC)0, (char *)recvstaffid,       (FLDLEN *)NULL);
        	
        	sprintf(sQCancelFeeInfoOutput->user_id,            "%s",  userid);
        	sprintf(sQCancelFeeInfoOutput->pay_name,	       "%s",  payname);
        	sprintf(sQCancelFeeInfoOutput->user_name, 	       "%s",  username);
        	sprintf(sQCancelFeeInfoOutput->city_code,          "%s",  citycode);
        	sprintf(sQCancelFeeInfoOutput->city_name, 	       "%s",  cityname);
        	sprintf(sQCancelFeeInfoOutput->eparchy_code,       "%s",  eparchycode);       	
        	sprintf(sQCancelFeeInfoOutput->serial_number,      "%s",  serialnumber);
        	sprintf(sQCancelFeeInfoOutput->charge_id,          "%s",  chargeid);
        	sQCancelFeeInfoOutput->charge_source_code = chargesourcecode;
        	sQCancelFeeInfoOutput->pay_fee_mode_code = payfeemodecode;
        	sprintf(sQCancelFeeInfoOutput->cancel_tag,         "%s",  canceltag);
        	sprintf(sQCancelFeeInfoOutput->recv_fee,           "%s",  recvfee);
        	sprintf(sQCancelFeeInfoOutput->recv_time,          "%s",  recvtime);
        	sprintf(sQCancelFeeInfoOutput->recv_eparchy_code,  "%s",  recveparchycode);
        	sprintf(sQCancelFeeInfoOutput->recv_city_code,     "%s",  recvcitycode);
        	sprintf(sQCancelFeeInfoOutput->recv_depart_id,     "%s",  recvdepartid);
        	sprintf(sQCancelFeeInfoOutput->recv_staff_id,      "%s",  recvstaffid);
        	
        	Fget(fmlbuf, X_RESULTCODE, (FLDOCC)0, (char *)&xresultcode, (FLDLEN *)NULL);
        	Fget(fmlbuf, X_RESULTINFO, (FLDOCC)0, (char *)infotemp,     (FLDLEN *)NULL);
        	Fget(fmlbuf, X_RECORDNUM,  (FLDOCC)0, (char *)&xrecordnum,  (FLDLEN *)NULL);    	
        	infotemp[500] = '\0';
        	
        	
        	sBasicOutput->x_resultcode = xresultcode;
        	sprintf(sBasicOutput->x_resultinfo,  "%s", infotemp);
        	sBasicOutput->x_recordnum = xrecordnum;
        }
	}

	/* 释放输入、输出缓存,断开tuxedo连接 */
	tpfree((char*)fmlbuf);
	tpterm();

	/* 返回结果 */
	if (iReturn < 0)
	    return -1;

	return 0;
}

⌨️ 快捷键说明

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