📄 s11060.ec.c
字号:
sprintf ( s_snd.errmsg , "插入客户票据登记簿错[%d]!" , sqlca.sqlcode );
s_snd.flag = 1;
return (-1);
}
break;
case '1':
case '2':
case '3':
case '4':
/* 定期一本通处理 */
if(s_rec.rfhz.kbz==1 && s_rec.rfhz.zl[0]=='3'){
$select dycdzh into $dycdzh from skmzd where kmh=$s_rec.rfhz.kmh;
if(sqlca.sqlcode){
sprintf ( s_snd.errmsg ,"中心科目字典错![%d]",sqlca.sqlcode);
s_snd.flag = 1;
$rollback work;
goto return_back;
}
if(dycdzh!=1){
strcpy ( s_snd.errmsg ,"该科目不允许开一本通户");
s_snd.flag = 1;
$rollback work;
goto return_back;
}
if(s_rec.rfhz.dyzh[0]=='\0' || s_rec.rfhz.dyzh[0]==' ') {
if(ybt_cl(0,file)){
strcpy ( s_snd.errmsg , g_errmsg );
s_snd.flag = 1;
$rollback work;
goto return_back;
}
}
else if(ybt_cl(1,file)){
strcpy ( s_snd.errmsg , g_errmsg );
s_snd.flag = 1;
$rollback work;
goto return_back;
}
}
if((zhxh=get_zhxh())<=0){
sprintf ( s_snd.errmsg , g_errmsg );
s_snd.flag = 1;
return (-1);
}
checkbit=get_jyw(zhxh,s_rec.rfhz.hbh);
sprintf(s_rec.rfhz.zh,"%09d%c%02d%c",zhxh,checkbit,s_rec.rfhz.hbh,zl);
$select * from dkxhdjb where zh=$s_rec.rfhz.zh;
if (!sqlca.sqlcode) {
s_snd.flag = 1;
strcpy ( s_snd.errmsg , "开户登记簿中已存在该帐号!");
return (-1);
}
if (sqlca.sqlcode != SQLNOTFOUND) {
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
s_snd.flag = 1;
sprintf ( s_snd.errmsg , "检索开销户登记簿错[%d]!" , sqlca.sqlcode );
return (-1);
}
/***add by lwy ***/
s_rec.rfhz.bsxj = get_czye(s_rec.rfhz.czh,s_rec.rfhz.wdzxs,s_rec.rfhz.ye,s_rec.rfhz.bsxj);
if(zl=='1')
$select * from ffhz1 where zh=$s_rec.rfhz.zh;
else
if(zl=='2')
$select * from ffhz2 where zh=$s_rec.rfhz.zh;
else
$select * from ffhz3 where zh=$s_rec.rfhz.zh;
if (!sqlca.sqlcode) {
s_snd.flag = 1;
strcpy ( s_snd.errmsg , "分户帐中已存在该帐号!");
return (-1);
}
if (sqlca.sqlcode != SQLNOTFOUND) {
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
s_snd.flag = 1;
sprintf ( s_snd.errmsg , "检索分户帐错[%d]!" , sqlca.sqlcode );
return (-1);
}
if (fhz_dac(s_rec.rfhz,s_rec.rfhz.dac,1) !=0) {
strcpy ( s_snd.errmsg , g_errmsg );
s_snd.flag = 1;
return (-1);
}
strcpy(zdsx," ");
if(zl=='1' || zl=='4' || (zl=='3' && s_rec.rfhz.kbz!=1)
||(zl=='2' && s_rec.rfhz.czh==DGCZH)){
$select sx into $zdsx from sxxbm where zlbz="5" and
bh=$s_rec.rfhz.czcdlx;
if (sqlca.sqlcode) {
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
if(sqlca.sqlcode==100)
strcpy ( s_snd.errmsg , "存折/单类型不在后台信息编码表中!");
else
sprintf ( s_snd.errmsg , "检索信息编码表错[%d]!" , sqlca.sqlcode );
s_snd.flag = 1;
return (-1);
}
/*更改票箱登记簿*/
if (zdsx[1]!='1'){
sprintf(s_snd.errmsg,"折单属性错[%d][%c]!",
s_rec.rfhz.czcdlx,zdsx[1]);
s_snd.flag = 1;
return (-1);
}
if((i=px_del1(atol(s_rec.rfhz.czcdh),atol(s_rec.rfhz.czcdh),s_rec.rfhz.jgm,g_jzgy,s_rec.rfhz.czcdlx,rcxtzt.yyrq,s_rec.jym))!=0){
strcpy ( s_snd.errmsg , g_errmsg );
s_snd.flag = 1;
return (-1);
}
}
if(s_rec.rfhz.czcdlx!=DQYBTCZ){
sprintf(MY,"000%13s",s_rec.rfhz.zh);
killblank(s_rec.rfhz.zhmm);
intkl=atol(s_rec.rfhz.zhmm);
compmm(MY,intkl,s_rec.rfhz.zhmm);
}
switch(s_rec.rfhz.czh)
{
case 3: /* 零存整取 */
s_rec.rfhz.lfzje=(-1)*s_rec.rfhz.ye;
s_rec.rfhz.zqzq=1;
break;
case 4: /* 存本取息 */
s_rec.rfhz.lfzje=s_rec.rfhz.ye*s_rec.rfhz.ll/1200*s_rec.rfhz.zqzq*(-1);
break;
case 5: /* 整存零取 */
tmpint=(get_period(s_rec.rfhz.cq))/s_rec.rfhz.zqzq;
if(tmpint==0)
s_rec.rfhz.lfzje=(-1)*s_rec.rfhz.ye;
else
s_rec.rfhz.lfzje=(-1)*s_rec.rfhz.ye/tmpint;
break;
default:
s_rec.rfhz.lfzje=0.00;
break;
}
$select * into $rscdzb from scdzb
where cdzh=$s_rec.rfhz.czh and hbh=$s_rec.rfhz.hbh;
if(sqlca.sqlcode && sqlca.sqlcode !=100){
sprintf(s_snd.errmsg,"检索储贷种表错[%d]!",sqlca.sqlcode);
s_snd.flag = 1;
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
return (-1);
}
if(sqlca.sqlcode == 100){
strcpy(s_snd.errmsg,"无此储贷种类");
s_snd.flag = 1;
return (-1);
}
if( ( fabs(s_rec.rfhz.ye) - rscdzb.zdkhje)< 0.000){
sprintf(s_snd.errmsg,"开户金额低于最低规定金额!");
s_snd.flag = 1;
return (-1);
}
/* add by xuzhuoxing -----begin----*/
if ((zl=='3' || zl=='4') && (s_rec.rfhz.cq > 60))
s_rec.rfhz.dqrq=cal_dqrq(s_rec.rfhz.khrq,s_rec.rfhz.cq);
/* ------------end-------------*/
/***** Add for xh ****/
if( (s_rec.rfhz.kmh == 81100 && s_rec.rfhz.hbh != 13) ||
(s_rec.rfhz.kmh == 81110 && s_rec.rfhz.hbh != 13) ||
(s_rec.rfhz.kmh == 81120 && s_rec.rfhz.hbh != 13) ||
(s_rec.rfhz.kmh == 81140 && s_rec.rfhz.hbh != 13) ||
(s_rec.rfhz.kmh == 81150 && s_rec.rfhz.hbh != 13) ) {
sprintf(s_snd.errmsg,"币种与科目不符!");
s_snd.flag = 1;
return (-1);
}
if( s_rec.rfhz.hbh == 13){
if( (s_rec.rfhz.kmh != 81100 && s_rec.rfhz.cq == 61) ||
(s_rec.rfhz.kmh != 81110 && s_rec.rfhz.cq == 63) ||
(s_rec.rfhz.kmh != 81120 && s_rec.rfhz.cq == 66) ||
(s_rec.rfhz.kmh != 81140 && s_rec.rfhz.cq == 81) ||
(s_rec.rfhz.kmh != 81150 && s_rec.rfhz.cq == 82) ) {
sprintf(s_snd.errmsg,"港币存期与科目不符!");
s_snd.flag = 1;
return (-1);
}
}
if( (s_rec.rfhz.kmh == 81100 && s_rec.rfhz.cq != 61) ||
(s_rec.rfhz.kmh == 81110 && s_rec.rfhz.cq != 63) ||
(s_rec.rfhz.kmh == 81120 && s_rec.rfhz.cq != 66) ||
(s_rec.rfhz.kmh == 81140 && s_rec.rfhz.cq != 81) ||
(s_rec.rfhz.kmh == 81150 && s_rec.rfhz.cq != 82) ) {
sprintf(s_snd.errmsg,"港币存期与科目不符!");
s_snd.flag = 1;
return (-1);
}
/****** End of add *******/
if(zl=='1')
$insert into ffhz1 values($s_rec.rfhz);
else if(zl=='2')
$insert into ffhz2 values($s_rec.rfhz);
else
$insert into ffhz3 values($s_rec.rfhz);
if (sqlca.sqlcode) {
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
s_snd.flag = 1;
sprintf ( s_snd.errmsg , "插入分户帐失败[%d]!" , sqlca.sqlcode );
return (-1);
}
sprintf(note,"%02d-%-5d",s_rec.rfhz.hbh,s_rec.rfhz.kmh);
$insert into dkxhdjb values($s_rec.rfhz.jgm,$s_rec.rfhz.zh,
$s_rec.rfhz.hm,$s_rec.rfhz.khrq,$note,$g_jzgy,0,"0");
if (sqlca.sqlcode) {
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
s_snd.flag = 1;
sprintf ( s_snd.errmsg , " 插入开销户登记簿错[%d]!" , sqlca.sqlcode );
return (-1);
}
break;
}
/* insert fdrmx */
if((s_rec.rfhz.ye>0.005)||(s_rec.rfhz.ye<-0.005)){
rfdrmx.kmh=s_rec.rfhz.kmh;
rfdrmx.hbh=s_rec.rfhz.hbh;
strcpy(rfdrmx.zh,s_rec.rfhz.zh);
strcpy(rfdrmx.dljg,s_rec.jgm);
strcpy(rfdrmx.jgm,s_rec.rfhz.jgm);
rtoday(&rfdrmx.xtrq);
rfdrmx.jyrq=s_rec.rfhz.khrq;
if((rfdrmx.zxlsh=get_zxlsh())<0){
strcpy ( s_snd.errmsg , g_errmsg );
s_snd.flag = 1;
return (-1);
}
if((rfdrmx.gylsh=get_gylsh(g_jzgy))<=0){
s_snd.flag=1;
strcpy(s_snd.errmsg,"取柜员流水号错误 !");
return (-1);
}
s_snd.lsh = rfdrmx.gylsh;
rfdrmx.jym=s_rec.jym;
rfdrmx.jyje=fabs(s_rec.rfhz.ye);
rfdrmx.ye=s_rec.rfhz.ye;
rfdrmx.js=0.00;
strcpy(rfdrmx.pzbz,"1");
/*******modify by lwy 1999.09.13**********/
if(strcmp(s_rec.rfhz.jgm,s_rec.jgm))
strcpy(rfdrmx.tdbz,"1");
else
strcpy(rfdrmx.tdbz,"0");
rfdrmx.zy=105;
rfdrmx.dycs=1;
strcpy(rfdrmx.sqm," ");
rfdrmx.pzzl=0;
strcpy(rfdrmx.pzhm," ");
strcpy(rfdrmx.jdbz,"2");
rfdrmx.dqyc=s_rec.rfhz.dyyh;
rfdrmx.dqybs=s_rec.rfhz.dyhh;
rfdrmx.pj=0.00;
rfdrmx.cngy=g_cngy;
rfdrmx.gy1=g_jzgy;
get_cur_time( rfdrmx.jysj );
strcpy( rfdrmx.dyzh,s_rec.xhzh);
rfdrmx.gy2=0;
strcpy(rfdrmx.dac," ");
strcpy(rfdrmx.zl,s_rec.rfhz.zl);
$insert into fdrmx values($rfdrmx); /* 开户方明细 */
if (sqlca.sqlcode) {
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
sprintf ( s_snd.errmsg , "插入当日明细失败[%d]!" , sqlca.sqlcode );
s_snd.flag = 1;
return (-1);
}
}
$update sgyxxb set pzbz="0" where gy=$g_jzgy;
if(sqlca.sqlcode){
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
s_snd.flag=13;
return (-1);
}
strcpy(s_snd.zh,s_rec.rfhz.zh);
return 0;
return_back:
return 1;
}
ybt_cl(clbz,file)
long clbz;
char *file;
{
long zhxh,getflag,i,int_mm;
char checkbit;
char MY[17],catfile[80],msg[256];
$short mdy[3];
if(clbz==1){
$select * into $rfdqfhbc from fdqfhbc where zh=$s_rec.rfhz.dyzh;
if(sqlca.sqlcode ){
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
if(sqlca.sqlcode!=100)
sprintf( g_errmsg , "取定期分户补充表错[%d]!",sqlca.sqlcode);
else
sprintf( g_errmsg , "无此一本通帐号!");
return -1;
}
switch(rfdqfhbc.bz[0]) {
case '0':
break;
case '1':
case '2':
sprintf(g_errmsg,"一本通存折已挂失!");
return -1;
break;
case '3':
sprintf(g_errmsg,"一本通存折已销户!");
return -1;
break;
default:
sprintf(g_errmsg,"一本通存折状态错!");
return -1;
break;
}
if(strcmp(rfdqfhbc.czcdh,s_rec.rfhz.czcdh)){
sprintf(g_errmsg,"一本通存折号不符!");
return -1;
}
/*********
if(strcmp(rfdqfhbc.jgm,s_rec.rfhz.jgm)){
sprintf(g_errmsg,"非本所一本通存折!");
return -1;
}
**********/
rfdqfhbc.dqxh++;
getflag = get_ybthh(rfdqfhbc.dqxh,DQYBTCZ,&rfdqfhbc.dqyh,&rfdqfhbc.dqhh);
if(getflag<0) return -1;
rfdqfhbc.ljhs++;
strcpy(s_rec.rfhz.zhmm,rfdqfhbc.czmm);
s_rec.rfhz.zhkz[4] = rfdqfhbc.bz[1];
sprintf(s_rec.rfhz.czcdh,"%08d",rfdqfhbc.dqxh);
strcpy(s_rec.rfhz.hm,rfdqfhbc.hm);
strcpy(s_rec.rfhz.jgm,rfdqfhbc.jgm);
s_rec.rfhz.czcdlx = rfdqfhbc.czlx;
s_rec.rfhz.dyyh = rfdqfhbc.dqyh;
s_rec.rfhz.dyhh = rfdqfhbc.dqhh;
s_snd.khzhxh=rfdqfhbc.dqxh;
$update fdqfhbc set(ljhs,dqxh,dqyh,dqhh)=
($rfdqfhbc.ljhs,$rfdqfhbc.dqxh,$rfdqfhbc.dqyh,$rfdqfhbc.dqhh)
where zh=$rfdqfhbc.zh;
if(sqlca.sqlcode){
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
sprintf( g_errmsg , "更新定期分户补充表错![%d]",sqlca.sqlcode);
return -1;
}
}
else{
memset(&rfdqfhbc,0,sizeof(rfdqfhbc));
if((zhxh=get_zhxh())<=0) return -1;
checkbit=get_jyw(zhxh,YBT_CODE);
sprintf(rfdqfhbc.zh,"%09d%c%02d%c",zhxh,checkbit,YBT_CODE,s_rec.rfhz.zl[0]);
strcpy(rfdqfhbc.jgm,s_rec.rfhz.jgm);
strcpy(rfdqfhbc.hm,s_rec.rfhz.hm);
rfdqfhbc.ljhs = 1;
rfdqfhbc.ljxh = 0;
rfdqfhbc.dqxh = 1;
rfdqfhbc.dqyh = s_rec.rfhz.dyyh;
rfdqfhbc.dqhh = s_rec.rfhz.dyhh;
rfdqfhbc.kzrq = s_rec.rfhz.khrq;
rfdqfhbc.czlx = DQYBTCZ;
strcpy(rfdqfhbc.czcdh,s_rec.rfhz.czcdh);
rfdqfhbc.bz[0] = '0';
rfdqfhbc.bz[1] = s_rec.rfhz.zhkz[4];
memset(MY,0,17);
sprintf(MY,"000%13s",rfdqfhbc.zh);
int_mm = atol(s_rec.rfhz.zhmm);
compmm(MY,int_mm,rfdqfhbc.czmm);
s_snd.khzhxh=rfdqfhbc.dqxh;
strcpy(s_rec.rfhz.dyzh,rfdqfhbc.zh);
sprintf(s_rec.rfhz.czcdh,"%08d",rfdqfhbc.dqxh);
strcpy(s_rec.rfhz.zhmm,rfdqfhbc.czmm);
s_rec.rfhz.czcdlx = rfdqfhbc.czlx;
$insert into fdqfhbc values($rfdqfhbc);
if(sqlca.sqlcode){
errout("现金开户",file,__FILE__,__LINE__,sqlca.sqlcode);
sprintf( g_errmsg , "增加定期分户补充表错![%d]",sqlca.sqlcode);
return -1;
}
if((i=px_del1(atol(rfdqfhbc.czcdh),atol(rfdqfhbc.czcdh),s_rec.rfhz.jgm,g_jzgy,s_rec.rfhz.czcdlx,rcxtzt.yyrq,s_rec.jym))!=0) {
return -1;
}
}
sprintf(ybtfile,"ybtfile.%05d",g_jzgy);
sprintf(catfile,"%s/%s",getenv("UDTFILEDIR"),ybtfile);
if((fp1=fopen(catfile,"w"))==NULL){
strcpy(g_errmsg,"生成明细文件错!");
return -1;
}
strcpy(s_snd.khybtzh,rfdqfhbc.zh);
s_snd.khdyhh=rfdqfhbc.dqhh;
memset(msg,0,256);
gen_ybtline(msg,s_rec.rfhz,'2',rcxtzt.yyrq,105,-1*s_rec.rfhz.ye,s_rec.rfhz.ll,g_jzgy);
fprintf(fp1,"%s\n",msg);
fclose(fp1);
/***insert into zkmzz *****/
memcpy(rzkmzz.jgm,s_rec.rfhz.jgm,9);
rzkmzz.jgm[9]=0;
rzkmzz.hbh=s_rec.rfhz.hbh;
rzkmzz.kmh=s_rec.rfhz.kmh;
$select * from zkmzz where jgm=$rzkmzz.jgm and
hbh=$rzkmzz.hbh and kmh=$rzkmzz.kmh;
if((sqlca.sqlcode!=0)&&(sqlca.sqlcode!=SQLNOTFOUND)){
errout("销转开户",file,__FILE__,__LINE__,sqlca.sqlcode);
sprintf ( g_errmsg , "检索科目总帐错[%d]!" , sqlca.sqlcode );
return (-1);
}
if(sqlca.sqlcode==SQLNOTFOUND){
rzkmzz.ye=rzkmzz.jye=rzkmzz.js=rzkmzz.jjs=0.00;
rzkmzz.rcye=rzkmzz.rcjye=rzkmzz.rjfse=rzkmzz.rdfse=0.00;
rzkmzz.rjbs=rzkmzz.rdbs=0;
rzkmzz.ycjs=rzkmzz.ycjjs=rzkmzz.ycye=rzkmzz.ycjye=rzkmzz.yjfse=rzkmzz.ydfse=0.00;
rzkmzz.yjbs=rzkmzz.ydbs=0;
rzkmzz.jcjs=rzkmzz.jcjjs=rzkmzz.jcye=rzkmzz.jcjye=rzkmzz.jjfse=rzkmzz.jdfse=0.00;
rzkmzz.jjbs=rzkmzz.jdbs=0;
rzkmzz.ncjs=rzkmzz.ncjjs=rzkmzz.ncye=rzkmzz.ncjye=rzkmzz.njfse=rzkmzz.ndfse=0.00;
rzkmzz.njbs=rzkmzz.ndbs=0;
rzkmzz.rkhs=rzkmzz.ykhs=rzkmzz.jkhs=rzkmzz.nkhs=rzkmzz.ljkhs=1;
rzkmzz.rxhs=rzkmzz.yxhs=rzkmzz.jxhs=rzkmzz.nxhs=rzkmzz.ljxhs=0;
memcpy(rzkmzz.yef,s_rec.rfhz.yef,1);
rzkmzz.yef[1]=0;
rzkmzz.fsrq=rcxtzt.yyrq;
rjulmdy(rcxtzt.yyrq,mdy);
rzkmzz.yf=mdy[0];
rzkmzz.nf=mdy[2];
$insert into zkmzz values($rzkmzz);
if(sqlca.sqlcode!=0){
errout("销转开户",file,__FILE__,__LINE__,sqlca.sqlcode);
sprintf ( g_errmsg , "插入科目总帐失败[%d]!" , sqlca.sqlcode );
return (-1);
}
}
else{
$update zkmzz set (rkhs,ykhs,jkhs,nkhs,ljkhs)=
(rkhs+1,ykhs+1,jkhs+1,nkhs+1,ljkhs+1)
where jgm=$rzkmzz.jgm and
hbh=$rzkmzz.hbh and kmh=$rzkmzz.kmh;
if(sqlca.sqlcode || sqlca.sqlerrd[2]!=1){
errout("销转开户",file,__FILE__,__LINE__,sqlca.sqlcode);
sprintf ( g_errmsg , "更新科目总帐失败[%d]!" ,sqlca.sqlcode );
return (-1);
}
}
return 0;
}
int init()
{
memset(&s_snd, 0, sizeof(s_snd));
memset(&s_rec, 0, sizeof(s_rec));
s_snd.dyhh=1;
s_snd.khdyhh=1;
return 0;
}
int file_open(char *sendfile,char *fname)
{
char tmpfile[80],filename[80];
strcpy(fname,"\0");
strcpy(sendfile,"\0");
strcpy(filename,"\0");
strcpy(tmpfile,"\0");
sprintf(sendfile,"easysend.%05d",g_jzgy);
sprintf(tmpfile,"%s/%s",getenv("UDTFILEDIR"),sendfile);
if((fpw=fopen(tmpfile,"w"))==NULL){
s_snd.flag = 1;
strcpy(s_snd.errmsg,"中心创建文件失败!" );
return -1;
}
sprintf(fname,"easyfile.%05d",g_jzgy);
sprintf(filename,"%s/%s",getenv("UDTFILEDIR"),fname);
if((fp=fopen(filename,"w"))==NULL){
s_snd.flag = 1;
strcpy(s_snd.errmsg,"中心创建文件失败!" );
return -1;
}
return 0;
}
int check_ll()
{
$double ll;
$select nll into $ll from sllb
where czh=$s_rec.rfhz.czh and hbh=$s_rec.rfhz.hbh and cq=$s_rec.rfhz.cq and bz='0';
if ( sqlca.sqlcode ) {
s_snd.flag = 1;
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
sprintf(s_snd.errmsg,"取后台利率失败[%d]!",sqlca.sqlcode);
return -1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -