📄 svrf311.ec
字号:
/***********************************************
设备及其他动产抵押(质)表打印
2003/03/05
************************************************/
#include "../incl/serverpub.h"
$include sqlca;
SvrF311(int argc,char *argv[])
{
$char cQuryBank[11],cStartNo[17],cEndNo[17],cStartDate[9],cEndDate[9];
$char cSql[800],cSql1[800],cSql2[800];
char vcStat[5],cFlag[3];
$int iSumCounts;
char fname[50],cTemp[100];
FILE *fp;
int i;
$struct sLoanCont {
char apply_no[17];
int serno;
char mor_date[11];
char mor_op[9] ;
char recv_date[11];
char recv_op[9] ;
char state[2];
char init_date[11];
char stop_date[11];
double mor_value;
double eva_value;
double pure_value;
double old_value;
int number;
char insu_no[21];
char card_no[21];
char model[11];
char spec[11];
char flag[2] ;
char location[41] ;
char title[21];
char id[17];
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,mor_date,mor_op,recv_date,recv_op,state,init_date,stop_date,mor_value,eva_value,pure_value,old_value,number,insu_no,card_no,model,spec,flag,location,title,id,name from equipment 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,mor_date,mor_op,recv_date,recv_op,state,init_date,stop_date,mor_value,eva_value,pure_value,old_value,number,insu_no,card_no,model,spec,flag,location,title,id,name from equipment 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("svrf311:cSql[%s]\n",cSql);
$prepare selid1 from $cSql1;
if(sqlca.sqlcode<0)
{
WriteTest("svrf311:prepare[%s] err[%ld]\n",cSql1,sqlca.sqlcode);
CreateStruct("返回码","020");
return 0;
}
$execute selid1 into $iSumCounts;
if(sqlca.sqlcode!=0)
{
WriteTest("svrf311:execute[%s] err[%ld]\n",cSql1,sqlca.sqlcode);
CreateStruct("返回码","020");
$free selid1;
return 0;
}
$free selid1;
WriteTest("svrf311:iSumCount[%d]\n",iSumCounts);
if(iSumCounts==0)
{
CreateStruct("返回码","023");
return 0;
}
$prepare selid from $cSql;
if(sqlca.sqlcode<0)
{
WriteTest("svrf311:prepare[%s] err[%ld]\n",cSql,sqlca.sqlcode);
CreateStruct("返回码","020");
$free selid;
return 0;
}
$declare cursel cursor for selid;
if(sqlca.sqlcode<0)
{
WriteTest("svrf311:declare[%s] err[%ld]\n",cSql,sqlca.sqlcode);
CreateStruct("返回码","020");
$free selid;
return 0;
}
$open cursel;
if(sqlca.sqlcode<0)
{
WriteTest("svrf311:open declare err[%ld]\n",sqlca.sqlcode);
CreateStruct("返回码","020");
$free selid;
return 0;
}
$fetch cursel into $sAll;
if(sqlca.sqlcode<0)
{
WriteTest("svrf311: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("svrf311: 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.init_date);
ConvertDate(sAll.stop_date);
ConvertDate(sAll.recv_date);
ConvertDate(sAll.mor_date);
fprintf(fp,"%s,%d,%s,%s,%s,%s,%s,%s,%s,%.2f,%.2f,%.2f,%.2f,%d,%s,%s,%s,%s,%s,%s,%s,%s,%s\n",sAll.apply_no,sAll.serno,sAll.mor_date,sAll.mor_op,sAll.recv_date,sAll.recv_op,vcStat,sAll.init_date,sAll.stop_date,sAll.mor_value,sAll.eva_value,sAll.pure_value,sAll.old_value,sAll.number,sAll.insu_no,sAll.card_no,sAll.model,sAll.spec,cFlag,sAll.location,sAll.title,sAll.id,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 + -