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

📄 convapi.c

📁 unix 下用pro*c tuxedo 开发的东西
💻 C
📖 第 1 页 / 共 5 页
字号:
 if (sqlca.sqlcode < 0) sqlerror();
}



	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; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 18;
 sqlstm.stmt = "select * into :b0,:b1,:b2,:b3,:b4:b5,:b6:b7,:b8:b9,:b10,:b11\
:b12,:b13:b14,:b15:b16,:b17:b18,:b19:b20,:b21,:b22,:b23  from t_jspdyssm where\
 (jsxh=:b24 and sjbh=:b25)";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )582;
 sqlstm.selerr = (unsigned short)1;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlstm.sqhstv[0] = (unsigned char  *)(PDSMDB.bkdh);
 sqlstm.sqhstl[0] = (unsigned int  )7;
 sqlstm.sqindv[0] = (         short *)0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqhstv[1] = (unsigned char  *)(PDSMDB.yslx);
 sqlstm.sqhstl[1] = (unsigned int  )2;
 sqlstm.sqindv[1] = (         short *)0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqhstv[2] = (unsigned char  *)(PDSMDB.wjbh);
 sqlstm.sqhstl[2] = (unsigned int  )3;
 sqlstm.sqindv[2] = (         short *)0;
 sqlstm.sqharm[2] = (unsigned int  )0;
 sqlstm.sqhstv[3] = (unsigned char  *)&(PDSMDB.qdqa);
 sqlstm.sqhstl[3] = (unsigned int  )4;
 sqlstm.sqindv[3] = (         short *)0;
 sqlstm.sqharm[3] = (unsigned int  )0;
 sqlstm.sqhstv[4] = (unsigned char  *)&(PDSMDB.qdqb);
 sqlstm.sqhstl[4] = (unsigned int  )4;
 sqlstm.sqindv[4] = (         short *)&qdqb_id;
 sqlstm.sqharm[4] = (unsigned int  )0;
 sqlstm.sqhstv[5] = (unsigned char  *)&(PDSMDB.zdqa);
 sqlstm.sqhstl[5] = (unsigned int  )4;
 sqlstm.sqindv[5] = (         short *)&zdqa_id;
 sqlstm.sqharm[5] = (unsigned int  )0;
 sqlstm.sqhstv[6] = (unsigned char  *)&(PDSMDB.zdqb);
 sqlstm.sqhstl[6] = (unsigned int  )4;
 sqlstm.sqindv[6] = (         short *)&zdqb_id;
 sqlstm.sqharm[6] = (unsigned int  )0;
 sqlstm.sqhstv[7] = (unsigned char  *)(PDSMDB.kq);
 sqlstm.sqhstl[7] = (unsigned int  )7;
 sqlstm.sqindv[7] = (         short *)0;
 sqlstm.sqharm[7] = (unsigned int  )0;
 sqlstm.sqhstv[8] = (unsigned char  *)&(PDSMDB.dingj);
 sqlstm.sqhstl[8] = (unsigned int  )4;
 sqlstm.sqindv[8] = (         short *)&dingj_id;
 sqlstm.sqharm[8] = (unsigned int  )0;
 sqlstm.sqhstv[9] = (unsigned char  *)&(PDSMDB.dyzs);
 sqlstm.sqhstl[9] = (unsigned int  )4;
 sqlstm.sqindv[9] = (         short *)&dyzs_id;
 sqlstm.sqharm[9] = (unsigned int  )0;
 sqlstm.sqhstv[10] = (unsigned char  *)&(PDSMDB.dyk);
 sqlstm.sqhstl[10] = (unsigned int  )4;
 sqlstm.sqindv[10] = (         short *)&dyk_id;
 sqlstm.sqharm[10] = (unsigned int  )0;
 sqlstm.sqhstv[11] = (unsigned char  *)&(PDSMDB.lszs);
 sqlstm.sqhstl[11] = (unsigned int  )4;
 sqlstm.sqindv[11] = (         short *)&lszs_id;
 sqlstm.sqharm[11] = (unsigned int  )0;
 sqlstm.sqhstv[12] = (unsigned char  *)&(PDSMDB.lsk);
 sqlstm.sqhstl[12] = (unsigned int  )4;
 sqlstm.sqindv[12] = (         short *)&lsk_id;
 sqlstm.sqharm[12] = (unsigned int  )0;
 sqlstm.sqhstv[13] = (unsigned char  *)(PDSMDB.sjbh);
 sqlstm.sqhstl[13] = (unsigned int  )3;
 sqlstm.sqindv[13] = (         short *)0;
 sqlstm.sqharm[13] = (unsigned int  )0;
 sqlstm.sqhstv[14] = (unsigned char  *)&(PDSMDB.yxnf);
 sqlstm.sqhstl[14] = (unsigned int  )4;
 sqlstm.sqindv[14] = (         short *)0;
 sqlstm.sqharm[14] = (unsigned int  )0;
 sqlstm.sqhstv[15] = (unsigned char  *)&(PDSMDB.jsxh);
 sqlstm.sqhstl[15] = (unsigned int  )4;
 sqlstm.sqindv[15] = (         short *)0;
 sqlstm.sqharm[15] = (unsigned int  )0;
 sqlstm.sqhstv[16] = (unsigned char  *)&key;
 sqlstm.sqhstl[16] = (unsigned int  )4;
 sqlstm.sqindv[16] = (         short *)0;
 sqlstm.sqharm[16] = (unsigned int  )0;
 sqlstm.sqhstv[17] = (unsigned char  *)sjbh;
 sqlstm.sqhstl[17] = (unsigned int  )0;
 sqlstm.sqindv[17] = (         short *)0;
 sqlstm.sqharm[17] = (unsigned int  )0;
 sqlstm.sqphsv = sqlstm.sqhstv;
 sqlstm.sqphsl = sqlstm.sqhstl;
 sqlstm.sqpind = sqlstm.sqindv;
 sqlstm.sqparm = sqlstm.sqharm;
 sqlstm.sqparc = sqlstm.sqharc;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) sqlerror();
}



	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; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 18;
 sqlstm.stmt = "select jsfs into :b0  from t_fbkj where fbkjbh=:b1";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )668;
 sqlstm.selerr = (unsigned short)1;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlstm.sqhstv[0] = (unsigned char  *)jsfs;
 sqlstm.sqhstl[0] = (unsigned int  )10;
 sqlstm.sqindv[0] = (         short *)0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqhstv[1] = (unsigned char  *)fbkjbh;
 sqlstm.sqhstl[1] = (unsigned int  )3;
 sqlstm.sqindv[1] = (         short *)0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqphsv = sqlstm.sqhstv;
 sqlstm.sqphsl = sqlstm.sqhstl;
 sqlstm.sqpind = sqlstm.sqindv;
 sqlstm.sqparm = sqlstm.sqharm;
 sqlstm.sqparc = sqlstm.sqharc;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) sqlerror();
}



	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; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 18;
 sqlstm.stmt = "select count(*)  into :b0  from t_tempysflag where (jsxh=:b1\
 and sjbh=:b2)";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )690;
 sqlstm.selerr = (unsigned short)1;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlstm.sqhstv[0] = (unsigned char  *)&avoid_repeat;
 sqlstm.sqhstl[0] = (unsigned int  )4;
 sqlstm.sqindv[0] = (         short *)0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqhstv[1] = (unsigned char  *)&key;
 sqlstm.sqhstl[1] = (unsigned int  )4;
 sqlstm.sqindv[1] = (         short *)0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqhstv[2] = (unsigned char  *)sjbh;
 sqlstm.sqhstl[2] = (unsigned int  )0;
 sqlstm.sqindv[2] = (         short *)0;
 sqlstm.sqharm[2] = (unsigned int  )0;
 sqlstm.sqphsv = sqlstm.sqhstv;
 sqlstm.sqphsl = sqlstm.sqhstl;
 sqlstm.sqpind = sqlstm.sqindv;
 sqlstm.sqparm = sqlstm.sqharm;
 sqlstm.sqparc = sqlstm.sqharc;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) sqlerror();
}



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

