📄 ysapi.c
字号:
flag+=myapi_ReadString(message,stPDSM->dingj,38,44);
flag+=myapi_ReadString(message,stPDSM->dyzs,45,54);
flag+=myapi_ReadString(message,stPDSM->dyk,55,65);
flag+=myapi_ReadString(message,stPDSM->lszs,66,75);
flag+=myapi_ReadString(message,stPDSM->lsk,76,86);
flag+=myapi_ReadString(message,stPDSM->yxnf,87,90);
if( flag!=17 )
return(-1);
return(0);
}
/*** convert from message to stPDSJ ***/
int PDYSSJRcv( char *message,struct stPDYSMsgRec *stPDSJ )
{
int flag=0;
flag+=myapi_ReadString(message,stPDSJ->zfjbh,pdnumpoint,pdnumpoint+7);
flag+=myapi_ReadString(message,stPDSJ->zjfs ,pdnumpoint+8,pdnumpoint+14);
flag+=myapi_ReadString(message,stPDSJ->lszjfs,pdnumpoint+15,pdnumpoint+21);
if( flag!=3 )
return(-1);
pdnumpoint+=22; /* it is a full varible */
return(0);
}
/*** convert from stZDSM to stZDDB ***/
int ZDSMMsgConvert( struct stZDYSMsgHeader stZDSM,struct stZDYSSMDBRec *stZDDB )
{
trim(stZDSM.yslx);
trim(stZDSM.wjbh);
trim(stZDSM.qdqa);
trim(stZDSM.kq);
trim(stZDSM.dingj);
trim(stZDSM.dyzs);
trim(stZDSM.dyk);
trim(stZDSM.lszs);
trim(stZDSM.lsk);
trim(stZDSM.fssbh);
trim(stZDSM.bkdh);
trim(stZDSM.yxnf);
trim(stZDSM.fsxh);
strcpy(stZDDB->yslx,stZDSM.yslx);
strcpy(stZDDB->wjbh,stZDSM.wjbh);
stZDDB->qdqa = atoi(stZDSM.qdqa);
strcpy(stZDDB->kq,stZDSM.kq);
stZDDB->dingj=atof( stZDSM.dingj);
stZDDB->dyzs =atol(stZDSM.dyzs);
stZDDB->dyk =atof(stZDSM.dyk);
stZDDB->lszs =atol(stZDSM.lszs);
stZDDB->lsk =atof(stZDSM.lsk);
strcpy(stZDDB->fssbh,stZDSM.fssbh);
strcpy(stZDDB->bkdh,stZDSM.bkdh);
stZDDB->nf=atoi(stZDSM.yxnf);
stZDDB->xh =atol(stZDSM.fsxh);
return(0);
}
/*** convert from stPDSM to stPDDB ***/
int PDSMMsgConvert(struct stPDYSMsgHeader stPDSM,struct stPDYSSMDBRec *stPDDB )
{
trim(stPDSM.yslx);
trim(stPDSM.wjbh);
trim(stPDSM.qdqa);
trim(stPDSM.qdqb);
trim(stPDSM.zdqa);
trim(stPDSM.zdqb);
trim(stPDSM.kq);
trim(stPDSM.dingj);
trim(stPDSM.dyzs);
trim(stPDSM.dyk);
trim(stPDSM.lszs);
trim(stPDSM.lsk);
trim(stPDSM.fssbh);
trim(stPDSM.bkdh);
trim(stPDSM.yxnf);
trim(stPDSM.fsxh);
strcpy(stPDDB->bkdh,stPDSM.bkdh);
strcpy(stPDDB->yslx,stPDSM.yslx);
strcpy(stPDDB->wjbh,stPDSM.wjbh);
stPDDB->qdqa = atoi(stPDSM.qdqa);
stPDDB->qdqb = atoi(stPDSM.qdqb);
if(stPDSM.zdqa[0]!='\0')
stPDDB->zdqa = atoi(stPDSM.zdqa);
if(stPDSM.zdqb[0]!='\0')
stPDDB->zdqb = atoi(stPDSM.zdqb);
strcpy(stPDDB->kq,stPDSM.kq);
stPDDB->dingj=atof( stPDSM.dingj);
stPDDB->dyzs =atol(stPDSM.dyzs);
stPDDB->dyk =atof(stPDSM.dyk);
stPDDB->lszs =atol(stPDSM.lszs);
stPDDB->lsk =atof(stPDSM.lsk);
strcpy(stPDDB->fssbh,stPDSM.fssbh);
stPDDB->nf=atoi(stPDSM.yxnf);
stPDDB->xh =atol(stPDSM.fsxh);
return(0);
}
/*** convert to stZDSJDB ***/
int ZDSJMsgConvert(struct stZDYSMsgHeader stZDSM,struct stZDYSMsgRec stZDSJ,struct stZDYSDBRec *stZDSJDB )
{
trim(stZDSJ.yffs);
trim(stZDSJ.qzlss);
trim(stZDSJ.zfjbh);
trim(stZDSM.fssbh);
trim(stZDSM.fsxh);
stZDSJDB->yffs =atol(stZDSJ.yffs);
stZDSJDB->qzlss=atol(stZDSJ.qzlss);
/* stZDSJDB->zfjbh=atol(stZDSJ.zfjbh);
*/
strcpy(stZDSJDB->zfjbh,stZDSJ.zfjbh);
strcpy(stZDSJDB->sjbh,stZDSM.fssbh);
stZDSJDB->xh =atol(stZDSM.fsxh);
return(0);
}
/*** convert to stPDSJDB ***/
int PDSJMsgConvert(struct stPDYSMsgHeader stPDSM,struct stPDYSMsgRec stPDSJ,struct stPDYSDBRec *stPDSJDB )
{
trim(stPDSJ.zjfs);
trim(stPDSJ.lszjfs);
trim(stPDSJ.zfjbh);
trim(stPDSM.fssbh);
trim(stPDSM.fsxh);
stPDSJDB->zjfs =atol(stPDSJ.zjfs);
stPDSJDB->lszjfs=atol(stPDSJ.lszjfs);
/* stPDSJDB->zfjbh=atol(stPDSJ.zfjbh);
*/
strcpy(stPDSJDB->zfjbh,stPDSJ.zfjbh);
strcpy(stPDSJDB->sjbh,stPDSM.fssbh);
stPDSJDB->xh =atol(stPDSM.fsxh);
return(0);
}
/*** insert the zd data from MQ to database ***/
int ZDYSRcvRecDB( char *message,long int msglen )
{
struct stZDYSMsgHeader stZDSM;
struct stZDYSMsgRec stZDSJ;
struct stZDYSSMDBRec stZDSMDB;
struct stZDYSDBRec stZDSJDB;
struct stZDYSSM_id ZDid;
int count_rec;
int i;
int flag;
short qzlss_id;
count_rec=(msglen-ZDSM_MSG_LEN)/YSSJ_MSG_LEN;
flag=ZDYSSMRcv( message,&stZDSM );
if( flag!=0 )
{
return(-1);
}
ZDSMMsgConvert(stZDSM,&stZDSMDB);
/* printf(",%s,%s,%d,%s,\n",stZDSMDB.yslx,stZDSMDB.wjbh,stZDSMDB.qdqa,stZDSMDB.kq);
printf(",%.2f,%d,%.2f,%d\n",stZDSMDB.dingj,stZDSMDB.dyzs,stZDSMDB.dyk,stZDSMDB.lszs);
printf(",%.2f,%s,%s,%d,%ld\n",stZDSMDB.lsk,stZDSMDB.fssbh,stZDSMDB.bkdh,stZDSMDB.nf,stZDSMDB.xh);
*/ ERROR=0;
/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */
/* EXEC SQL INSERT INTO t_jszdyssm VALUES
(:stZDSMDB.yslx,
:stZDSMDB.wjbh,
:stZDSMDB.qdqa :ZDid.qdqa,
:stZDSMDB.kq,
:stZDSMDB.dingj :ZDid.dingj,
:stZDSMDB.dyzs :ZDid.dyzs,
:stZDSMDB.dyk :ZDid.dyk,
:stZDSMDB.lszs :ZDid.lszs,
:stZDSMDB.lsk :ZDid.lsk,
:stZDSMDB.fssbh,
:stZDSMDB.bkdh,
:stZDSMDB.nf :ZDid.nf,
:stZDSMDB.xh);
*/
/* EXEC SQL INSERT INTO t_jszdyssm VALUES
(:stZDSMDB.yslx,
:stZDSMDB.wjbh,
:stZDSMDB.qdqa ,
:stZDSMDB.kq,
:stZDSMDB.dingj ,
:stZDSMDB.dyzs ,
:stZDSMDB.dyk ,
:stZDSMDB.lszs ,
:stZDSMDB.lsk ,
:stZDSMDB.fssbh,
:stZDSMDB.bkdh,
:stZDSMDB.nf ,
:stZDSMDB.xh); */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 13;
sqlstm.stmt = "insert into t_jszdyssm values (:b0,:b1,:b2,:b3,:b4,:b5,:b6,\
:b7,:b8,:b9,:b10,:b11,:b12)";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )112;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)(stZDSMDB.yslx);
sqlstm.sqhstl[0] = (unsigned int )2;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)(stZDSMDB.wjbh);
sqlstm.sqhstl[1] = (unsigned int )3;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqhstv[2] = (unsigned char *)&(stZDSMDB.qdqa);
sqlstm.sqhstl[2] = (unsigned int )4;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqhstv[3] = (unsigned char *)(stZDSMDB.kq);
sqlstm.sqhstl[3] = (unsigned int )7;
sqlstm.sqindv[3] = ( short *)0;
sqlstm.sqharm[3] = (unsigned int )0;
sqlstm.sqhstv[4] = (unsigned char *)&(stZDSMDB.dingj);
sqlstm.sqhstl[4] = (unsigned int )4;
sqlstm.sqindv[4] = ( short *)0;
sqlstm.sqharm[4] = (unsigned int )0;
sqlstm.sqhstv[5] = (unsigned char *)&(stZDSMDB.dyzs);
sqlstm.sqhstl[5] = (unsigned int )4;
sqlstm.sqindv[5] = ( short *)0;
sqlstm.sqharm[5] = (unsigned int )0;
sqlstm.sqhstv[6] = (unsigned char *)&(stZDSMDB.dyk);
sqlstm.sqhstl[6] = (unsigned int )4;
sqlstm.sqindv[6] = ( short *)0;
sqlstm.sqharm[6] = (unsigned int )0;
sqlstm.sqhstv[7] = (unsigned char *)&(stZDSMDB.lszs);
sqlstm.sqhstl[7] = (unsigned int )4;
sqlstm.sqindv[7] = ( short *)0;
sqlstm.sqharm[7] = (unsigned int )0;
sqlstm.sqhstv[8] = (unsigned char *)&(stZDSMDB.lsk);
sqlstm.sqhstl[8] = (unsigned int )4;
sqlstm.sqindv[8] = ( short *)0;
sqlstm.sqharm[8] = (unsigned int )0;
sqlstm.sqhstv[9] = (unsigned char *)(stZDSMDB.fssbh);
sqlstm.sqhstl[9] = (unsigned int )3;
sqlstm.sqindv[9] = ( short *)0;
sqlstm.sqharm[9] = (unsigned int )0;
sqlstm.sqhstv[10] = (unsigned char *)(stZDSMDB.bkdh);
sqlstm.sqhstl[10] = (unsigned int )8;
sqlstm.sqindv[10] = ( short *)0;
sqlstm.sqharm[10] = (unsigned int )0;
sqlstm.sqhstv[11] = (unsigned char *)&(stZDSMDB.nf);
sqlstm.sqhstl[11] = (unsigned int )4;
sqlstm.sqindv[11] = ( short *)0;
sqlstm.sqharm[11] = (unsigned int )0;
sqlstm.sqhstv[12] = (unsigned char *)&(stZDSMDB.xh);
sqlstm.sqhstl[12] = (unsigned int )4;
sqlstm.sqindv[12] = ( short *)0;
sqlstm.sqharm[12] = (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;
ProcessError(LOG_ERROR,"PCS_RCV_YS: error when insert into yssm!",END);
return(-1);
}
for( i=0;i<count_rec;i++ )
{
ZDYSSJRcv( message,&stZDSJ );
ZDSJMsgConvert(stZDSM,stZDSJ,&stZDSJDB);
ERROR=0;
/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */
/* EXEC SQL INSERT INTO t_jszdyssj VALUES (
:stZDSJDB.yffs,:stZDSJDB.qzlss :qzlss_id,
:stZDSJDB.zfjbh,:stZDSJDB.sjbh,:stZDSJDB.xh);
*/
/* EXEC SQL INSERT INTO t_jszdyssj (yffs,zfjbh,sjbh,jsxh) VALUES (
:stZDSJDB.yffs,
:stZDSJDB.zfjbh,:stZDSJDB.sjbh,:stZDSJDB.xh); */
{
struct sqlexd sqlstm;
sqlstm.sqlvsn = 8;
sqlstm.arrsiz = 13;
sqlstm.stmt = "insert into t_jszdyssj(yffs,zfjbh,sjbh,jsxh) values (:b0,:\
b1,:b2,:b3)";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )178;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)0;
sqlstm.sqhstv[0] = (unsigned char *)&(stZDSJDB.yffs);
sqlstm.sqhstl[0] = (unsigned int )4;
sqlstm.sqindv[0] = ( short *)0;
sqlstm.sqharm[0] = (unsigned int )0;
sqlstm.sqhstv[1] = (unsigned char *)(stZDSJDB.zfjbh);
sqlstm.sqhstl[1] = (unsigned int )9;
sqlstm.sqindv[1] = ( short *)0;
sqlstm.sqharm[1] = (unsigned int )0;
sqlstm.sqhstv[2] = (unsigned char *)(stZDSJDB.sjbh);
sqlstm.sqhstl[2] = (unsigned int )3;
sqlstm.sqindv[2] = ( short *)0;
sqlstm.sqharm[2] = (unsigned int )0;
sqlstm.sqhstv[3] = (unsigned char *)&(stZDSJDB.xh);
sqlstm.sqhstl[3] = (unsigned int )4;
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();
}
if( ERROR!=0 )
{
ERROR=0;
ProcessError(LOG_ERROR,"PCS_RCV_YS: error when insert into yssj!",END);
return(-1);
}
}
return(0);
}
/*** insert pd data to database ***/
int PDYSRcvRecDB( char *message,long int msglen )
{
struct stPDYSMsgHeader stPDSM;
struct stPDYSMsgRec stPDSJ;
struct stPDYSSMDBRec stPDSMDB;
struct stPDYSDBRec stPDSJDB;
struct stPDYSSM_id PDid;
int count_rec;
int i;
int flag;
short lszjfs_id;
count_rec=(msglen-PDSM_MSG_LEN)/YSSJ_MSG_LEN;
flag=PDYSSMRcv( message,&stPDSM );
if( flag!=0 )
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -