⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s11060.ec.c

📁 源程序是银行综合业务平台中基本业务里的其中几个子业务的c语言的源码
💻 C
📖 第 1 页 / 共 4 页
字号:
	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 + -