{
  struct sqlexd sqlstm;

  sqlstm.sqlvsn = 8;
  sqlstm.arrsiz = 18;
  sqlstm.stmt = "insert into t_tempysflag values (:b0,:b1,:b2,:b3,sysdate )";
  sqlstm.iters = (unsigned int  )1;
  sqlstm.offset = (unsigned int  )716;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)0;
  sqlstm.sqhstv[0] = (unsigned char  *)fbkjbh;
  sqlstm.sqhstl[0] = (unsigned int  )3;
  sqlstm.sqindv[0] = (         short *)0;
  sqlstm.sqharm[0] = (unsigned int  )0;
  sqlstm.sqhstv[1] = (unsigned char  *)&tmp_jsfs;
  sqlstm.sqhstl[1] = (unsigned int  )1;
  sqlstm.sqindv[1] = (         short *)0;
  sqlstm.sqharm[1] = (unsigned int  )0;
  sqlstm.sqhstv[2] = (unsigned char  *)&key;
  sqlstm.sqhstl[2] = (unsigned int  )4;
  sqlstm.sqindv[2] = (         short *)0;
  sqlstm.sqharm[2] = (unsigned int  )0;
  sqlstm.sqhstv[3] = (unsigned char  *)sjbh;
  sqlstm.sqhstl[3] = (unsigned int  )0;
  sqlstm.sqindv[3] = (         short *)0;
  sqlstm.sqharm[3] = (unsigned int  )0;
  sqlstm.sqphsv = sqlstm.sqhstv;
  sqlstm.sqphsl = sqlstm.sqhstl;
  sqlstm.sqpind = sqlstm.sqindv;
  sqlstm.sqparm = sqlstm.sqharm;
  sqlstm.sqparc = sqlstm.sqharc;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
  if (sqlca.sqlcode < 0) sqlerror();
}


/*** ***/

/*	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);

	retur

⌨️ 快捷键说明

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