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

📄 svrf335.ec

📁 一个银行业务的程序
💻 EC
字号:
/*****************************
*查询转形态清单              *
******************************/
#include <stdio.h>
#include <stdlib.h>

SvrF335(int argc,char *argv[])
{
    $char cBankNo[11],cTradeDate[9],cTradeMode[2],cSql[800];
    $char cOperNo[5],cWorkDate[9],cWorkTime[9];
    char cTemp[100],vcCreDate[9],vcInitDate[9],vcEndDate[9],vcPrtDate[9];
    $char vcBreedName[21],vcBefStatName[21],vcAftStatName[21];

    $struct sTRANSFORMS {
    	char cont_no[17];
    	char sub_cont_no[3];
    	char cust_no[17];
    	char cust_name[61];
    	char breed[5];
    	long init_date;
    	long end_date;
    	double loan_amt;
    	double loan_bal;
	char bef_state[2];
	char bef_sub[7];
	char aft_state[2];
	char aft_sub[7];
    	char cont_bank[11];
    	char cre_bank[11];
    	char cre_oper[5];
    	long cre_date;
    	char cre_time[9];
    	char prt_flag[2];
    	char prt_bank[11];
    	char prt_oper[5];
    	long prt_date;
    	char prt_time[9];
    } struTransForms;

    char fname[80];
    FILE *fp;

    sprintf(cBankNo,"%s",argv[0]);
    sprintf(cTradeDate,"%s",argv[1]);
    sprintf(cTradeMode,"%s",argv[2]);
    sprintf(fname,"%s/download/%s",getenv("HOME"),argv[3]);
    sprintf(cOperNo,"%s",argv[4]);
    sprintf(cWorkDate,"%s",argv[5]);
    sprintf(cWorkTime,"%s",argv[6]);

WriteTest("svrf335:cBankNo[%s]cTradeDate[%s]cTradeMode[%s]\n",cBankNo,cTradeDate,cTradeMode);

    sprintf(cSql,"select * from trans_forms where cont_bank='%s'",cBankNo);

    if((strlen(cTradeDate)!=0)&&(strncmp(cTradeDate,"    ",4)!=0))
    {
	sprintf(cTemp," and cre_date='%s'",cTradeDate);
	strcat(cSql,cTemp);
    }

    switch(atoi(cTradeMode))
    {
      case 1:	/*查询未打记录*/
	strcat(cSql," and prt_flag='0'");
	break;
      case 2:	/*查询已打记录*/
	strcat(cSql," and prt_flag='1'");
	break;
    }

    strcat(cSql," for update");

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

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

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

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

    $fetch cursel into $struTransForms;

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

    if (( fp=fopen(fname,"w"))==NULL)
    {
    	    WriteTest("svrf335: open file %s error \n",fname);
	    CreateStruct("返回码","020");
	    return 0;
    }

    CreateStruct("文件标志","1");

    fprintf(fp, "生成日期,借据号,放贷批次,客户号,客户名,贷款品种,起始日期,到期日期,贷款金额,贷款余额,转前状态,转前科目,转后状态,转后科目,打印操作员,打印日期\n");

    while(sqlca.sqlcode==0)
    {
	$select name into $vcBreedName from trans_menu
	    where menu_name="trans_LoanBreed" and code=$struTransForms.breed;
	if(sqlca.sqlcode!=0)
	    strcpy(vcBreedName,struTransForms.breed);

	$select name into $vcBefStatName from trans_menu
	   where menu_name="trans_BillState" and code=$struTransForms.bef_state;
	if(sqlca.sqlcode!=0)
	    strcpy(vcBefStatName,struTransForms.bef_state);

	$select name into $vcAftStatName from trans_menu
	   where menu_name="trans_BillState" and code=$struTransForms.aft_state;
	if(sqlca.sqlcode!=0)
	    strcpy(vcAftStatName,struTransForms.aft_state);

	ClipStr(vcBreedName);
	ClipStr(vcBefStatName);
	ClipStr(vcAftStatName);

	rfmtdate(struTransForms.cre_date,"yyyymmdd",vcCreDate);
	rfmtdate(struTransForms.init_date,"yyyymmdd",vcInitDate);

	if(struTransForms.end_date>0)
	    rfmtdate(struTransForms.end_date,"yyyymmdd",vcEndDate);
	else
	    strcpy(vcEndDate,"        ");

	if(struTransForms.prt_date>0)
	    rfmtdate(struTransForms.prt_date,"yyyymmdd",vcPrtDate);
	else
	    strcpy(vcPrtDate,"        ");

	rfmtdate(struTransForms.prt_date,"yyyymmdd",vcPrtDate);

	fprintf(fp,"%s,%s,%s,%s,%s,%s,%s,%s,%.2f,%.2f,%s,%s,%s,%s,%s,%s\n",
		vcCreDate,struTransForms.cont_no,struTransForms.sub_cont_no,
		struTransForms.cust_no,struTransForms.cust_name,vcBreedName,
		vcInitDate,vcEndDate,struTransForms.loan_amt,
		struTransForms.loan_bal,vcBefStatName,struTransForms.bef_sub,
		vcAftStatName,struTransForms.aft_sub,
		struTransForms.prt_oper,vcPrtDate);

        $update trans_forms set prt_oper=$cOperNo,
                              prt_date=$cWorkDate,
                              prt_time=$cWorkTime,
                              prt_flag='1'
                where current of cursel;
	if(sqlca.sqlcode!=0)
	    WriteTest("svrf335:update trans_froms err[%ld]\n",sqlca.sqlcode);
		

    	$fetch cursel into $struTransForms;
    }

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

    fclose(fp);

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

⌨️ 快捷键说明

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