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

📄 svrf315.ec

📁 一个银行业务的程序
💻 EC
字号:
#include "../incl/serverpub.h"
$include sqlca;

/** 	
 日期:2003/03/21
 参数:操作网点,交易类型,操作员号,日期
*/

/* 修改记录
*/

SvrF315(int argc,char *argv[])
{
	char	cBankNo[11],cTradeType[3];
	$char	cMinDate[11],e_cSql[800];
	int 	i,iFlag;
	$char 	e_bef_sub[7],e_aft_sub[7],e_bef_form[2],e_aft_form[2];
	$char 	e_source[5],e_bef_formname[21],e_aft_formname[21];
	$char	e_serno[11],e_time[9],e_code[5],e_id[17];
	$char	e_apply_no[17],e_chi_apply_no[3],e_breed[5],e_year[5];
	$char	e_order[3],e_codename[21],e_ordername[21];
	$char	e_state[2],e_bank_no[11],e_credit_man[5],e_statename[5];
	$char 	e_breedname[21],e_sourcename[21];
	$double	e_banlance,e_interest,e_corpus;

	$int	e_lCount;
	char	cTemp[80],cFileName[80],cCon[200],cConHis[200],cOper[5];
	FILE	*fp;

#ifdef QDCS
        for(i=0;i<argc;i++)
                WriteTest("argv[%d]:%s\n",i,argv[i]);
#endif
	iFlag=0;//1 包括当日

	memset(cBankNo,0,sizeof(cBankNo));
	strcpy(cBankNo,argv[0]);
	ClipStr(cBankNo);

	memset(cCon,0,sizeof(cCon));
	if(strlen(cBankNo))
	{
		memset(cTemp,0,sizeof(cTemp));
		sprintf(cTemp," bank_no='%s'",cBankNo);
		strcat(cCon,cTemp);
	}

	memset(cTradeType,0,sizeof(cTradeType));
	strcpy(cTradeType,argv[1]);
	ClipStr(cTradeType);

	switch(atoi(cTradeType))
	{
	  case 1:
		if(strlen(cCon)) strcat(cCon," and ");
		strcat(cCon," code[1,2] in ('51','52')");
		break;
	  case 2:
		if(strlen(cCon)) strcat(cCon," and ");
		strcat(cCon," code[1,2] in ('54','55')");
		break;
	  case 3:
		if(strlen(cCon)) strcat(cCon," and ");
		strcat(cCon," code[1,2]='64'");
		break;
	}

	memset(cOper,0,sizeof(cOper));
	strcpy(cOper,argv[2]);
	ClipStr(cOper);

	if(strlen(cOper))
	{
		if(strlen(cCon)) strcat(cCon," and ");
		memset(cTemp,0,sizeof(cTemp));
		sprintf(cTemp," credit_man='%s'",cOper);
		strcat(cCon,cTemp);
	}

	memset(cMinDate,0,sizeof(cMinDate));
	strcpy(cMinDate,argv[3]);
	ClipStr(cMinDate);

	if(strlen(cMinDate))//只要起始日期有内容
	{
		$select count(*) into $e_lCount from sysfile where workdate=$cMinDate;
		if(SQLCODE<0)	
		{
			#ifdef QDCS
				WriteTest("select sysfile SQLCODE=%d,LINE=%d\n",SQLCODE,__LINE__);
			#endif
			CreateStruct("返回码","020");
			return 0;
		}
		if(e_lCount==0) iFlag=1;//!!!

		memset(cConHis,0,sizeof(cConHis));
		strcpy(cConHis,cCon);
		if(strlen(cConHis)) strcat(cConHis," and ");
		sprintf(cTemp," trade_date='%s'",cMinDate);
		strcat(cConHis,cTemp);
	}

	if(iFlag)//历史
	{
		sprintf(e_cSql,"select serno,time,code,id,apply_no,chi_apply_no,breed,year,order,corpus,interest,banlance,bef_form,aft_form,bef_sub,aft_sub,source,state,bank_no,credit_man from trade_hislog");
		if(strlen(cConHis)>0)
		{
			strcat(e_cSql," where ");
			strcat(e_cSql,cConHis);
		}
	}else{//当日
		sprintf(e_cSql,"select serno,time,code,id,apply_no,chi_apply_no,breed,year,order,corpus,interest,banlance,bef_form,aft_form,bef_sub,aft_sub,source,state,bank_no,credit_man from trade_log");
		if(strlen(cCon)>0)
		{
			strcat(e_cSql," where ");
			strcat(e_cSql,cCon);
		}
	}

	strcat(e_cSql," order by serno");

	$prepare SUBJECT from :e_cSql;
	$declare s_ur cursor for SUBJECT; 
	if(SQLCODE<0)	
	{
		#ifdef QDCS
			WriteTest("SQLCODE=%d,LINE=%d\nSQL=%s\n",SQLCODE,__LINE__,e_cSql);
		#endif
		CreateStruct("返回码","020");
		return 0;
	}

	$open s_ur;
	if(SQLCODE<0)	
	{
		#ifdef QDCS
			WriteTest("SQLCODE=%d,LINE=%d\n",SQLCODE,__LINE__);
		#endif
		CreateStruct("返回码","020");
		return 0;
	}

#ifdef QDCS
	WriteTest("iFlag=%d,SQL=%s\n",iFlag,e_cSql);
#endif
	memset(cTemp,0,sizeof(cTemp));
	FindKey("地区号");strcat(cTemp,sCurrent->cValue);
	FindKey("前置机号");strcat(cTemp,sCurrent->cValue);
	FindKey("储蓄所号");strcat(cTemp,sCurrent->cValue);
	FindKey("操作员号");strcat(cTemp,sCurrent->cValue);
	memset(cFileName,0,sizeof(cFileName));
	sprintf(cFileName,"%s/download/%s",getenv("HOME"),cTemp);

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

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

 	fprintf(fp,"流水号,时间,交易名,客户名,申请号/合同号,子合同号,贷款品种,报表年号,报表期数,交易金额,利息,资金来源,交易前形态,交易后形态,交易前科目,交易后科目,交易状态,交易网点,操作员\n");

	while(1)
	{
/*		memset(e_bef_sub,0,sizeof(e_bef_sub));
		memset(e_aft_sub,0,sizeof(e_aft_sub));
		memset(e_serno,0,sizeof(e_serno));
		memset(e_time,0,sizeof(e_time));
		memset(e_code,0,sizeof(e_code));
		memset(e_id,0,sizeof(e_id));
		memset(e_apply_no,0,sizeof(e_apply_no));
		memset(e_chi_apply_no,0,sizeof(e_chi_apply_no));
		memset(e_breed,0,sizeof(e_breed));
		memset(e_year,0,sizeof(e_year));
		memset(e_order,0,sizeof(e_order));
		memset(e_bef_form,0,sizeof(e_bef_form));
		memset(e_aft_form,0,sizeof(e_aft_form));
		memset(e_state,0,sizeof(e_state));
		memset(e_bank_no,0,sizeof(e_bank_no));
		memset(e_credit_man,0,sizeof(e_credit_man));
		memset(e_source,0,sizeof(e_source));
*/
		$fetch s_ur into $e_serno,$e_time,$e_code,$e_id,$e_apply_no,$e_chi_apply_no,$e_breed,$e_year,$e_order,$e_corpus,$e_interest,$e_banlance,$e_bef_form,$e_aft_form,$e_bef_sub,$e_aft_sub,$e_source,$e_state,$e_bank_no,$e_credit_man;
		if(SQLCODE)	break;

                if(e_interest==NULL)  	e_interest=0.0;
                if(e_corpus==NULL)	e_corpus=0.0;
                if(e_banlance==NULL)	e_banlance=0.0;

		$select comment into $e_codename from subtrade
			where tradecode=$e_code;
		if(SQLCODE!=0)
			strcpy(e_codename,e_code);

		$select name into $e_breedname from trans_menu
			where menu_name="trans_LoanBreed" and code=$e_breed;
		if(SQLCODE!=0)
			strcpy(e_breedname,e_breed);

		$select name into $e_ordername from trans_menu
			where menu_name="trans_reptype" and code=$e_order;
		if(SQLCODE!=0)
			strcpy(e_ordername,e_order);

		$select name into $e_sourcename from trans_menu
			where menu_name="trans_LoanSource" and code=$e_source;
		if(SQLCODE!=0)
			strcpy(e_sourcename,e_source);

		$select name into $e_bef_formname from trans_menu
			where menu_name="trans_BillState" and code=$e_bef_form;
		if(SQLCODE!=0)
			strcpy(e_bef_formname,e_bef_form);

		$select name into $e_aft_formname from trans_menu
			where menu_name="trans_BillState" and code=$e_aft_form;
		if(SQLCODE!=0)
			strcpy(e_aft_formname,e_aft_form);

		switch(atoi(e_state))
		{
		  case 0:
			strcpy(e_statename,"正常");
			break;
		  case 1:
			strcpy(e_statename,"删除");
			break;
		  case 2:
			strcpy(e_statename,"冲正");
			break;
		}

		fprintf(fp,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%.2f,%.2f,%s,%s,%s,%s,%s,%s,%s,%s,%s\n",e_serno,e_time,e_codename,e_id,e_apply_no,e_chi_apply_no,e_breedname,e_year,e_ordername,e_corpus,e_interest,e_sourcename,e_bef_formname,e_aft_formname,e_bef_sub,e_aft_sub,e_statename,e_bank_no,e_credit_man);
		
	}//end while

	$close s_ur;
	$free  s_ur;

	fclose(fp);

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

⌨️ 快捷键说明

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