📄 feeclashquery.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 + -