📄 svrf308.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 + -