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

📄 svrf308.ec

📁 一个银行业务的程序
💻 EC
字号:
/***********************************************
	有价证券质押打印            
	2003/03/05
************************************************/
#include "../incl/serverpub.h"
$include sqlca;

SvrF308(int argc,char *argv[])
{

    $char cQuryBank[11],cStartNo[17],cEndNo[17],cStartDate[9],cEndDate[9];
    $char cSql[800],cSql1[800],cSql2[800];
    $char vcBreedName[31];
    char vcStat[5],cFlag[3],cAbility[5];
    $int iSumCounts;

    char fname[50],cTemp[100];
    FILE *fp;
	int 	i;

    $struct sLoanCont {
	char	apply_no[17];
	int	serno;
	char	id[17];
	char	title[21];
	int	number;
	double	sum;
	char	issue_unit[31];
	char	stop_date[11];
	char	card_no[21];
	double	evaluate;
	double	impawn;
	char	im_init_date[11];
	char	im_stop_date[11];
	char	state[2];
	char	recv_op[9];
	char	recv_date[11];
	char	mor_op[9];
	char	mor_date[11];
	char	name[21];
    } sAll;

#ifdef QDCS
        for(i=0;i<argc;i++)
                WriteTest("argv[%d]:%s\n",i,argv[i]);
#endif

    sprintf(cQuryBank,"%s",argv[0]);
    sprintf(cStartNo,"%s",argv[1]);
    sprintf(cEndNo,"%s",argv[2]);
    sprintf(cStartDate,"%s",argv[3]);
    sprintf(cEndDate,"%s",argv[4]);
    sprintf(fname,"%s/download/%s",getenv("HOME"),argv[5]);

    memset(cSql2,0,sizeof(cSql2));

    if((strlen(cQuryBank)!=0)&&(strncmp(cQuryBank,"    ",4)!=0))
    {
	sprintf(cTemp," and bank_no matches \"%s\"",cQuryBank);
        strcat(cSql2,cTemp);
    }

    if((strlen(cStartNo)!=0)&&(strncmp(cStartNo,"    ",4)!=0))
    {
	sprintf(cTemp," and con_no>=\"%s\"",cStartNo);
        strcat(cSql2,cTemp);
    }

    if((strlen(cEndNo)!=0)&&(strncmp(cEndNo,"    ",4)!=0))
    {
	sprintf(cTemp," and con_no<=\"%s\"",cEndNo);
        strcat(cSql2,cTemp);
    }

    if((strlen(cStartDate)!=0)&&(strncmp(cStartDate,"    ",4)!=0))
    {
	sprintf(cTemp," and sign_date>=\"%s\"",cStartDate);
        strcat(cSql2,cTemp);
    }

    if((strlen(cEndDate)!=0)&&(strncmp(cEndDate,"    ",4)!=0))
    {
	sprintf(cTemp," and sign_date<=\"%s\"",cEndDate);
        strcat(cSql2,cTemp);
    }

    if(strlen(cSql2)==0)
    {
	strcpy(cSql,"select apply_no,serno,id,title,number,sum,issue_unit,stop_date,card_no,evaluate,impawn,im_init_date,im_stop_date,state,recv_op,recv_date,mor_op,mor_date,name from portfolio where apply_no in (select con_no  from contract where %s) order by apply_no,serno");
	strcpy(cSql1,"select count(*) from contract");
    }
    else
    {
    	sprintf(cSql,"select apply_no,serno,id,title,number,sum,issue_unit,stop_date,card_no,evaluate,impawn,im_init_date,im_stop_date,state,recv_op,recv_date,mor_op,mor_date,name from portfolio where apply_no in (select con_no from contract where %s) order by apply_no,serno",cSql2+5);
    	sprintf(cSql1,"select count(*) from contract where %s",cSql2+5);
    }

WriteTest("svrf308:cSql[%s]\n",cSql);

    $prepare selid1 from $cSql1;
    if(sqlca.sqlcode<0) 
    {
	WriteTest("svrf308:prepare[%s] err[%ld]\n",cSql1,sqlca.sqlcode);
	CreateStruct("返回码","020");
	return 0;
    }

    $execute selid1 into $iSumCounts;
    if(sqlca.sqlcode!=0)
    {
        WriteTest("svrf308:execute[%s] err[%ld]\n",cSql1,sqlca.sqlcode);
        CreateStruct("返回码","020");
    	$free selid1;
        return 0;
    }

    $free selid1;

    WriteTest("svrf308:iSumCount[%d]\n",iSumCounts);

    if(iSumCounts==0)
    {
        CreateStruct("返回码","023");
        return 0;
    }

    $prepare selid from $cSql;
    if(sqlca.sqlcode<0) 
    {
	WriteTest("svrf308:prepare[%s] err[%ld]\n",cSql,sqlca.sqlcode);
	CreateStruct("返回码","020");
    	$free selid;
	return 0;
    }

    $declare cursel cursor for selid;
    if(sqlca.sqlcode<0) 
    {
	WriteTest("svrf308:declare[%s] err[%ld]\n",cSql,sqlca.sqlcode);
	CreateStruct("返回码","020");
    	$free selid;
	return 0;
    }

    $open cursel;
    if(sqlca.sqlcode<0) 
    {
	WriteTest("svrf308:open declare err[%ld]\n",sqlca.sqlcode);
	CreateStruct("返回码","020");
    	$free selid;
	return 0;
    }

    $fetch cursel into $sAll;

    if(sqlca.sqlcode<0) 
    {
	WriteTest("svrf308:fetch err[%ld]\n",sqlca.sqlcode);
	CreateStruct("返回码","020");
    	$close cursel;
    	$free cursel;
    	$free selid;
	return 0;
    }

    CreateStruct("文件标志","1");
    if (( fp=fopen(fname,"w"))==NULL)
    {
    	WriteTest("svrf308: open file %s error \n",fname);
	CreateStruct("返回码","020");
    	$close cursel;
    	$free cursel;
    	$free selid;
	return 0;
    }

    fprintf(fp,"贷款申请号,序号,质押人客户号,质押物名称,数量,金额,签发单位,到期日期,权证号码,评估值,质押值,质押开始日期,质押结束日期,状态,领回接受人,领回日期,抵贷经办人,抵贷日期,质押人客户名\n");

    while(sqlca.sqlcode==0)
    {
	memset(vcStat,0,sizeof(vcStat));
	switch(atoi(sAll.state))
	{
		case 0: strcpy(vcStat,"正常"); break;
		case 1: strcpy(vcStat,"申请"); break;
		case 2: strcpy(vcStat,"领回"); break;
		case 3: strcpy(vcStat,"抵贷"); break;
	}

/*
	memset(cFlag,0,sizeof(cFlag));
	switch(atoi(sAll.flag))
	{
	 case 0: strcpy(cFlag,"是"); break;
	 case 1: strcpy(cFlag,"否"); break;
	}
*/
	ConvertDate(sAll.stop_date);
	ConvertDate(sAll.im_init_date);
	ConvertDate(sAll.im_stop_date);
	ConvertDate(sAll.recv_date);
	ConvertDate(sAll.mor_date);

        fprintf(fp,"%s,%d,%s,%s,%d,%.2f,%s,%s,%s,%.2f,%.2f,%s,%s,%s,%s,%s,%s,%s,%s\n",sAll.apply_no,sAll.serno,sAll.id,sAll.title,sAll.number,sAll.sum,sAll.issue_unit,sAll.stop_date,sAll.card_no,sAll.evaluate,sAll.impawn,sAll.im_init_date,sAll.im_stop_date,vcStat,sAll.recv_op,sAll.recv_date,sAll.mor_op,sAll.mor_date,sAll.name);

    	$fetch cursel into $sAll;
    }

    $close cursel;
    $free cursel;
    $free selid;

    fclose(fp);

    CreateStruct("返回码","000");
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -