📄 atdata.pc
字号:
# include <stdio.h># include <stdlib.h># include <string.h># include <sys/types.h># include <sys/socket.h># include <netinet/in.h># include <varargs.h># include <unistd.h># include <time.h># include <sqlca.h># include "../include/shmmsg.h"# define USRNAME "scott"# define PASSWD "tiger"# define ORASID "omcr" int ReplaceChar(char *buf,int len);main(int argc,char* argv[]){ int semid,len; char flag[2]; char eg0[16],eg1[16],eg2[10],eg3[40],eg4[4],eg5[50]; char eg6[20],eg7[4]; char buf[256]; char tmp[16]; char alarm_site_name[41]; char alarm_time[19],alarm_name_no[4]; char icity_no[4],vcity_no[3],sz[2]; char alarm_status_no[2]; time_t start,finish; double elapsed_time; int tag=0; int wcode=0; int i=0; char buff[100]; char buff1[15]; char vsite_no[4]; int vno; memset(buf,0,256); memset(buff,0,strlen(buff)); memset(buff1,0,strlen(buff1)); memset(alarm_site_name,0,41); memset(alarm_time,0,19); /*memset(alarm_name_no,0,2);*/ memset(vcity_no,0x0,sizeof(vcity_no)); memset(eg0,0,16); memset(eg1,0,14); memset(eg2,0,10); memset(eg3,0,40); memset(eg4,0,4); memset(eg5,0,50); memset(eg6,0,20); memset(eg7,0,2); /*memset(flag,0,sizeof(flag));*/ time(&start); time(&finish); if(comrcv(argv[1],buf)<0){ v_debug("rcv alct data fail"); s_debug("alct buf=[%s]\n",buf); } else { EXEC SQL CONNECT :USRNAME identified by :PASSWD USING :ORASID; if (sqlca.sqlcode!=0) s_debug("connect fall sqlcode =[%d]\n",sqlca.sqlcode); else { s_debug("connect success=[%d]\n",sqlca.sqlcode); len=strlen(buf); s_debug("\nGet message len=%d",len); if(len<30) { s_debug("\nGet Back buf=%s",buf); sscanf(buf,"%s%s%s",tmp,eg1,flag); EXEC SQL EXECUTE begin mtll2_back(:eg1,:flag); end; end-exec; if (sqlca.sqlcode==0) EXEC SQL COMMIT; else { s_debug("\nalct2_back sqlca.sqlcode=%d\n",sqlca.sqlcode); EXEC SQL ROLLBACK; } } else { s_debug("\n------------ atdata.pc begin ------------\n"); ReplaceChar(buf,strlen(buf)); s_debug("\nbuf=%s",buf); sscanf(buf,"%s%s%s%s%s%s",eg6,eg0,eg1,eg2,eg3,eg4); if(strlen(eg1)==1){ strcpy(eg7,"0"); strcat(eg7,eg1); } else strcpy(eg7,eg1); if(strncmp(eg7,"13",2)==0) strcpy(eg7,"02"); if(strncmp(eg7,"14",2)==0) strcpy(eg7,"11"); if (strncmp(eg2,"linfen",6)==0) strcpy(icity_no,"57"); if (strncmp(eg2,"lvliang",7)==0) strcpy(icity_no,"58"); if (strncmp(eg2,"jinzhong",8)==0) strcpy(icity_no,"54"); if (strncmp(eg2,"xinzhou",7)==0) strcpy(icity_no,"50"); if (strncmp(eg2,"yuncheng",8)==0) strcpy(icity_no,"59"); if (strncmp(eg2,"jincheng",8)==0) strcpy(icity_no,"56"); if (strncmp(eg2,"changzhi",8)==0) strcpy(icity_no,"55"); trimstrcpy(vcity_no,icity_no,strlen(icity_no)); if(strncmp(eg4,"0",1)==0) strcpy(eg4,"1"); else strcpy(eg4,"2"); trimstrcpy(alarm_status_no,eg4,2); trimstrcpy(alarm_site_name,eg3,strlen(eg3)); trimstrcpy(alarm_name_no,eg7,strlen(eg7)); trimstrcpy(alarm_time,eg0,strlen(eg0)); #ifdef TEST s_debug("\nIn data alarm_status_no=[%s]",alarm_status_no); s_debug("\nIn data city_no=[%s]",vcity_no); s_debug("\nalarm_site_name=[%s]\n",alarm_site_name); s_debug("\nalarm_site_name_no=[%s]\n",alarm_name_no); s_debug("alarm_time=[%s]\n",alarm_time); #endif EXEC SQL EXECUTE begin alct2('03',:alarm_site_name,:vcity_no,:tag,:vno); end; end-exec; if (sqlca.sqlcode==0){ EXEC SQL COMMIT; #ifdef TEST s_debug("\ndata tag=%d",tag); #endif if(tag>0) { if(tag==2) strcpy(buff1,"07011101410011"); else strcpy(buff1,"08011101410011"); sprintf(buff,"%s %s %s %d %s %s %s",buff1,alarm_status_no,vcity_no,vno,alarm_time,\ alarm_name_no,alarm_site_name); #ifdef TEST s_debug("\n After Sprintf buff=%s",buff); #endif wcode=Getsndport_snd(buff,buff1); if(wcode<0) s_debug("\nalct wcode=%d",wcode); } } else { s_debug("\n fall tag=%d",tag); s_debug("\n sqlca.sqlcode=[%d]",sqlca.sqlcode); EXEC SQL ROLLBACK; } } } } semid=opensem(SEMKEY1); if (semid<0){ syslog("get semaphar err",__FILE__,__LINE__); exit(-3); } sem_close(semid); time(&finish); elapsed_time = difftime(finish, start); /*s_debug("%s takes %6.2f seconds.\n\n",flag,elapsed_time);*/ s_debug("alct Program takes %f seconds\n\n",elapsed_time); s_debug("\n------------ atdata.pc end ------------\n"); exit(0); } int ReplaceChar(char *str,int len) { int i = 0; while (i < len) { start: if (str[i] == '|') { str[i] = ' '; i++; goto start; } if (str[i] == '(') { str[i] = ' '; i++; goto start; } if (str[i] == '\n') { str[i] = ' '; i++; goto start; } if (str[i] == '.') { str[i] = ' '; i++; goto start; } if (str[i] == ')'&&str[i+1]==':'){ str[i] = ' '; str[i+1]=' '; i++; goto start; } if (str[i] == ')') { str[i] = ' '; i++; goto start; } i++; } return(0); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -