📄 s11060.ec.c
字号:
if ( s_rec.rfhz.ll != ll && s_rec.rfhz.czh!=6 && s_rec.rfhz.czh!=7
&& s_rec.rfhz.czh!=71) {
s_snd.flag = 1;
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
sprintf(s_snd.errmsg,"利率不同,前台[%7.4f]后台[%7.4f]!",s_rec.rfhz.ll,ll);
return -1;
}
return 0;
}
int get_check_xhfh(ybt_xh)
$char ybt_xh;
{
int flag,ybtxhbz,kfbz,bz;
if(is_ybt(s_rec.xhzh)){
$select * into $rfdqfhbc from fdqfhbc where zh=$s_rec.xhzh;
if(sqlca.sqlcode ){
errout("现金开户","",__FILE__,__LINE__,sqlca.sqlcode);
s_snd.flag = 1;
if(sqlca.sqlcode!=100)
sprintf( s_snd.errmsg , "取定期分户补充表错[%d]!",sqlca.sqlcode);
else
sprintf( s_snd.errmsg , "无此一本通帐号!");
$rollback work;
return -1;
}
switch(rfdqfhbc.bz[0]) {
case '0':
flag = 0;
break;
case '1':
case '2':
sprintf(s_snd.errmsg,"一本通存折已挂失!");
s_snd.flag = 1;
$rollback work;
flag = 1;
break;
case '3':
sprintf(s_snd.errmsg,"一本通存折已销户!");
s_snd.flag = 1;
$rollback work;
flag = 1;
break;
default:
sprintf(s_snd.errmsg,"一本通存折状态错!");
s_snd.flag = 1;
$rollback work;
flag = 1;
break;
}
if ( flag )
return -1;
$update fdqfhbc set ljxh = ljxh +1 where zh=$s_rec.xhzh;
if(sqlca.sqlcode){
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
sprintf(s_snd.errmsg,"更新一本通记录错[%d] !",sqlca.sqlcode);
$rollback work;
s_snd.flag = 1;
return -1;
}
if (strcmp(rfdqfhbc.czcdh,s_rec.czcdh)) {
s_snd.flag = 1;
strcpy(s_snd.errmsg,"存折存单号不符 !");
$rollback work;
return -1;
}
if(rfdqfhbc.ljhs==(rfdqfhbc.ljxh+1)) ybtxhbz = 1;
else ybtxhbz = 0;
$select * into $rxhfh from ffhz3
where dyzh=$s_rec.xhzh and czcdh=$ybt_xh;
strcpy(s_snd.xhnbzh,rxhfh.zh);
}
else{
switch(s_rec.xhzh[12]){
case '1':
$select * into $rxhfh from ffhz1 where zh=$s_rec.xhzh;
/* and jgm=$s_rec.jgm; */
break;
case '2':
$select * into $rxhfh from ffhz2 where zh=$s_rec.xhzh;
/* and jgm=$s_rec.jgm; */
break;
default:
$select * into $rxhfh from ffhz3 where zh=$s_rec.xhzh;
/* and jgm=$s_rec.jgm */
break;
}
if((is_ybt(rxhfh.dyzh) && rxhfh.zl[0]=='3')){
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
s_snd.flag = 1;
$rollback work;
strcpy(s_snd.errmsg,"该户为一本通定期户!");
return -1;
}
if(strcmp(rxhfh.jgm,s_rec.jgm) && (rxhfh.czh==3 || rxhfh.czh==4
|| rxhfh.czh==5 || rxhfh.czh==10 || rxhfh.czh==15)){
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
s_snd.flag = 1;
$rollback work;
strcpy(s_snd.errmsg,"该户为异所帐户!");
return -1;
}
}
if (sqlca.sqlcode && sqlca.sqlcode!=100) {
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
s_snd.flag = 1;
sprintf(s_snd.errmsg,"检索分户帐失败[%d] !",sqlca.sqlcode);
$rollback work;
return -1;
}
if (sqlca.sqlcode==100){
s_snd.flag=1;
strcpy(s_snd.errmsg,"销户帐户不存在 !");
$rollback work;
return -1;
}
/************ add by zwq 20000429 *********/
if ((kfbz=chk_kfzh(rxhfh))==-1 || kfbz==1){
s_snd.flag=1;
strcpy(s_snd.errmsg,"销户帐户还欠费, 不能销户 !");
$rollback work;
return -1;
}
/*if (kfbz==0){
s_snd.flag=1;
strcpy(s_snd.errmsg,"销户帐户检查话费明细失败 !");
$rollback work;
return -1;
}*/
/************ add by zwq 20000429 *********/
memcpy ( s_snd.hm , rxhfh.hm , 41 ) ;
strncpy(s_snd.errmsg,rxhfh.zh,14);
if(ybtxhbz)
sprintf(s_snd.errmsg+14,"%1.1d%s",1,"该一本通余额为零,请销户!");
if(rxhfh.zhzt[0]=='1'){
s_snd.flag=1;
strcpy(s_snd.errmsg,"销户帐户异常, 不能销户 !");
$rollback work;
return -1;
}
xhfhye = rxhfh.ye;
/****** Modi For X.H. ********/
if( rxhfh.czcdlx == 52 ){
if(rxhfh.hbh==1){
rxhfh.czcdlx = 53;
rxhfh.dyhh = 14+rxhfh.wdzxs;
}
else{
rxhfh.czcdlx = 60;
rxhfh.dyhh = 12+rxhfh.wdzxs;
}
}
/******** End ********/
if(strncmp(rxhfh.zhmm,s_rec.zhmm,9) && rxhfh.czcdlx!=1000 &&
(rxhfh.zhkz[4]=='1' || rxhfh.zhkz[4]=='4' || rxhfh.zhkz[4]=='5')){
s_snd.flag = 1;
strcpy(s_snd.errmsg,"帐户密码错, 不能销户 !");
$rollback work;
return -1;
}
/*
if(s_rec.khbz==1 && s_rec.xhzh[12]!= s_rec.rfhz.zl[0]&&s_rec.rfhz.czh!=21) {
s_snd.flag = 1;
strcpy(s_snd.errmsg,"不同帐类间不许销转开户!");
$rollback work;
return -1;
}
*/
bz = zh_jyjc(rxhfh,0.00,0);
if ( bz ) {
strcpy ( s_snd.errmsg , g_errmsg );
s_snd.flag = 1;
$rollback work;
return -1;
}
if ( rxhfh.tcje > 0.0 && s_rec.xhlx==1) {
if (s_snd.flag=chk_tcje(s_rec.sqgy,s_rec.sqgymm,s_rec.jym)) {
if (s_snd.flag==62)
strcpy(s_snd.errmsg,"本日通存现金支取需授权!");
else if(s_snd.flag==100){
strcpy(s_snd.errmsg,"无此授权柜员信息!");
}
s_snd.flag = 1;
$rollback work;
return -1;
}
}
s_snd.ye = rxhfh.ye ;
if (!(rxhfh.czcdlx==DQYBTCZ && rxhfh.kbz==1)){
if (strncmp(rxhfh.czcdh,s_rec.czcdh,8)) {
s_snd.flag = 1;
strcpy(s_snd.errmsg,"销户存折存单号不符 !");
$rollback work;
return -1;
}
}
return 0;
}
/******** 加入利息税的处理 *********/
int lxsfh_cl()
{
$char cq[3];
int bz;
/** 判断是否应该收利息税,若收,则处理,置lxs_bz=1;不收,则正常处理 **/
if(rlxdgs.lxs>=0.005 ) lxs_bz=1;
else lxs_bz=0;
/** 应收利息税的处理 **/
if((rxhfh.czh==2 || rxhfh.czh==21 || rxhfh.czh==4 || rxhfh.czh==16 || rxhfh.czh==17|| rxhfh.czh==18 || rxhfh.czh==19|| rxhfh.czh==20 || rxhfh.czh==22 || rxhfh.czh==3 || rxhfh.czh==5 || rxhfh.czh==6 || rxhfh.czh==60) && rxhfh.cq>80) {
if ( rxhfh.zh[12]=='3' || rxhfh.zh[12]=='4' ) {
sprintf(cq,"%2d",rxhfh.cq);
$select yflxzh,yqlxzh into $lxzczh,$lxs_zdflzh from clxflb
where jgm=$s_rec.jgm and hbh=$rxhfh.hbh
and kmh=$rxhfh.kmh and kzz=$cq;
}else
$select yflxzh,yqlxzh into $lxzczh,$lxs_zdflzh from clxflb
where jgm=$s_rec.jgm and hbh=$rxhfh.hbh
and kmh=$rxhfh.kmh;
}
else {
if ( rxhfh.zh[12]=='3' || rxhfh.zh[12]=='4' ) {
sprintf(cq,"%2d",rxhfh.cq);
$select lxzczh,yqlxzh into $lxzczh,$lxs_zdflzh from clxflb
where jgm=$s_rec.jgm and hbh=$rxhfh.hbh
and kmh=$rxhfh.kmh and kzz=$cq;
}else
$select lxzczh,yqlxzh into $lxzczh,$lxs_zdflzh from clxflb
where jgm=$s_rec.jgm and hbh=$rxhfh.hbh
and kmh=$rxhfh.kmh;
}
if(sqlca.sqlcode){
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
if(sqlca.sqlcode==100)
strcpy(s_snd.errmsg,"自动分录表中无本机构对应利息税帐户 !");
else
sprintf(s_snd.errmsg,"检索自动分录表错[%d] !",sqlca.sqlcode);
s_snd.flag=1;
$rollback work;
return -1;
}
if(lxs_bz){
$select * into $rlxsfh from ffhz3 where zh=$lxs_zdflzh;
if(sqlca.sqlcode){
s_snd.flag = 1;
sprintf(s_snd.errmsg,"取利息税自动分录分户信息失败[%d]!",sqlca.sqlcode);
$rollback work;
return -1;
}
bz = zh_jyjc(rlxsfh,rlxdgs.lxs,2);
if ( bz ) {
switch ( bz ) {
case 1:
strcpy(s_snd.errmsg,"自动分录利息税帐号已销户 !");
break;
case 2:
strcpy(s_snd.errmsg,"自动分录利息税帐号已挂失 !");
break;
case 3:
strcpy(s_snd.errmsg,"自动分录利息税金帐号已不收不付 !");
break;
case 4:
strcpy(s_snd.errmsg,"自动分录利息税帐户DAC校验错, 不能销户 !");
break;
case 5:
strcpy(s_snd.errmsg,"利息税帐户余额不足 !");
break;
default:
sprintf(s_snd.errmsg,"利息税帐户检查错[%d] !",bz);
}
s_snd.flag=1;
$rollback work;
return -1;
}
}
return 0;
}
int lxdwj_cl(lx)
double lx;
{
rflxdwj.hbh = rxhfh.hbh;
strcpy( rflxdwj.jgm, rxhfh.jgm );
rflxdwj.kmh = rxhfh.kmh;
strcpy( rflxdwj.zh, rxhfh.zh );
strcpy( rflxdwj.zh1, " " );
strcpy( rflxdwj.hm, " " );
rflxdwj.jxr = rcxtzt.yyrq;
rflxdwj.lx = lx;
/** 若有利息税收,将flxdwj.ll置为rlxdgs.lxs,否则处理不变 **/
if(lxs_bz) rflxdwj.ll = rlxdgs.lxs;
else rflxdwj.ll = rxhfh.ll;
/*
rflxdwj.js = rxhfh.js + rxhfh.xycked + rxhfh.tzed + rxhfh.ye * ( rcxtzt.yyrq - rxhfh.jyrq );
*/
rflxdwj.js = QuZheng(rxhfh.xycked) + QuZheng(rxhfh.tzed) + get_fhjs(rxhfh,rcxtzt.yyrq);
rflxdwj.rs = rcxtzt.yyrq - rxhfh.jyrq;
rflxdwj.qxr = rxhfh.qxr;
strcpy( rflxdwj.hzbz , "2" );
rflxdwj.dycs = 1;
strcpy( rflxdwj.rzbz, "1" );
strcpy( rflxdwj.jdbz, "2" );
if(rxhfh.czh==4){
if(rcxtzt.yyrq-rxhfh.dqrq<0)
lx=lx-rxhfh.tzed;
else{
if(rxhfh.zqzq==0){
s_snd.flag=1;
strcpy(s_snd.errmsg,"存本取息的支取周期错,不能销户 !");
$rollback work;
return -1;
}
if(rxhfh.fxcs!=(int)(get_period(rxhfh.cq)/rxhfh.zqzq)){
s_snd.flag=1;
strcpy(s_snd.errmsg,"存本取息的利息尚未取清,不能销户 !");
$rollback work;
return -1;
}
}
}
/* insert 99.4.5 */
/* modified by 0813 */
if( tc_td( s_rec.jgm,rxhfh.jgm,rxhfh.czh,rxhfh.hbh,rxhfh.zhkz,'1')<0){
s_snd.flag=1;
strcpy(s_snd.errmsg,g_errmsg);
$rollback work;
return -1;
}
if(rxhfh.czh==3 && strcmp(rxhfh.jgm,s_rec.jgm)){
s_snd.flag=1;
strcpy(s_snd.errmsg,"零存整取不能通兑");
$rollback work;
return -1;
}
return 0;
}
int xjfh_cl(bj,lx)
double bj;
double lx;
{
int bz;
$select zh into $xjzh from czdflb where
jgm=$s_rec.jgm and hbh=$rxhfh.hbh and ywzl=13;
if(sqlca.sqlcode){
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
if(sqlca.sqlcode==100)
strcpy(s_snd.errmsg,"自动分录表中无本机构对应现金帐户 !");
else
sprintf(s_snd.errmsg,"检索自动分录表错[%d] !",sqlca.sqlcode);
s_snd.flag=1;
$rollback work;
return -1;
}
$select * into $rdffh from ffhz3 where zh=$xjzh;
if(sqlca.sqlcode){
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
if(sqlca.sqlcode==100)
strcpy(s_snd.errmsg,"自动分录现金帐户无对应分户帐 !");
else
sprintf(s_snd.errmsg,"检索分户帐错[%d] !",sqlca.sqlcode);
s_snd.flag=1;
$rollback work;
return -1;
}
if( s_rec.khbz==1 && kh_cl(bj,"")) { /*开户处理*/
$rollback work;
return -1;
}
/** lxs_cl **/
bz=zh_jyjc(rdffh,lx-rlxdgs.lxs,1);
if(bz){
switch(bz){
case 1:
strcpy(s_snd.errmsg,"自动分录现金帐号已销户 !");
break;
case 2:
strcpy(s_snd.errmsg,"自动分录现金帐号已挂失 !");
break;
case 3:
strcpy(s_snd.errmsg,"自动分录现金帐号已不收不付 !");
break;
case 4:
strcpy(s_snd.errmsg,"自动分录现金帐户DAC校验错, 不能销户 !");
break;
case 5:
strcpy(s_snd.errmsg,"现金帐户余额不足 !");
break;
default:
sprintf(s_snd.errmsg,"现金帐户检查错[%d] !",bz);
}
s_snd.flag=1;
$rollback work;
return -1;
}
strcpy(g_dac,rdffh.dac);
if((rcxtzt.yyrq>rdffh.jyrq)&&(rdffh.zhkz[0]!='0')){
/*** rdffh.js+=rdffh.ye*(rcxtzt.yyrq-rdffh.jyrq); */
rdffh.js = get_fhjs ( rdffh , rcxtzt.yyrq) ;
rdffh.jyrq=rcxtzt.yyrq;
}
/** lxs_cl **/
if( !lxs_bz ) rlxdgs.lxs=0.00;
rdffh.ye = rdffh.ye - lx + rlxdgs.lxs;
if (fhz_dac(rdffh,rdffh.dac,1) !=0) {
strcpy ( s_snd.errmsg , g_errmsg );
s_snd.flag = 1;
$rollback work;
return -1;
}
$update ffhz3 set (ye,js,jyrq,dac)=($rdffh.ye,$rdffh.js, $rdffh.jyrq,$rdffh.dac) where zh=$xjzh and dac=$g_dac;
if(sqlca.sqlcode || sqlca.sqlerrd[2]!=1){
errout("销转开户","",__FILE__,__LINE__,sqlca.sqlcode);
sprintf ( s_snd.errmsg , "更新分户帐失败[%d]!" , sqlca.sqlcode );
s_snd.flag = 1;
$rollback work;
return -1;
}
/** lxs_cl **/
if( !lxs_bz ) rlxdgs.lxs=0.00;
if( (s_snd.flag=qx_cl(rxhfh.hbh,lx-rlxdgs.lxs,g_cngy,'2')) ){
s_snd.flag = 1;
strcpy(s_snd.errmsg,g_errmsg);
$rollback work;
return -1;
}
return 0;
}
int lxfh_cl(lx)
double lx;
{
int bz;
$select * into $rlxfh from ffhz3 where zh=$lxzczh;
if(sqlca.sqlcode){
errout ("帐户销户","",__FILE__,__LINE__,sqlca.sqlcode);
printf("lxzh[%s]\n",lxzczh);
if(sqlca.sqlcode==100)
strcpy(s_snd.errmsg,"自动分录中利息支出户无对应分户帐 !");
else
sprintf(s_snd.errmsg,"检索分户帐失败[%d] !",sqlca.sqlcode);
s_snd.flag=1;
$rollback work;
return -1;
}
bz=zh_jyjc(rlxfh,lx,1);
if(bz){
switch(bz){
case 1:
strcpy(s_snd.errmsg,"利息支出帐号已销户, 不能销户 !");
break;
case 2:
strcpy(s_snd.errmsg,"利息支出帐号已挂失, 不能销户 !");
break;
case 3:
strcpy(s_snd.errmsg,"利息支出帐号已不收不付, 不能销户 !");
break;
case 4:
strcpy(s_snd.errmsg,"利息支出帐户DAC校验错, 不能销户 !");
break;
case 5:
strcpy(s_snd.errmsg,"利息支出帐户余额不足 !");
break;
default:
sprintf(s_snd.errmsg,"利息支出帐户检查错 [%d]!",s_snd.flag);
break;
}
s_snd.flag=1;
$rollback work;
return -1;
}
/***************** 准备rflxdwj数据 ************/
strcpy( rflxdwj.dyzh, rlxfh.zh );
rflxdwj.dykm = rlxfh.kmh;
if(fabs(lx)>0.005){
strcpy(rflxdwj.dyzh1, " ");
$insert into flxdwj values ( $rflxdwj );
if ( sqlca.sqlcode ) {
s_snd.flag = 1;
sprintf ( s_snd.errmsg , "插入利息单文件表失败[%d]!" , sqlca.sqlcode );
errout( "现金部提","", __FILE__, __LINE__, sqlca.sqlcode );
$rollback work;
return -1;
}
}
return 0;
}
int wdz_cl(bj,lx)
double bj;
double lx;
{
char tmpnr[80];
/* 打印未登折 */
getflag=get_dqhh(3,rxhfh.czcdlx,&rxhfh.dyhh,&rxhfh.dyyh,&rxhfh.wdzxs);
if(getflag < 0){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -