📄 menufunc.c
字号:
int ret = 0; FORM_NODE *p; WINDOW *win; char tmp[80]; if(ChkPrivil('1')) return(1); if((p = LoadForm("../etc/addhvcs.frm")) == NULL) return(0); win = FormWin(p); while(DriverForm(p) == OK ){ if(CheckForm(p)) continue; if(ChkHVCS(p)) continue; memset(PACK, 0, sizeof(PACK)); sprintf(PACK, "2002%-8s%-4s%-06d%-32s%-60s%-2s%-20s%-12s%s%-60s%-40s%-2s%-20s%-2s%-20s%-18s%-8s%-20s%-2s%-10s%-20s%-4s%s", SYSDATE, OPRCODE, SEQNO++, " ", ReadField(p, 1), ReadField(p, 2), ReadField(p, 3), ReadField(p, 4), ReadField(p, 5), ReadField(p, 6), ReadField(p, 7), ReadField(p, 8), ReadField(p, 9), ReadField(p, 10), ReadField(p, 11), ReadField(p, 12), ReadField(p, 13), ReadField(p, 14), ReadField(p, 15), ReadField(p, 16), " ", ORGCODE, "2"); if(ret = SendHost()) PrintErr(win, ret); else { memset(tmp, 0, 80); memcpy(tmp, &PACK[4], 4); if( ret = atoi(tmp)) PrintErr(win, ret); else { PrintMsg(win, "交易成功", 'R'); FreeForm(p); p = LoadForm("../etc/addhvcs.frm"); win = FormWin(p); } } } FreeForm(p); return(ret);} /* 大额现金支取业务要素检查*/int ChkHVCD(FORM_NODE *p){ ST_HVCD m; char tmp[80]; WINDOW *win = FormWin(p); memset(&m, 0, sizeof(ST_HVCD)); strcpy(m.outbkno, ReadField(p, 1)); strcpy(m.outbktype, ReadField(p, 2)); strcpy(m.outname, ReadField(p, 3)); strcpy(m.outacctno, ReadField(p, 4)); strcpy(m.outpartno, ReadField(p, 5)); strcpy(m.outtype, ReadField(p, 6)); strcpy(m.outpasstype, ReadField(p, 7)); strcpy(m.outpassno, ReadField(p, 8)); strcpy(m.inname, ReadField(p, 9)); strcpy(m.intype, ReadField(p, 10)); strcpy(m.inpasstype, ReadField(p, 11)); strcpy(m.inpassno, ReadField(p, 12)); memset(tmp, 0, sizeof(tmp)); strcpy(tmp, ReadField(p, 13)); m.amount = atof(tmp); strcpy(m.outdate, ReadField(p, 14)); strcpy(m.use, ReadField(p, 15)); strcpy(m.transtype, ReadField(p, 16)); strcpy(m.transcode, ReadField(p, 17)); if(IsBlank(m.outbkno)) { PrintMsg(win, "付款行行号不能为空", 'E'); return(1); } if(IsBlank(m.outacctno)) { PrintMsg(win, "付款人账号不能为空", 'E'); return(1); } if(IsBlank(m.outname)) { PrintMsg(win, "付款人名称不能为空", 'E'); return(1); } if((atoi(m.outtype) == 2) && IsBlank(m.outpasstype)) { PrintMsg(win, "付款人类型为个人时,付款人证件类型不能为空。", 'E'); return(1); } if((atoi(m.outtype) == 2) && IsBlank(m.outpassno)) { PrintMsg(win, "付款人类型为个人时,付款人证件号码不能为空。", 'E'); return(1); } if(IsBlank(m.inname)) { PrintMsg(win, "收款人名称不能为空", 'E'); return(1); } if((atoi(m.intype) == 2) && IsBlank(m.inpasstype)) { PrintMsg(win, "收款人类型为个人时,收款人证件类型不能为空。", 'E'); return(1); } if((atoi(m.intype) == 2) && IsBlank(m.inpassno)) { PrintMsg(win, "收款人类型为个人时,收款人证件号码不能为空。", 'E'); return(1); } return(0);}/* 大额现金支取业务*/int AddHVCD(){ int ret = 0; FORM_NODE *p; WINDOW *win; char tmp[80]; if(ChkPrivil('1')) return(1); if((p = LoadForm("../etc/addhvcd.frm")) == NULL) return(0); win = FormWin(p); while(DriverForm(p) == OK ){ if(CheckForm(p)) continue; if(ChkHVCD(p)) continue; memset(PACK, 0, sizeof(PACK)); sprintf(PACK, "2003%-8s%-4s%-06d%-32s%-12s%s%-60s%-40s%-20s%-2s%-2s%-20s%-60s%-2s%-2s%-20s%-18s%-8s%-20s%-2s%-10s%-20s%-4s%s", SYSDATE, OPRCODE, SEQNO++, " ", ReadField(p, 1), ReadField(p, 2), ReadField(p, 3), ReadField(p, 4), ReadField(p, 5), ReadField(p, 6), ReadField(p, 7), ReadField(p, 8), ReadField(p, 9), ReadField(p, 10), ReadField(p, 11), ReadField(p, 12), ReadField(p, 13), ReadField(p, 14), ReadField(p, 15), ReadField(p, 16), ReadField(p, 17), " ", ORGCODE, "3"); if(ret = SendHost()) PrintErr(win, ret); else { memset(tmp, 0, 80); memcpy(tmp, &PACK[4], 4); if( ret = atoi(tmp)) PrintErr(win, ret); else { PrintMsg(win, "交易成功", 'R'); FreeForm(p); p = LoadForm("../etc/addhvcd.frm"); win = FormWin(p); } } } FreeForm(p); return(ret);} /* 其他大额现金业务检查*/int ChkOHVC(FORM_NODE *p){ ST_OHVC m; char tmp[80]; WINDOW *win = FormWin(p); memset(&m, 0, sizeof(ST_OHVC)); strcpy(m.outbkno, ReadField(p, 1)); strcpy(m.outbktype, ReadField(p, 2)); strcpy(m.outname, ReadField(p, 3)); strcpy(m.outacctno, ReadField(p, 4)); strcpy(m.outpasstype, ReadField(p, 5)); strcpy(m.outpassno, ReadField(p, 6)); strcpy(m.outpartno, ReadField(p, 7)); strcpy(m.inbkno, ReadField(p, 8)); strcpy(m.inbktype, ReadField(p, 9)); strcpy(m.inname, ReadField(p, 10)); strcpy(m.inacctno, ReadField(p, 11)); strcpy(m.inpasstype, ReadField(p, 12)); strcpy(m.inpassno, ReadField(p, 13)); strcpy(m.inpartno, ReadField(p, 14)); m.amount = atof(ReadField(p, 15)); strcpy(m.outdate, ReadField(p, 16)); strcpy(m.indate, ReadField(p, 17)); strcpy(m.use, ReadField(p, 18)); strcpy(m.transtype, ReadField(p, 19)); strcpy(m.billno, ReadField(p, 20)); strcpy(m.transcode, ReadField(p, 21)); if(IsBlank(m.outbkno)) { PrintMsg(win, "付款行行号不能为空", 'E'); return(1); } if(IsBlank(m.outname)) { PrintMsg(win, "付款人名称不能为空", 'E'); return(1); } if(IsBlank(m.inbkno)) { PrintMsg(win, "收款行行号不能为空", 'E'); return(1); } if(IsBlank(m.inname)) { PrintMsg(win, "收款人名称不能为空", 'E'); return(1); } if(IsBlank(m.inpasstype)) { PrintMsg(win, "收款人证件类型不能为空。", 'E'); return(1); } if(IsBlank(m.inpassno)) { PrintMsg(win, "收款人证件号码不能为空。", 'E'); return(1); } if((m.inbktype[0] != '0') || (m.outbktype[0] != '0')) { if(IsBlank(m.billno)) { PrintMsg(win, "跨行交易时凭证代码不能为空", 'E'); return(1); } } if(((m.inbktype[0] == '0' ) && (m.outbktype[0] != '0')) || ((m.inbktype[0] !='0') && (m.outbktype[0] == '0'))) { PrintMsg(win, "收、付款行行号类型不一致。", 'E'); return(1); } return(0);} /* 其他大额现金业务*/int AddOHVC(){ int ret = 0; FORM_NODE *p; WINDOW *win; char tmp[80]; if(ChkPrivil('1')) return(1); if((p = LoadForm("../etc/addohvc.frm")) == NULL) return(0); win = FormWin(p); while(DriverForm(p) == OK ){ if(CheckForm(p)) continue; if(ChkOHVC(p)) continue; memset(PACK, 0, sizeof(PACK)); sprintf(PACK, "2004%-8s%-4s%-06d%-32s%-12s%s%-60s%-40s%-2s%-20s%-20s%-12s%s%-60s%-40s%-2s%-20s%-20s%18s%-8s%-8s%-20s%-2s%-32s%-10s%-20s%-4s%s", SYSDATE, OPRCODE, SEQNO++, " ", ReadField(p, 1), ReadField(p, 2), ReadField(p, 3), ReadField(p, 4), ReadField(p, 5), ReadField(p, 6), ReadField(p, 7), ReadField(p, 8), ReadField(p, 9), ReadField(p, 10), ReadField(p, 11), ReadField(p, 12), ReadField(p, 13), ReadField(p, 14), ReadField(p, 15), ReadField(p, 16), ReadField(p, 17), ReadField(p, 18), ReadField(p, 19), ReadField(p, 20), ReadField(p, 21), " ", ORGCODE, "4"); if(ret = SendHost()) PrintErr(win, ret); else { memset(tmp, 0, 80); memcpy(tmp, &PACK[4], 4); if( ret = atoi(tmp)) PrintErr(win, ret); else { PrintMsg(win, "交易成功", 'R'); FreeForm(p); p = LoadForm("../etc/addohvc.frm"); win = FormWin(p); } } } FreeForm(p); return(ret);} /* 涉及个人的转账票据业务要素检查*/int ChkPBTO(FORM_NODE *p){ ST_PBTO m; WINDOW *win = FormWin(p); memset(&m, 0, sizeof(ST_PBTO)); strcpy(m.outbkno, ReadField(p, 1)); strcpy(m.outbktype, ReadField(p, 2)); strcpy(m.outname, ReadField(p, 3)); strcpy(m.outacctno, ReadField(p, 4)); strcpy(m.outpartno, ReadField(p, 5)); strcpy(m.inbkno, ReadField(p, 6)); strcpy(m.inbktype, ReadField(p, 7)); strcpy(m.inname, ReadField(p, 8)); strcpy(m.inacctno, ReadField(p, 9)); strcpy(m.inpartno, ReadField(p, 10)); strcpy(m.intype, ReadField(p, 11)); strcpy(m.passtype, ReadField(p, 12)); strcpy(m.passno, ReadField(p, 13)); m.amount = atof(ReadField(p, 14)); strcpy(m.outdate, ReadField(p, 15)); strcpy(m.indate, ReadField(p, 16)); strcpy(m.use, ReadField(p, 17)); strcpy(m.transtype, ReadField(p, 18)); strcpy(m.billno, ReadField(p, 19)); strcpy(m.transcode, ReadField(p, 20)); if(IsBlank(m.outbkno)) { PrintMsg(win, "付款行行号不能为空", 'E'); return(1); } if((atoi(m.transtype) == 20) && IsBlank(m.outacctno)) { PrintMsg(win, "结算方式为银行汇票时付款人帐号不能为空", 'E'); return(1); } if((atoi(m.transtype) == 20) && IsBlank(m.outname)) { PrintMsg(win, "结算方式为银行汇票时付款人名称不能为空", 'E'); return(1); } if(IsBlank(m.inbkno)) { PrintMsg(win, "收款行行号不能为空", 'E'); return(1); } if(IsBlank(m.inname)) { PrintMsg(win, "收款人名称不能为空", 'E'); return(1); } if((atoi(m.intype) == 2) && IsBlank(m.passtype)) { PrintMsg(win, "收款人类型为个人时,个人证件类型不能为空。", 'E'); return(1); } if((atoi(m.intype) == 2) && IsBlank(m.passno)) { PrintMsg(win, "收款人类型为个人时,个人证件号码不能为空。", 'E'); return(1); } if((m.inbktype[0] != '0') || (m.outbktype[0] != '0')) { if(IsBlank(m.billno)) { PrintMsg(win, "跨行交易时凭证代码不能为空", 'E'); return(1); } } if(((m.inbktype[0] == '0' ) && (m.outbktype[0] != '0')) || ((m.inbktype[0] !='0') && (m.outbktype[0] == '0'))) { PrintMsg(win, "收、付款行行号类型不一致。", 'E'); return(1); } return(0);}/* 涉及个人的转账票据业务*/int AddPBTO(){ int ret = 0; FORM_NODE *p; WINDOW *win; char tmp[80]; if(ChkPrivil('1')) return(1); if((p = LoadForm("../etc/addpbto.frm")) == NULL) return(0); win = FormWin(p); while(DriverForm(p) == OK ){ if(CheckForm(p)) continue; if(ChkPATO(p)) continue; memset(PACK, 0, sizeof(PACK)); sprintf(PACK, "2005%-8s%-4s%-06d%-32s%-12s%-s%-60s%-40s%-20s%-12s%s%-60s%-40s%-20s%-2s%-2s%-20s%-18s%-8s%-8s%-20s%-2s%-32s%-10s%-20s%-4s%s", SYSDATE, OPRCODE, SEQNO++, " ", ReadField(p, 1), ReadField(p, 2), ReadField(p, 3), ReadField(p, 4), ReadField(p, 5), ReadField(p, 6), ReadField(p, 7), ReadField(p, 8), ReadField(p, 9), ReadField(p, 10), ReadField(p, 11), ReadField(p, 12), ReadField(p, 13), ReadField(p, 14), ReadField(p, 15), ReadField(p, 16), ReadField(p, 17), ReadField(p, 18), ReadField(p, 19), ReadField(p, 20), " ", ORGCODE, "5"); if(ret = SendHost()) PrintErr(win, ret); else { memset(tmp, 0, 80); memcpy(tmp, &PACK[4], 4); if( ret = atoi(tmp)) PrintErr(win, ret); else { PrintMsg(win, "交易成功", 'R'); FreeForm(p); p = LoadForm("../etc/addpbto.frm"); win = FormWin(p); } } } FreeForm(p); return(ret);} /* 涉及个人结算账户转账业务要素检查*/int ChkPATO(FORM_NODE *p){ ST_PATO m; WINDOW *win = FormWin(p); memset(&m, 0, sizeof(ST_PATO)); strcpy(m.outbkno, ReadField(p, 1)); strcpy(m.outbktype, ReadField(p, 2)); strcpy(m.outname, ReadField(p, 3)); strcpy(m.outacctno, ReadField(p, 4)); strcpy(m.outpartno, ReadField(p, 5)); strcpy(m.outtype, ReadField(p, 6)); strcpy(m.outpasstype, ReadField(p, 7)); strcpy(m.outpassno, ReadField(p, 8)); strcpy(m.inbkno, ReadField(p, 9)); strcpy(m.inbktype, ReadField(p, 10)); strcpy(m.inname, ReadField(p, 11)); strcpy(m.inacctno, ReadField(p, 12)); strcpy(m.inpartno, ReadField(p, 13)); strcpy(m.intype, ReadField(p, 14)); strcpy(m.inpasstype, ReadField(p, 15)); strcpy(m.inpassno, ReadField(p, 16)); m.amount = atof(ReadField(p, 17)); strcpy(m.outdate, ReadField(p, 18));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -