📄 hwdata.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" #define SIZE 256 #define SIZE1 30int ReplaceChar(char *str,int len);main(int argc,char**argv){ char buf[SIZE]; int semid,len; char flag[2]; char eg1[18],eg2[70],eg3[70],eg4[70],eg5[6]; char alarm_site_name[31]; char alarm_time[19],alarm_name_no[3]; char icity_no[4],vcity_no[3],sz[2]; char alarm_queue[10],tmp[16]; 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,0x0,SIZE); memset(buff,0x0,strlen(buff)); memset(buff1,0x0,strlen(buff1)); memset(alarm_site_name,0,31); memset(alarm_time,0,19); memset(alarm_name_no,0,2); memset(vcity_no,0x0,sizeof(vcity_no)); memset(tmp,0,14); memset(flag,0,sizeof(flag)); memset(eg1,0,18); memset(eg2,0,70); memset(eg3,0,70); memset(eg4,0,70); memset(eg5,0,6); time(&start); time(&finish); if (comrcv(argv[1],buf)<0){ v_debug("rcv data fail"); s_debug("hwei buf=[%s]",buf); } else{ EXEC SQL CONNECT :USRNAME identified by :PASSWD USING :ORASID; if (sqlca.sqlcode!=0){ s_debug("hwei sqlcode =[%d]",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("\nmtll2_back sqlca.sqlcode=%d\n",sqlca.sqlcode); EXEC SQL ROLLBACK; } } else{ s_debug("\n------------ hwdata.pc begin ------------\n"); ReplaceChar(buf,strlen(buf)); s_debug("\nbuf=%s",buf); sscanf(buf,"%s%s%s%s%s%s",tmp,eg1,eg2,eg3,eg4,eg5); trimstrcpy(alarm_site_name,eg5,strlen(eg5)); if (strncmp(eg5,"294",3)==0) strcpy(icity_no,"49");/* 12-10 add*/ else if (strncmp(eg5,"2",1)==0) strcpy(icity_no,"52"); trimstrcpy(vcity_no,icity_no,strlen(icity_no)); #ifdef TEST s_debug("\nicity_no=%s",icity_no); s_debug("\nvcity_no=%s",vcity_no); #endif trimstrcpy(alarm_name_no,eg4,strlen(eg4)); trimstrcpy(flag,eg3,strlen(eg3)); trimstrcpy(alarm_time,eg1,strlen(eg1)); #ifdef TEST s_debug("alarm_name_no=[%s]\n",alarm_name_no); s_debug("flag=[%s]\n",flag); s_debug("alarm_site_name=[%s]\n",alarm_site_name); s_debug("alarm_time=[%s]\n", alarm_time); #endif EXEC SQL EXECUTE begin /*hwei2(:alarm_site_name,'04',:vcity_no,:tag,:vno);*/ mtll2('04',:flag,:alarm_site_name,:alarm_name_no,:alarm_time,:vcity_no,:tag,:vno); end; end-exec; if (sqlca.sqlcode==0){ EXEC SQL COMMIT; trimstrcpy(alarm_queue,eg2,strlen(eg2)); s_debug("alarm_queu=[%s]\n", alarm_queue); s_debug("\ndata tag=%d",tag); if(tag>0 && tag<3) { if(tag==2) strcpy(buff1,"09011101310011"); else strcpy(buff1,"10011101310011"); sprintf(buff,"%s %s %s %d %s %s %s",buff1,flag,vcity_no,vno,alarm_time,\ alarm_name_no,alarm_site_name); s_debug("\nbuff=%s",buff); wcode=Getsndport_snd(buff,buff1); if(wcode<0) s_debug("\nwcode=%d",wcode); } } else { s_debug("\nhwei2 sqlca.sqlcode=%d\n",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("hwei Program takes %f seconds\n\n",elapsed_time); s_debug("\n------------ hwdata.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] == '\n') { str[i] = ' '; i++; goto start; } if (str[i] == '=') { str[i] = ' '; i++; goto start; } if (str[i] == ',') { str[i] = ' '; i++; goto start; } i++; } return(0); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -