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

📄 convapi.pc

📁 unix 下用pro*c tuxedo 开发的东西
💻 PC
📖 第 1 页 / 共 4 页
字号:
		}
		trim(zfjbh);

/*		strcat(messagesj,zfjbh);

		strcat(messagesj,",");

		itoa(num_zjfs,tempstr,10);

		trim(tempstr);

		strcat(messagesj,tempstr);

		strcat(messagesj,",");

*/
		sprintf(messagesj,"%s%s,%ld,",messagesj,zfjbh,num_zjfs);
	}

	strcat(messagesj,"\n");

	EXEC SQL CLOSE cur_pdsj;

	return(0);

}



int CallConvertPDYS( long int key,char *sjbh )

{

	char tempstr[MID_LEN];

	char tempstring[MID_LEN];

	char temp_bkdh[MID_LEN];

	char ch[2];

	char tempstrqdqb[MID_LEN];

	char jsfs[SHORT_LEN];

	char temp,tmp_jsfs;

	char fbkjbh[3];

	char file_locat[MID_LEN];

	char SJ_name[MID_LEN];

	char SJ_name_no[MID_LEN];

	int  i, avoid_repeat;

	int  tempnum, retcode,flag ;

	struct stPDYSSMDBRec PDSMDB;

	short dingj_id,dyzs_id,dyk_id,lszs_id,lsk_id,qdqb_id,zdqa_id,zdqb_id;

	

	ch[0]='\0';

	EXEC SQL WHENEVER SQLERROR DO sqlerror();

	EXEC SQL SELECT * INTO

		:PDSMDB.bkdh,:PDSMDB.yslx,:PDSMDB.wjbh,:PDSMDB.qdqa,:PDSMDB.qdqb :qdqb_id,

		:PDSMDB.zdqa :zdqa_id,:PDSMDB.zdqb :zdqb_id,

		:PDSMDB.kq,:PDSMDB.dingj :dingj_id,:PDSMDB.dyzs :dyzs_id,:PDSMDB.dyk :dyk_id,

		:PDSMDB.lszs :lszs_id,:PDSMDB.lsk :lsk_id,:PDSMDB.sjbh,:PDSMDB.yxnf,:PDSMDB.jsxh 

		FROM t_jspdyssm WHERE jsxh=:key AND sjbh=:sjbh;

	if( ERROR!=0 )

	{

		ERROR=0;

		return(-1);

	}

	temp=PDSMDB.yslx[0];

	trim(PDSMDB.bkdh);

/*	printf("bkdh%s\n",PDSMDB.bkdh);*/

	GetPATH(PDSMDB.bkdh,PDSMDB.sjbh,PDSMDB.yxnf,fbkjbh);

	EXEC SQL SELECT jsfs INTO :jsfs FROM t_fbkj WHERE fbkjbh=:fbkjbh;

	trim(jsfs);

	tmp_jsfs=jsfs[0];

/*** this is the clause to insert into temp table t_tempysflag ***/
	EXEC SQL SELECT COUNT(*) INTO :avoid_repeat FROM t_tempysflag WHERE jsxh=:key AND sjbh=:sjbh;

	if ( avoid_repeat==0 )
		EXEC SQL INSERT INTO t_tempysflag VALUES ( :fbkjbh,:tmp_jsfs,:key,:sjbh,sysdate );
/*** ***/

/*	printf("jsfs%s\n",jsfs);*/

	if( (strcmp(jsfs,"0")!=0)&&(strcmp(jsfs,"3")!=0) )

	{

		

/*		UpdateJSRZ_cved(key,sjbh);

*/		return(0);

	}

	messagepd=(char *)malloc((YSSM_LEN+1)*sizeof(char));

	if( messagepd==NULL )

	{

		ProcessError(LOG_ERROR,"PCS_Convert_File: no space in memory when use ","CallConvertPDYS");

		return(-1);

	}

	messagepd[0]='\0';

	

	tempstr[0]='\0';

	strcpy(tempstr,FBKJ_PATH);

	strcat(tempstr,fbkjbh);

	strcat(tempstr,"/bak/");

	strcpy(file_locat,tempstr);

	switch( temp )

	{

		case BPZ:	strcat(tempstr,"BPZY");

			break;

		case BPJ:	strcat(tempstr,"BPJY");

			flag=qdqbconv(PDSMDB.qdqb,ch);

			if( flag!=0 )

			ProcessError(LOG_ERROR,"PCS_Convert_File: error qdqb > 31 when use ","CallConvertPDYS");

			break;

		case KPZ:	strcat(tempstr,"KPZY");

			break;

		case KPJ:	strcat(tempstr,"KPJY");

			break;

		default:	ErrorEnded("PCS_Convert_File: error in function CallConvertPDYS yslx is not in pdys");

				return(-1);

	}

	/* get pdys data filename */

/*	strcpy(tempstring,PDSMDB.bkdh);

	trim(tempstring);

	strcat(tempstr,tempstring);

*/
/*	strcat(tempstr,".");

	strcpy(tempstring,PDSMDB.sjbh);

	trim(tempstring);

	strcat(tempstr,tempstring);

*/
/*	strcat(tempstr,ch);

*/	h_pdys=fopen(tempstr,"a");

	if( h_pdys == NULL )

	{

		ProcessError(LOG_ERROR,"PCS_Convert_File: cannot open ",tempstr);

		createdir();
		free(messagepd);

		return(-1);

	}

	fseek(h_pdys,0,SEEK_END);

	messagepd[0]='\0';

	str_givenlen(PDSMDB.bkdh,6,RIGHT);

	strcat(messagepd,PDSMDB.bkdh);

	strcat(messagepd,BsbhFromT);

	strcat(messagepd,PDSMDB.sjbh);

	itoa(PDSMDB.qdqa,tempstr,2);

	strcat(messagepd,tempstr);

	/**/

	if( qdqb_id!=-1 ) 

	{

		itoa(PDSMDB.qdqb,tempstr,2);

		strcat(messagepd,tempstr);

	}

	else

		strcat(messagepd,"  ");

	if( zdqa_id==-1)

		strcat(messagepd,"  ");

	else

	{

		itoa(PDSMDB.zdqa,tempstr,2);

		strcat(messagepd,tempstr);

	}

	/**/

	if( zdqb_id!=-1 )

	{

		itoa(PDSMDB.zdqb,tempstr,2);

		strcat(messagepd,tempstr);

	}

	else 

		strcat(messagepd,"  ");

	strcat(messagepd,PDSMDB.kq);

	if(dingj_id==-1)

		strcat(messagepd,"      ");

	else

	{

		ftoa(PDSMDB.dingj,tempstr,2,7);

		str_givenlen(tempstr,6,LEFT);

		strcat(messagepd,tempstr);

	}

	if(dyzs_id==-1)

		strcat(messagepd,"          ");

	else

	{

		itoa(PDSMDB.dyzs,tempstr,10);

		str_givenlen(tempstr,10,LEFT);

		strcat(messagepd,tempstr);

	}

	if(dyk_id==-1)

		strcat(messagepd,"           ");

	else

	{

		ftoa(PDSMDB.dyk,tempstr,2,12);

		str_givenlen(tempstr,11,LEFT);

		strcat(messagepd,tempstr);

	}

	tempstr[0]='\0';

	if(lszs_id==-1)

		strcat(messagepd,"          ");

	else

	{

		itoa(PDSMDB.lszs,tempstr,10);

		str_givenlen(tempstr,10,LEFT);

		strcat(messagepd,tempstr);

	}

	tempstr[0]='\0';

	if(lsk_id==-1)

		strcat(messagepd,"           ");

	else

	{

		ftoa(PDSMDB.lsk,tempstr,2,12);

		str_givenlen(tempstr,11,LEFT);

		strcat(messagepd,tempstr);

	}

	if( ((PDSMDB.yxnf)%2)==1 )

		strcpy(tempstr,"1");

	else

		strcpy(tempstr,"0");

	strcat(messagepd,tempstr);

	strcat(messagepd,"\n");

	fputs(messagepd,h_pdys);

	free(messagepd);

	fclose(h_pdys);

/*	printf("%s\n",messagepd);*/

	/*  BPZY and BPJY need qdqb  */	

	

	strcpy(temp_bkdh,PDSMDB.bkdh);

	trim(temp_bkdh);

	

	if( temp=='3' || temp=='5' )
	{
		tempstr[0]='\0';

		strcpy(tempstring,"PZ");

		strcat(tempstring,temp_bkdh);

		strcat(tempstring,".");

		strcat(tempstring,PDSMDB.sjbh);

	}
	else if( temp=='4' || temp=='6' )
	{
		tempstring[0]='\0';

		strcpy(tempstring,"PJ");

		strcat(tempstring,temp_bkdh);

		strcat(tempstring,".");

		strcat(tempstring,PDSMDB.sjbh);

		strcat(tempstring,ch);

	}

	if( temp=='3' )
	{
		strcpy(tempstr,"BPZ");
		YS_SINGAL[2]='1';
	}
	else if( temp=='5' )
	{
		strcpy(tempstr,"KPZ");
		YS_SINGAL[4]='1';
	}
	else if( temp=='4' )
	{
		strcpy(tempstr,"BPJ");
		YS_SINGAL[3]='1';
	}
	else if( temp=='6' )
	{
		strcpy(tempstr,"KPJ");
		YS_SINGAL[5]='1';
	}

	messagepdsj=(char *)malloc(MAX_YSSJ_LEN*sizeof(char));

	if( messagepdsj==NULL )

	{

		ProcessError(LOG_ERROR,"PCS_Convert_File: no space in memory when use ","CallConvertPDYS");

		return(-1);

	}

	messagepdsj[0]='\0';


	strcat(file_locat,tempstr);

	h_pdsj=fopen(file_locat,"a");

	if( h_pdsj == NULL )

	{

		ProcessError(LOG_ERROR,"PCS_Convert_File: cannot open ",file_locat);

		free(messagepdsj);

		return(-1);

	}

	fseek(h_pdsj,0,SEEK_END);



	retcode=ConvertPDYSSJ(tempstring,messagepdsj,key,sjbh);

	if( retcode!=0 )
	{
		free(messagepdsj);
		fclose(h_pdsj);
		ProcessError(LOG_ERROR,"PCS_Convert_File: convert pdsj error! ",END);
		return(-1);
	}
	fputs(messagepdsj,h_pdsj);

	free(messagepdsj);

	fclose(h_pdsj);

	UpdateJSRZ_cved(key,sjbh);

	return(0);

}



int CallConvertGH( long int key,char *sjbh )

{

	char tempstr[MID_LEN];

	char string[SHORT_LEN];

	int i;

	int tempnum;

	struct stGHDBRec GHDB;

	

/*	for( i=0;i<MAX_GH_LEN;i++ )

		GHDB.ghnr[i]='\0';

*/		

	/* The primary key of t_jsgh is sjbh and jsxh , so declare cursor cur_mulgh */

	/* to avoid select too many value into sqlerror */

	EXEC SQL WHENEVER SQLERROR DO sqlerror();

	EXEC SQL VAR GHDB.ghnr IS string;

	EXEC SQL  SELECT * INTO :GHDB.ghbh,:GHDB.ghxl,:GHDB.ghnr,:GHDB.sjbh,:GHDB.jsxh

		FROM t_jsgh WHERE jsxh=:key AND sjbh=:sjbh;

	

	if( ERROR!=0 )

	{

		ERROR=0;

		return(-1);

	}

	/* get gh filename */

	tempstr[0]='\0';

	strcpy(tempstr,YWJ_PATH);

	strcat(tempstr,"GH");

	trim(GHDB.sjbh);

	strcat(tempstr,GHDB.sjbh);

	strcat(tempstr,BsbhFromT);

	trim(GHDB.ghxl);

	strcat(tempstr,GHDB.ghxl);

	strcat(tempstr,".");

	trim(GHDB.ghbh);

	strcat(tempstr,GHDB.ghbh);

	

	h_gh=fopen(tempstr,"w");

	if( h_gh == NULL )

	{

		ProcessError(LOG_ERROR,"PCS_Convert_File: cannot open ",tempstr);

		return(-1);

	}

	

	fputs(GHDB.ghnr,h_gh);

	fclose(h_gh);

	UpdateJSRZ_cved(key,sjbh);

	return(0);

}



int CallConvertBKML( long int key,char *sjbh )

{

	char tempstr[MID_LEN],sys_bkml[MID_LEN];

	char filewithpath[MID_LEN],filename[MID_LEN];
	char string[SHORT_LEN];

	int i;

	int num_line,tmpbym;

	int tempnum;

	struct stBKMLDBRec BKMLDB;

	struct stBKMLDBRec_id stDBRecord_id;

	

	ERROR=0;

	EXEC SQL WHENEVER SQLERROR DO sqlerror();

	EXEC SQL DECLARE cur_bkml CURSOR FOR 

		SELECT * FROM t_jsbkhzmlnr WHERE jsxh=:key AND sjbh=:sjbh;

	

	/* get gh filename */

	filewithpath[0]='\0';

	strcpy(filewithpath,YWJ_PATH);

	strcat(filewithpath,"BKML");

	

	h_bkml=fopen(filewithpath,"a");

	if( h_bkml == NULL )

	{

		ProcessError(LOG_ERROR,"PCS_Convert_File: cannot open ",filewithpath);

		return(-1);

	}


	strcat(filewithpath,".");

	trim(sjbh);

	strcat(filewithpath,sjbh);


	fputs("XXXX3",h_bkml);
	trimpath(filewithpath,filename);
	fputs(filename,h_bkml);

	EXEC SQL SELECT count(*) INTO :num_line FROM t_jsbkhzmlnr WHERE jsxh=:key AND sjbh=:sjbh;

	messagebkml=(char *)malloc((MAX_BKML_LINE+1)*sizeof(char));

	EXEC SQL OPEN cur_bkml;

	for( i=0;i<num_line;i++ )

	{

		EXEC SQL FETCH cur_bkml INTO :BKMLDB.bkdh, :BKMLDB.bkmc :stDBRecord_id.bkmc_id,

                                     :BKMLDB.fbkjmc :stDBRecord_id.fbkj_id, :BKMLDB.cbrq :stDBRecord_id.cbrq_id,

                                     :BKMLDB.dj :stDBRecord_id.dj_id, :BKMLDB.yj :stDBRecord_id.yj_id,

                                     :BKMLDB.jj :stDBRecord_id.jj_id, :BKMLDB.bnj :stDBRecord_id.bnj_id,

                                     :BKMLDB.nj :stDBRecord_id.nj_id, :BKMLDB.hzddrq :stDBRecord_id.hzddjdrq_id,

                                     :BKMLDB.fxfw :stDBRecord_id.fxfw_id, :BKMLDB.kq :stDBRecord_id.kq_id,

                                     :BKMLDB.tykh :stDBRecord_id.tykh_id, :BKMLDB.jb :stDBRecord_id.jb_id,

                                     :BKMLDB.pc :stDBRecord_id.pc_id, :BKMLDB.kz :stDBRecord_id.kz_id,

                                     :BKMLDB.bym :stDBRecord_id.bym_id, :BKMLDB.xyf :stDBRecord_id.xyf_id,

                                     :BKMLDB.bbdyfl :stDBRecord_id.bbdyfl_id, :BKMLDB.wbdyfl :stDBRecord_id.wbdyfl_id,

                                     :BKMLDB.bblsfl :stDBRecord_id.bblsfl_id, :BKMLDB.wblsfl :stDBRecord_id.wblsfl_id,

                                     :BKMLDB.bz :stDBRecord_id.bz_id, :BKMLDB.key;



		trim(BKMLDB.bkdh);

		trim(BKMLDB.bkmc);

		trim(BKMLDB.fbkjmc);

		trim(BKMLDB.cbrq);

		
		sprintf(messagebkml,"%s%s%s%s%s%s%s%s",BKMLDB.bkdh,",",BKMLDB.bkmc,",",BKMLDB.fbkjmc,",",BKMLDB.cbrq,",");

		if( stDBRecord_id.dj_id == 0 )

			sprintf(messagebkml,"%s%.2f",messagebkml,BKMLDB.dj);
		strcat(messagebkml,",");


		if( stDBRecord_id.yj_id == 0 )

			sprintf(messagebkml,"%s%.2f",messagebkml,BKMLDB.yj);

		strcat(messagebkml,",");


		if( stDBRecord_id.jj_id == 0 )

			sprintf(messagebkml,"%s%.2f",messagebkml,BKMLDB.jj);

		strcat(messagebkml,",");


		if( stDBRecord_id.bnj_id == 0 )

			sprintf(messagebkml,"%s%.2f",messagebkml,BKMLDB.bnj);

		strcat(messagebkml,",");

/*		if( stDBRecord_id.nj_id == 0 )

			sprintf(messagebkml,"%s%.2f",messagebkml,BKMLDB.nj);

		strcat(messagebkml,",");

*/
		trim(BKMLDB.hzddrq);

		trim(BKMLDB.fxfw);

		trim(BKMLDB.kq);

		trim(BKMLDB.tykh);

		trim(BKMLDB.jb);

		trim(BKMLDB.bz);

		trim(BKMLDB.xyf);


		sprintf(messagebkml,"%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",messagebkml,BKMLDB.hzddrq,",",BKMLDB.fxfw,
			",",BKMLDB.kq,",",BKMLDB.tykh,",",BKMLDB.jb,",",BKMLDB.bz,",",BKMLDB.xyf,",");

		if( stDBRecord_id.pc_id == 0 )

			sprintf(messagebkml,"%s%d",messagebkml,BKMLDB.pc);

		strcat(messagebkml,",");


		if( stDBRecord_id.kz_id == 0 )

			sprintf(messagebkml,"%s%d",messagebkml,BKMLDB.kz);

		strcat(messagebkml,",");


		if( stDBRecord_id.bym_id == 0 )

		{

			sprintf(tempstr,"%d",BKMLDB.bym);
			tmpbym=strlen(tempstr);
			if( tmpbym>2 )
			{
				tempstr[tmpbym+1]='\0';
				tempstr[tmpbym]=tempstr[tmpbym-1];
				tempstr[tmpbym-1]=tempstr[tmpbym-2];
				tempstr[tmpbym-2]=',';
				sprintf(messagebkml,"%s%s",messagebkml,tempstr);
			}
			else sprintf(messagebkml,"%s%c%s",messagebkml,',',tempstr);
		}

		else strcat(messagebkml,",");
		strcat(messagebkml,",");


/*		if( stDBRecord_id.bbdyfl_id == 0 )

			sprintf(messagebkml,"%s%.2f",messagebkml,BKMLDB.bbdyfl);

		strcat(messagebkml,",");


		if( stDBRecord_id.wbdyfl_id == 0 )

			sprintf(messagebkml,"%s%.2f",messagebkml,BKMLDB.wbdyfl);

		strcat(messagebkml,",");


		if( stDBRecord_id.bblsfl_id == 0 )

			sprintf(messagebkml,"%s%.2f",messagebkml,BKMLDB.bblsfl);

		strcat(messagebkml,",");


		if( stDBRecord_id.wblsfl_id == 0 )

			sprintf(messagebkml,"%s%.2f",messagebkml,BKMLDB.wblsfl);

		strcat(messagebkml,",");

*/
		strcat(messagebkml,"\n");

		if( ERROR!=0 )

		{

			ERROR=0;

			free(messagebkml);

			EXEC SQL CLOSE cur_bkml;

			fclose(h_bkml);

			return(-1);

		}

		

		fputs(messagebkml,h_bkml);

	}

	fputs("XXXX0",h_bkml);
	

⌨️ 快捷键说明

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