📄 testjtyhdlg.cpp
字号:
memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
iLen = strlen(vpack->m_Data);
sprintf(tmpStr, "%04d", iLen);
memcpy(vpack->m_DataLen, tmpStr, 4);
return 0;
}
}
//047220
int CTestJtyhDlg::Function_ZK_ReqPack(PACKSTRUCT *vpack, char *vbuff)
{
int len = 0;
char tmpStr[80];
int retVal =0;
REQHEAD reqhead;
REQ_BODY_ZKQR reqbody;
//char kbh[10];//装/清卡编号
//char zzjuh[7];//自助机具号
memset((char *)&reqhead,0x00,sizeof(reqhead));
memset((char *)&reqbody,0x00,sizeof(reqbody));
/***********************************head*********************************************/
memcpy(reqhead.TIAFILLER,"TLU6",4);
memcpy(reqhead.TIAAPCODE,"04",2);
memcpy(reqhead.TIATRCODE,"7220",4);
memcpy(reqhead.TIAFECODE,"047220",6); // 前置机号 前置交易码,用于双交易码
memcpy(reqhead.TIATMSEQNO,"TERM099",7); //终端号
memcpy(reqhead.TIATXTYPE,"WEB99",5);//交易来源,填'WEB99'
memcpy(reqhead.TIATXSEQ,"000000000000000",15);//[15]填网银凭证号
memcpy(reqhead.TIATLID,"0000000",7);//[7]虚拟柜员号
reqhead.TIAREQTYPE[0] = 'T';
/*************************可不填
reqhead.TIAAUTH[2];
reqhead.TIASUP1ID[7];
reqhead.TIASUP2ID[7];
reqhead.TIASUP1PSW[6];
reqhead.TIASUP2PSW[6];
reqhead.TIASUP1DEV[1];
reqhead.TIASUP2DEV[1];
//char TIAAUTHRESNTBL Occur 10 I???????????????????
reqhead.TIAAUTHRESNTBL[10];
reqhead.TIAAUTHRESN[6];
reqhead.TIAAUTHLOG[1];
reqhead.TIAJRNNO[9];
*/
reqhead.TIACOMPIND[1]='0';
reqhead.TIAENCRIND[1]='0';
/*
reqhead.TIATRBR[6];
reqhead.TIATLLVL[1];
reqhead.TIAVERNO[8];
reqhead.TIAOUTERTLR[1];
reqhead.m_TIAFILLER[2];
*/
//char TIATRDATA[2048];
/*********************************body*************************************/
////char kbh[10];//装/清卡编号
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.kbh,tmpStr);
////char zzjuh[7];//自助机具号
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 2, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.zzjuh,tmpStr);
memcpy(vbuff,(char *)&reqhead,sizeof(reqhead));
memcpy(vbuff+sizeof(reqhead),(char *)&reqbody,sizeof(reqbody));
len = sizeof(reqhead)+sizeof(reqbody);
return len;
}
int CTestJtyhDlg::Function_ZK_AnsPack(PACKSTRUCT *vpack, char *vbuff)
{
int len = 0;
char tmpStr[80];
ANS_BODY_ZKQR ans;
memset((char *)&ans,0x00,sizeof(ans));
memset((char *)&ans,0x00,sizeof(ans));
memcpy((char *)&ans,vbuff,sizeof(ans));
memset(tmpStr,0x00,sizeof(tmpStr));
memcpy(tmpStr,(char *)&ans.head.TOAMSGCODE,sizeof(ans.head.TOAMSGCODE));
// 判断结果
if(memcmp(tmpStr,"0000",4)==0)// 成功
{
int iLen=0;
memcpy(vpack->m_Fhdm,"0000",sizeof(vpack->m_Fhdm));
memset((char *)vpack->m_Data,0x00,sizeof(vpack->m_Data));
//填包数据区长
memset(tmpStr,0x00,sizeof(tmpStr));
memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
iLen = strlen(vpack->m_Data);
sprintf(tmpStr, "%04d", iLen);
memcpy(vpack->m_DataLen, tmpStr, 4);
return 0;
}
else
{
int iLen=0;
memcpy(vpack->m_Fhdm,"9999",sizeof(vpack->m_Fhdm));
memset((char *)vpack->m_Data,0x00,sizeof(vpack->m_Data));
//客户号
strcpy(vpack->m_Data,"1000" );
iLen = strlen(vpack->m_Data);
vpack->m_Data[iLen] = 0x01;
strcpy(vpack->m_Data, "装卡失败");
iLen = strlen(vpack->m_Data);
vpack->m_Data[iLen] = 0x01;
//填包数据区长
memset(tmpStr,0x00,sizeof(tmpStr));
memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
iLen = strlen(vpack->m_Data);
sprintf(tmpStr, "%04d", iLen);
memcpy(vpack->m_DataLen, tmpStr, 4);
return 0;
}
}
/*
//1.1 客户信息建立(011155)
reqbody.zjzl,"15",2);
//证件种类 X(02) 必输 15居民身份证
strcpy(reqbody.zjhm,tmpStr);
//证件号码 X(30) 必输 可输中文
strcpy(reqbody.khxm,tmpStr);
//客户姓名 X(30) 必输 可输中文
reqbody.khsf[0]=0;
//客户身份 X(01) 必输 0居民 1非居民
strcpy(reqbody.jtzz,tmpStr);//[60];
//家庭地址 X(60) 可输 可输中文
//strcpy(reqbody.jtbm,tmpStr);
//家庭邮编 9(06) 可输
strcpy(reqbody.lxdz,tmpStr);
//联系地址 X(60) 可输 可输中文
//char lxyb[6];
//联系邮编 9(06) 可输
//char Email[30];
// X(30) 可输
strcpy(reqbody.tel1,tmpStr);
//电话1 X(20) 可输
strcpy(reqbody.tel2,tmpStr);
//电话2 X(20) 可输
strcpy(reqbody.mobil,tmpStr);
//手机号码 X(15) 可输
//char fax[20];
//传真 X(20) 可输
//char hybz[1];
//行员标志 X(01) 可输 0非本行行员1本行行员
//char khdj[2];
//客户等级 X(02) 可输 客户的综合级别,1五星;2四星;3三星;4二星;5一星;
//6低价值;7无价值;8亏损
//char xydj[1];
//信用等级 X(01) 可输 1 AAA,2 AA,3 A,4 BBB,5 BB,6 B,7 C
//char birth[8];
strcpy(reqbody.birth,tmpStr);
//出生年月 9(08) 可输
reqbody.sex[0] = 0 //?????????????????????????????
//性别 X(01) 可输 0男性;1女性;2未说明的性别;
//char hyzk[1];
//婚姻状况 X(01) 可输 1未婚;2已婚;3丧偶;4离婚;9不详。
//char jycd[2];
//教育程度 X(02) 可输 00研究生以上;01研究生;02大学本科;03大学专科和专科学校;04中等专业学校;05技工学校;06高中;07初中;08小学;09文盲或半文盲;10其他。
//char work[60];
//工作单位 X(60) 可输 可输中文
//char dwxz[2];
//单位性质 X(02) 可输 00国有;01集体;02私营;03个体;04联营;05股份;06外资;07港澳台;08中外合资;09中外合作;10合伙;11其他
//char dwdz[60];
//单位地址 X(60) 可输 可输中文
//char yzbm[6];
//邮政编码 9(06) 可输
char worktele[20];
//单位电话 X(20) 可输
//char hyxz[2];
//行业性质 X(02) 可输 00农、林、牧、渔业;
//20未知。
//char zzxz[1];
//住宅性质 X(01) 可输 0自购无按揭;1自置有按揭;2与父母同住;3租用;4与亲友同住;5宿舍;6其他;
//char yokematename[30];
//配偶姓名 X(30) 可输 可输中文
//char yokematezjlx[2];
//配偶证件类型 X(02) 可输 15居民身份证;16临时身份证;17军人身份证件;18武警身份证件;19通行证;20护照;21其他;22临时户口;23户口簿;24边境证;25外国人居留证;26身份证明。
//char yokematecardnum[30];
//配偶证件号码 X(30) 可输 可输中文
//char zc[1];
//职称 X(01) 可输 0无;1高级;2中级;3初级;4未知
//char gyrs[2];
//供养人数 9(02) 可输 000人;
//char home[1];
//住房情况 X(01) 可输 1自置;2按揭;3亲属楼宇;4集体宿舍;5租房;6其他; 7共有住宅;8未知;
//char sbh[30];
//社保号 X(30) 可输
//char mm[20];
//客户密码 X(20) 可输
char jgh[6];
//建立机构 9(06) 必输
char jlgy[7];
//建立柜员 X(07) 必输
char jlrq[8];
//建立日期 X(08) 必输
//char ywxm[30];
//英文姓名 X(30) 可输
//char gj[3];
//国籍 X(3) 可输
*/
//011155
int CTestJtyhDlg::Function_JLKHZL_ReqPack(PACKSTRUCT *vpack, char *vbuff)
{
int len = 0;
char tmpStr[80];
int retVal =0;
REQHEAD reqhead;
REQ_BODY_KHZLJL reqbody;
memset((char *)&reqhead,0x00,sizeof(reqhead));
memset((char *)&reqbody,0x00,sizeof(reqbody));
/***********************************head*********************************************/
memcpy(reqhead.TIAFILLER,"TLU6",4);
memcpy(reqhead.TIAAPCODE,"01",2);
memcpy(reqhead.TIATRCODE,"1155",4);
memcpy(reqhead.TIAFECODE,"011155",6); // 前置机号 前置交易码,用于双交易码
memcpy(reqhead.TIATMSEQNO,"TERM099",7); //终端号
memcpy(reqhead.TIATXTYPE,"WEB99",5);//交易来源,填'WEB99'
memcpy(reqhead.TIATXSEQ,"000000000000000",15);//[15]填网银凭证号
memcpy(reqhead.TIATLID,"0000000",7);//[7]虚拟柜员号
reqhead.TIAREQTYPE[0] = 'T';
/*************************可不填
reqhead.TIAAUTH[2];
reqhead.TIASUP1ID[7];
reqhead.TIASUP2ID[7];
reqhead.TIASUP1PSW[6];
reqhead.TIASUP2PSW[6];
reqhead.TIASUP1DEV[1];
reqhead.TIASUP2DEV[1];
//char TIAAUTHRESNTBL Occur 10 I???????????????????
reqhead.TIAAUTHRESNTBL[10];
reqhead.TIAAUTHRESN[6];
reqhead.TIAAUTHLOG[1];
reqhead.TIAJRNNO[9];
*/
reqhead.TIACOMPIND[1]='0';
reqhead.TIAENCRIND[1]='0';
/*
reqhead.TIATRBR[6];
reqhead.TIATLLVL[1];
reqhead.TIAVERNO[8];
reqhead.TIAOUTERTLR[1];
reqhead.m_TIAFILLER[2];
*/
//char TIATRDATA[2048];
/*********************************body*************************************/
//1.1 客户信息建立(011155)
memcpy(reqbody.zjzl,"15",2);
//证件种类 X(02) 必输 15居民身份证
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.zjhm,tmpStr);
//证件号码 X(30) 必输 可输中文
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.khxm,tmpStr);
//客户姓名 X(30) 必输 可输中文
reqbody.khsf[0]=0;
//客户身份 X(01) 必输 0居民 1非居民
//memset( tmpStr, 0x00, sizeof( tmpStr ) );
//retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
//alltrimSpace(tmpStr);
//strcpy(reqbody.jtzz,tmpStr);//[60];
//家庭地址 X(60) 可输 可输中文
//strcpy(reqbody.jtbm,tmpStr);
//家庭邮编 9(06) 可输
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.lxdz,tmpStr);
//联系地址 X(60) 可输 可输中文
//char lxyb[6];
//联系邮编 9(06) 可输
//char Email[30];
// X(30) 可输
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.tel1,tmpStr);
//电话1 X(20) 可输
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.tel2,tmpStr);
//电话2 X(20) 可输
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.mobil,tmpStr);
//手机号码 X(15) 可输
//char fax[20];
//传真 X(20) 可输
//char hybz[1];
//行员标志 X(01) 可输 0非本行行员1本行行员
//char khdj[2];
//客户等级 X(02) 可输 客户的综合级别,1五星;2四星;3三星;4二星;5一星;
//6低价值;7无价值;8亏损
//char xydj[1];
//信用等级 X(01) 可输 1 AAA,2 AA,3 A,4 BBB,5 BB,6 B,7 C
//char birth[8];
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.birth,tmpStr);
//出生年月 9(08) 可输
reqbody.sex[0] = 0; //?????????????????????????????
//性别 X(01) 可输 0男性;1女性;2未说明的性别;
//char hyzk[1];
//婚姻状况 X(01) 可输 1未婚;2已婚;3丧偶;4离婚;9不详。
//char jycd[2];
//教育程度 X(02) 可输 00研究生以上;01研究生;02大学本科;03大学专科和专科学校;04中等专业学校;05技工学校;06高中;07初中;08小学;09文盲或半文盲;10其他。
//char work[60];
//工作单位 X(60) 可输 可输中文
//char dwxz[2];
//单位性质 X(02) 可输 00国有;01集体;02私营;03个体;04联营;05股份;06外资;07港澳台;08中外合资;09中外合作;10合伙;11其他
//char dwdz[60];
//单位地址 X(60) 可输 可输中文
//char yzbm[6];
//邮政编码 9(06) 可输
//char worktele[20];
//单位电话 X(20) 可输
//char hyxz[2];
//行业性质 X(02) 可输 00农、林、牧、渔业;
//20未知。
//char zzxz[1];
//住宅性质 X(01) 可输 0自购无按揭;1自置有按揭;2与父母同住;3租用;4与亲友同住;5宿舍;6其他;
//char yokematename[30];
//配偶姓名 X(30) 可输 可输中文
//char yokematezjlx[2];
//配偶证件类型 X(02) 可输 15居民身份证;16临时身份证;17军人身份证件;18武警身份证件;19通行证;20护照;21其他;22临时户口;23户口簿;24边境证;25外国人居留证;26身份证明。
//char yokematecardnum[30];
//配偶证件号码 X(30) 可输 可输中文
//char zc[1];
//职称 X(01) 可输 0无;1高级;2中级;3初级;4未知
//char gyrs[2];
//供养人数 9(02) 可输 000人;
//char home[1];
//住房情况 X(01) 可输 1自置;2按揭;3亲属楼宇;4集体宿舍;5租房;6其他; 7共有住宅;8未知;
//char sbh[30];
//社保号 X(30) 可输
//char mm[20];
//客户密码 X(20) 可输
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.jgh,tmpStr);
//建立机构 9(06) 必输
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.jlgy,tmpStr);
//char jlgy[7];
//建立柜员 X(07) 必输
memset( tmpStr, 0x00, sizeof( tmpStr ) );
retVal = GetValue( vpack->m_Data, tmpStr, 1, 0x01 );
alltrimSpace(tmpStr);
strcpy(reqbody.jlrq,tmpStr);
//建立日期 X(08) 必输
//char ywxm[30];
//英文姓名 X(30) 可输
//char gj[3];
//国籍 X(3) 可输
memcpy(vbuff,(char *)&reqhead,sizeof(reqhead));
memcpy(vbuff+sizeof(reqhead),(char *)&reqbody,sizeof(reqbody));
len = sizeof(reqhead)+sizeof(reqbody);
return len;
}
int CTestJtyhDlg::Function_JLKHZL_AnsPack(PACKSTRUCT *vpack, char *vbuff)
{
int len = 0;
char tmpStr[80];
ANS_BODY_KHZLJL ans;
memset((char *)&ans,0x00,sizeof(ans));
memset((char *)&ans,0x00,sizeof(ans));
memcpy((char *)&ans,vbuff,sizeof(ans));
memset(tmpStr,0x00,sizeof(tmpStr));
memcpy(tmpStr,(char *)&ans.head.TOAMSGCODE,sizeof(ans.head.TOAMSGCODE));
// 判断结果
if(memcmp(tmpStr,"0000",4)==0)// 成功
{
int iLen=0;
memcpy(vpack->m_Fhdm,"0000",sizeof(vpack->m_Fhdm));
memset((char *)vpack->m_Data,0x00,sizeof(vpack->m_Data));
//客户号
memset(tmpStr,0x00,sizeof(tmpStr));
memcpy(tmpStr,(char *)&ans.custom,sizeof(ans.custom));
strcpy(vpack->m_Data, tmpStr);
iLen = strlen(vpack->m_Data);
vpack->m_Data[iLen] = 0x01;
memset(tmpStr,0x00,sizeof(tmpStr));
memcpy(tmpStr,(char *)&ans.name,sizeof(ans.name));
strcpy(vpack->m_Data, tmpStr);
iLen = strlen(vpack->m_Data);
vpack->m_Data[iLen] = 0x01;
//填包数据区长
memset(tmpStr,0x00,sizeof(tmpStr));
memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
iLen = strlen(vpack->m_Data);
sprintf(tmpStr, "%04d", iLen);
memcpy(vpack->m_DataLen, tmpStr, 4);
return 0;
}
else
{
int iLen=0;
memcpy(vpack->m_Fhdm,"9999",sizeof(vpack->m_Fhdm));
memset((char *)vpack->m_Data,0x00,sizeof(vpack->m_Data));
//客户号
strcpy(vpack->m_Data,"1000" );
iLen = strlen(vpack->m_Data);
vpack->m_Data[iLen] = 0x01;
strcpy(vpack->m_Data, "建立客户资料失败");
iLen = strlen(vpack->m_Data);
vpack->m_Data[iLen] = 0x01;
//填包数据区长
memset(tmpStr,0x00,sizeof(tmpStr));
memset(vpack->m_DataLen,0x00,sizeof(vpack->m_DataLen));
iLen = strlen(vpack->m_Data);
sprintf(tmpStr, "%04d", iLen);
memcpy(vpack->m_DataLen, tmpStr, 4);
return 0;
}
}
//废卡内部销卡(047290)
int CTestJtyhDlg::Function_Nbxk_ReqPack(PACKSTRUCT *vpack, char *vbuff)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -