core.cpp 296 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513
  1. #include "core.h"
  2. #include "ytservicecore.h"
  3. #include <QDebug>
  4. #include <time.h>
  5. #include <openssl/md5.h>
  6. #include <string.h>
  7. //extern YT_SERVICE_SHM *ytShm;
  8. void chkmd5(const char *data, char *md5){
  9. MD5_CTX ctx;
  10. unsigned char tmp,md[16];
  11. int i;
  12. MD5_Init(&ctx);
  13. MD5_Update(&ctx,data,strlen(data));
  14. MD5_Final(md,&ctx);
  15. for(i=0;i<16;i++){
  16. tmp = (md[i]>>4)&0x0f;
  17. if(tmp<10)
  18. md5[i*2+0] = (char)(tmp+0x30);
  19. else
  20. md5[i*2+0] = (char)(tmp+0x37);
  21. tmp = md[i]&0x0f;
  22. if(tmp<10)
  23. md5[i*2+1] = (char)(tmp+0x30);
  24. else
  25. md5[i*2+1] = (char)(tmp+0x37);
  26. }
  27. md5[32] = 0x00;
  28. }
  29. Core::Core(QObject *parent) :
  30. QObject(parent)
  31. {
  32. isRunning = false;
  33. isSending = false;
  34. isSending2 = false;
  35. isSending3 = false;
  36. isSending4 = false;
  37. isSending5 = false;
  38. isSending6 = false;
  39. isSending7 = false;
  40. isSending8 = false;
  41. isSending9 = false;
  42. cnCount = 0;
  43. jaCount = 0;
  44. ypCount = 0;
  45. ypxyCount = 0;
  46. ypdisCount = 0;
  47. hpCount = 0;
  48. times = 0;
  49. jaworktime = 0;
  50. ypdisworktime = 0;
  51. xfzdworktime = 0;
  52. ypxyworktime = 0;
  53. ypSyncdataList.clear();
  54. ypSyncDisdataList.clear();
  55. ypSyncXydataList.clear();
  56. cnSyncdataLiet.clear();
  57. NewcnSyncdataLiet.clear();
  58. jaSyncdataLiet.clear();
  59. ypYwSyncDataList.clear();
  60. hpSyncdataLiet.clear();
  61. XfzdSyncdataLiet.clear();
  62. sqlList.clear();
  63. sqlList2.clear();
  64. sqlList3.clear();
  65. work_time = 0;
  66. logThread = new LogThread(this);
  67. logThread->start();
  68. ytShm->updatetime[CORE_MAIN] = time(static_cast<time_t *>(nullptr));
  69. ytShm->updatetime[DB_THREAD] = ytShm->updatetime[CORE_MAIN] ;
  70. db = QSqlDatabase::addDatabase("QSQLITE","dog_conf");
  71. db.setDatabaseName("db/watchdog2.db");
  72. mdb = QSqlDatabase::addDatabase("QMYSQL","jdxf2_db");
  73. mdb.setDatabaseName("jdxf");
  74. mdb.setHostName("47.98.201.187");
  75. mdb.setPort(3306);
  76. mdb.setUserName("root");
  77. mdb.setPassword("Yt2018IoT");
  78. mdbOpened = mdb.open();
  79. if(db.open()){
  80. db_init();
  81. }
  82. thread = new DB_SyncThread(this);
  83. timer = new QTimer(this);
  84. netAccessManager = new QNetworkAccessManager(this);
  85. connect(timer,SIGNAL(timeout()),this,SLOT(time_out()));
  86. connect(thread,SIGNAL(SyncData(QString,QString)),this,SLOT(SyncData(QString,QString)));
  87. // connect(thread,SIGNAL(SyncDisData(QString,QString)),this,SLOT(SyncDisData(QString,QString)));
  88. // connect(thread,SIGNAL(SyncXyData(int,QString,QString)),this,SLOT(SyncXyData(int,QString,QString)));
  89. connect(thread,SIGNAL(cnSyncData(int,QString,QString,int)),this,SLOT(cnSyncData(int,QString,QString,int))); //unused
  90. connect(thread,SIGNAL(NewcnSyncData(int,QString,QString,int)),this,SLOT(NewcnSyncData(int,QString,QString,int)));
  91. connect(thread,SIGNAL(jaSyncData(int,QString,QString)),this,SLOT(jaSyncData(int,QString,QString)));
  92. connect(thread,SIGNAL(hpSyncData(int,QString,QString)),this,SLOT(hpSyncData(int,QString,QString)));
  93. connect(netAccessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot(QNetworkReply*)));
  94. connect(thread,SIGNAL(companyAlarmChanged(QString)),this,SLOT(companyAlarmChanged(QString)));
  95. connect(thread,SIGNAL(appendLog(QString)),this,SLOT(appendLog(QString)));
  96. cnnetAccessManager = new QNetworkAccessManager(this); //unused
  97. NewcnnetAccessManager = new QNetworkAccessManager(this);
  98. janetAccessManager = new QNetworkAccessManager(this);
  99. hpnetAccessManager = new QNetworkAccessManager(this);
  100. disnetAccessManager = new QNetworkAccessManager(this);
  101. xynetAccessManager = new QNetworkAccessManager(this);
  102. ypYwcnnetAccessManager = new QNetworkAccessManager(this);
  103. XfzdnetAccessManager = new QNetworkAccessManager(this);
  104. connect(cnnetAccessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot2(QNetworkReply*)));
  105. connect(NewcnnetAccessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot7(QNetworkReply*)));
  106. connect(janetAccessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot3(QNetworkReply*)));
  107. connect(disnetAccessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot4(QNetworkReply*)));
  108. connect(xynetAccessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot5(QNetworkReply*)));
  109. connect(hpnetAccessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot6(QNetworkReply*)));
  110. connect(ypYwcnnetAccessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot8(QNetworkReply*)));
  111. connect(XfzdnetAccessManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(finishedSlot9(QNetworkReply*)));
  112. dc = new DataCenter(this);
  113. connect(dc,&DataCenter::needSync,this,&Core::needSync);
  114. wsCenter = new WSCenter(this);
  115. subReportServer = new SubSysReport(this);
  116. connect(subReportServer,&SubSysReport::subReport,this,&Core::subReport);
  117. connect(subReportServer,&SubSysReport::subReport1,this,&Core::subReport1);
  118. connect(subReportServer,&SubSysReport::subReport2,this,&Core::subReport2);
  119. connect(subReportServer,&SubSysReport::appendLog,this,&Core::appendLog);
  120. time_out();
  121. }
  122. void Core::appendLog(QString log){
  123. logThread->appendData(log);
  124. }
  125. void Core::start()
  126. {
  127. // if((ypCount>6)||(ypdisCount>6)||(cnCount>6)||(hpCount>6)){
  128. // exit(-1);
  129. // }else{
  130. printf("core start\n");
  131. timer->start(1000);
  132. thread->start();
  133. dc->start();
  134. subReportServer->start();
  135. // }
  136. }
  137. void Core::subReport2(quint16 subType, QString artificial_id, quint16 area_status, QString reason, QString handler, QString mobile){
  138. logThread->appendData(QString("ceshirengongduchadan[%1, %2, %3, %4, %5, %6]").arg(subType).arg(artificial_id).arg(area_status).arg(reason).arg(handler).arg(mobile));
  139. QString jdata = "";
  140. QString jasign = "";
  141. time_t myt=time(NULL);
  142. if(area_status==1){
  143. jdata.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  144. jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  145. }else if(area_status==2){
  146. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  147. jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  148. }
  149. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  150. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  151. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  152. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  153. if(subType==999){
  154. jdata.append(QString(",\"artificial_id\":\"%1\"").arg(artificial_id));
  155. jdata.append(QString(",\"reason\":\"%1\"").arg(reason));
  156. jdata.append(QString(",\"handler\":\"%1\"").arg(handler));
  157. jdata.append(QString(",\"mobile\":\"%1\"").arg(mobile));
  158. jasign.append(QString("artificial_id%1").arg(artificial_id));
  159. jasign.append(QString("format%1").arg("json"));
  160. jasign.append(QString("handler%1").arg(handler));
  161. jasign.append(QString("mobile%1").arg(mobile));
  162. jasign.append(QString("reason%1").arg(reason));
  163. jasign.append(QString("sign_method%1").arg("md5"));
  164. jasign.append(QString("timestamp%1").arg(myt));
  165. jasign.append(QString("v%1").arg("1.0"));
  166. }else {
  167. jdata.append(QString(",\"supervise_id\":\"%1\"").arg(artificial_id));
  168. jdata.append(QString(",\"status\":%1").arg(subType));
  169. jdata.append(QString(",\"handler\":\"%1\"").arg(handler));
  170. jdata.append(QString(",\"mobile\":\"%1\"").arg(mobile));
  171. jdata.append(QString(",\"reason\":\"%1\"").arg(reason));
  172. jasign.append(QString("format%1").arg("json"));
  173. jasign.append(QString("handler%1").arg(handler));
  174. jasign.append(QString("mobile%1").arg(mobile));
  175. jasign.append(QString("reason%1").arg(reason));
  176. jasign.append(QString("sign_method%1").arg("md5"));
  177. jasign.append(QString("status%1").arg(subType));
  178. jasign.append(QString("supervise_id%1").arg(artificial_id));
  179. jasign.append(QString("timestamp%1").arg(myt));
  180. jasign.append(QString("v%1").arg("1.0"));
  181. }
  182. if(area_status==1){
  183. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  184. }else if(area_status==2){
  185. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  186. }
  187. char md5str[33];
  188. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  189. md5str[32]='\0';
  190. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  191. logThread->appendData(QString("ceshidianziduchadan[%1]").arg(jdata));
  192. QString jasign3=jdata.replace("\r","").replace("\n","").replace(" ","");
  193. if(area_status==1){
  194. if(subType==999){
  195. hpSyncData(5,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  196. }else{
  197. hpSyncData(6,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  198. logThread->appendData(QString("ceshidianziduchadan12[%1]").arg(jasign3));
  199. }
  200. }else if(area_status==2){
  201. if(subType==999){
  202. jaSyncData(5,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  203. }else{
  204. jaSyncData(6,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  205. logThread->appendData(QString("ceshidianziduchadan12[%1]").arg(jasign3));
  206. }
  207. }
  208. }
  209. void Core::subReport1(quint16 subType, QString DeviceID, quint64 insertId, quint16 flag, QString CompanyCode, QString evt_name, QString evt, QString alarm_time){
  210. logThread->appendData(QString("ceshihuojing[%1, %2, %3, %4, %5, %6, %7, %8]").arg(subType).arg(DeviceID).arg(insertId).arg(flag).arg(CompanyCode).arg(evt_name).arg(evt).arg(alarm_time));
  211. }
  212. void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool flag){
  213. if(!mdbOpened)
  214. {
  215. mdbOpened = mdb.open();
  216. }
  217. QSqlQuery qry1;
  218. QSqlQuery qry2;
  219. QSqlQuery qry3;
  220. QSqlQuery qry4;
  221. QSqlQuery qry5;
  222. QSqlQuery qry6;
  223. QSqlQuery xfzdQry;
  224. bool found = false;
  225. bool found1 = false;
  226. bool found2 = false;
  227. bool found5 = false;
  228. bool found6 = false;
  229. bool found7 = false;
  230. logThread->appendData(QString("huojingceshi[%1, %2, %3, %4]").arg(subType).arg(DeviceID).arg(insertId).arg(flag));
  231. if(subType==1){
  232. if(flag){
  233. QString sql1 = QString("select port,data3,clr,clnr,clwb,time,clsj,data2,data4 from sp_hj2017 where id=%1").arg(insertId);
  234. QString sql2 = QString("select company from sp_owner where owner_code=%1").arg(DeviceID);
  235. qry1 = mdb.exec(sql1);
  236. qry2 = mdb.exec(sql2);
  237. while(qry2.next()){
  238. QString sql4= QString("SELECT phone FROM sp_owner_phone WHERE owner_code = %1 AND phone NOT IN ('13301708833','18901601933','13817464316','15262166206','18621761642','18800178436','17317231730','13262875757','17630065224','17621295894','18773792538','15365185591') GROUP BY owner_code").arg(qry2.value(0).toString());
  239. qry4 = mdb.exec(sql4);
  240. QString xfzdSql= QString("SELECT phone FROM sp_owner_phone WHERE owner_code = %1 GROUP BY owner_code").arg(qry2.value(0).toString());
  241. xfzdQry = mdb.exec(xfzdSql);
  242. }
  243. QString jdata = "";
  244. for(int i=0;i<jaDevList.length();i++){
  245. JASyncDev jadev = jaDevList.at(i);
  246. if(jadev.Device_id==DeviceID){
  247. found2=true;
  248. while(qry1.next()){
  249. if(qry1.value(0).toInt()==2||qry1.value(0).toInt()==4){
  250. while(qry4.next()){
  251. time_t myt=time(NULL);
  252. QString data3 = qry1.value(1).toString();
  253. QString data4 = qry1.value(8).toString();
  254. QStringList list = data3.split(",");
  255. QStringList list1 = data4.split(",");
  256. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  257. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  258. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  259. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  260. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  261. if(qry1.value(0).toInt()==2){
  262. jdata.append(QString(",\"type\":%1").arg(1));
  263. }else{
  264. jdata.append(QString(",\"type\":%1").arg(2));
  265. }
  266. jdata.append(QString(",\"pid\":\"%1\"").arg(jadev.Pid));
  267. if(DeviceID.compare("90078")==0||DeviceID.compare("90079")==0||DeviceID.compare("90080")==0){
  268. jdata.append(QString(",\"mainframe_id\":\"%1\"").arg(list1.at(0)));
  269. }else{
  270. jdata.append(QString(",\"mainframe_id\":\"%1\"").arg(jadev.Mainframe_id));
  271. }
  272. jdata.append(QString(",\"loop_number\":\"%1\"").arg(list.at(1)));
  273. jdata.append(QString(",\"position_number\":\"%1\"").arg(list.at(2)));
  274. if(qry1.value(4).toInt()==1){
  275. jdata.append(QString(",\"status\":%1").arg(1));
  276. }else{
  277. jdata.append(QString(",\"status\":%1").arg(3));
  278. }
  279. jdata.append(QString(",\"handler\":\"%1\"").arg(qry1.value(2).toString()));
  280. if(qry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  281. jdata.append(QString(",\"mobile\":%1").arg("15122423833"));
  282. }else{
  283. jdata.append(QString(",\"mobile\":%1").arg(qry4.value(0).toString()));
  284. }
  285. if(qry1.value(3).toString().isEmpty()){
  286. }else{
  287. jdata.append(QString(",\"reason\":\"%1\"").arg(qry1.value(3).toString()));
  288. }
  289. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  290. jasign.append(QString("format%1").arg("json"));
  291. jasign.append(QString("handler%1").arg(qry1.value(2).toString()));
  292. jasign.append(QString("loop_number%1").arg(list.at(1)));
  293. if(DeviceID.compare("90078")==0||DeviceID.compare("90079")==0||DeviceID.compare("90080")==0){
  294. jasign.append(QString("mainframe_id%1").arg(list1.at(0)));
  295. }else{
  296. jasign.append(QString("mainframe_id%1").arg(jadev.Mainframe_id));
  297. }
  298. if(qry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  299. jasign.append(QString("mobile%1").arg("15122423833"));
  300. }else{
  301. jasign.append(QString("mobile%1").arg(qry4.value(0).toString()));
  302. }
  303. jasign.append(QString("pid%1").arg(jadev.Pid));
  304. jasign.append(QString("position_number%1").arg(list.at(2)));
  305. if(qry1.value(3).toString().isEmpty()){
  306. }else{
  307. jasign.append(QString("reason%1").arg(qry1.value(3).toString()));
  308. }
  309. jasign.append(QString("sign_method%1").arg("md5"));
  310. if(qry1.value(4).toInt()==1){
  311. jasign.append(QString("status%1").arg(1));
  312. }else{
  313. jasign.append(QString("status%1").arg(3));
  314. }
  315. jasign.append(QString("timestamp%1").arg(myt));
  316. if(qry1.value(0).toInt()==2){
  317. jasign.append(QString("type%1").arg(1));
  318. }else{
  319. jasign.append(QString("type%1").arg(2));
  320. }
  321. jasign.append(QString("v%1").arg("1.0"));
  322. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  323. char md5str[33];
  324. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  325. md5str[32]='\0';
  326. //logThread->appendData(QString("qianmingceshi[%1]").arg(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data()));
  327. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  328. QString jasign3=jdata.replace("\r","").replace("\n","").replace(" ","");
  329. jaSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  330. }
  331. }
  332. // else if(qry1.value(0).toInt()==8){
  333. // time_t myt=time(NULL);
  334. // QString data3 = qry1.value(1).toString();
  335. // QStringList list = data3.split(",");
  336. // jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  337. // jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  338. // jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  339. // jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  340. // jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  341. // jdata.append(QString(",\"pid\":\"%1\"").arg(cndev.Pid));
  342. // jdata.append(QString(",\"mainframe_id\":\"%1\"").arg(cndev.Mainframe_id));
  343. // jdata.append(QString(",\"loop_number\":\"%1\"").arg(list.at(1)));
  344. // jdata.append(QString(",\"position_number\":\"%1\"").arg(list.at(2)));
  345. // jdata.append(QString(",\"handler\":\"%1\"").arg(qry1.value(2).toString()));
  346. // }
  347. }
  348. }
  349. }
  350. for(int i=0;i<XfzdDevList.length();i++){
  351. XfzdSyncDev xfzddev = XfzdDevList.at(i);
  352. if(xfzddev.DeviceCode==DeviceID){
  353. QString jdata = "";
  354. QSqlQuery qry8;
  355. QSqlQuery xfzdQry1;
  356. QString xfzdSSql1 = QString("select port,data3,clr,clnr,clwb,time,clsj,data2,data4 from sp_hj2017 where id=%1").arg(insertId);
  357. xfzdQry1 = mdb.exec(xfzdSSql1);
  358. while(xfzdQry1.next()){
  359. if(xfzdQry1.value(0).toInt()==2||xfzdQry1.value(0).toInt()==4||xfzdQry1.value(0).toInt()==16||xfzdQry1.value(0).toInt()==64||xfzdQry1.value(0).toInt()==8192){
  360. logThread->appendData(QString("xfzdceshi1[%1, %2, %3, %4]").arg(subType).arg(DeviceID).arg(insertId).arg(flag));
  361. while(xfzdQry.next()){
  362. logThread->appendData(QString("xfzdceshi2[%1, %2, %3, %4]").arg(subType).arg(DeviceID).arg(insertId).arg(flag));
  363. time_t myt=time(NULL);
  364. QString sql8;
  365. if(DeviceID.compare("90142")==0){
  366. sql8 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data from sp_corps_share_yf where device_code='%1' and port='%2'").arg(DeviceID).arg(xfzdQry1.value(1).toString());
  367. }else{
  368. sql8 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data from sp_corps_share_ceshi where device_code='%1' and port='%2'").arg(DeviceID).arg(xfzdQry1.value(1).toString());
  369. }
  370. qry8 = mdb.exec(sql8);
  371. while(qry8.next()){
  372. logThread->appendData(QString("xfzdceshi3[%1, %2, %3, %4]").arg(subType).arg(DeviceID).arg(insertId).arg(flag));
  373. if(xfzdQry1.value(7).toString().compare("火警")==0){
  374. jdata.append(QString("\"descript\":\"%1\"").arg(qry8.value(0).toString()));
  375. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry8.value(1).toString()));
  376. // if(qry8.value(6).toString().compare("10122")==0||qry8.value(6).toString().compare("10146")==0||qry8.value(6).toString().compare("10166")==0){
  377. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))+qry8.value(7).toString()));
  378. // }else{
  379. // jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))));
  380. // }
  381. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry8.value(4).toString()));
  382. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry8.value(5).toString()));
  383. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry8.value(6).toString()));
  384. QString jasign = "hj";
  385. jasign.append(QString("%1").arg(insertId));
  386. char md5str[33];
  387. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  388. md5str[32]='\0';
  389. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  390. if(xfzdQry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  391. jdata.append(QString(",\"handlePhone\":\"%1\"").arg("15122423833"));
  392. }else{
  393. jdata.append(QString(",\"handlePhone\":\"%1\"").arg(xfzdQry1.value(2).toString()));
  394. }
  395. jdata.append(QString(",\"handleAlarmTime\":\"%1\"").arg(xfzdQry1.value(6).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  396. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(xfzdQry1.value(5).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  397. if(xfzdQry1.value(4).toInt()==1){
  398. jdata.append(QString(",\"state\":\"%1\"").arg(1));
  399. }else{
  400. jdata.append(QString(",\"state\":\"%1\"").arg(2));
  401. }
  402. XfzdSyncData(6,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  403. }else if(xfzdQry1.value(7).toString().compare("故障")==0){
  404. logThread->appendData(QString("xfzdceshi4[%1, %2, %3, %4]").arg(subType).arg(DeviceID).arg(insertId).arg(flag));
  405. jdata.append(QString("\"descript\":\"%1\"").arg(qry8.value(0).toString()));
  406. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry8.value(1).toString()));
  407. // if(qry8.value(6).toString().compare("10122")==0||qry8.value(6).toString().compare("10146")==0||qry8.value(6).toString().compare("10166")==0){
  408. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))+qry8.value(7).toString()));
  409. // }else{
  410. // jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))));
  411. // }
  412. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry8.value(4).toString()));
  413. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry8.value(5).toString()));
  414. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry8.value(6).toString()));
  415. QString jasign = "hj";
  416. jasign.append(QString("%1").arg(insertId));
  417. char md5str[33];
  418. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  419. md5str[32]='\0';
  420. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  421. if(xfzdQry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  422. jdata.append(QString(",\"handlePhone\":\"%1\"").arg("15122423833"));
  423. }else{
  424. jdata.append(QString(",\"handlePhone\":\"%1\"").arg(xfzdQry1.value(2).toString()));
  425. }
  426. jdata.append(QString(",\"handleAlarmTime\":\"%1\"").arg(xfzdQry1.value(6).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  427. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(xfzdQry1.value(5).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  428. jdata.append(QString(",\"state\":\"%1\"").arg(1));
  429. XfzdSyncData(7,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  430. }else if(xfzdQry1.value(7).toString().compare("手报")==0){
  431. jdata.append(QString("\"descript\":\"%1\"").arg(qry8.value(0).toString()));
  432. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry8.value(1).toString()));
  433. // if(qry8.value(6).toString().compare("10122")==0||qry8.value(6).toString().compare("10146")==0||qry8.value(6).toString().compare("10166")==0){
  434. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))+qry8.value(7).toString()));
  435. // }else{
  436. // jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))));
  437. // }
  438. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry8.value(4).toString()));
  439. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry8.value(5).toString()));
  440. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry8.value(6).toString()));
  441. QString jasign = "hj";
  442. jasign.append(QString("%1").arg(insertId));
  443. char md5str[33];
  444. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  445. md5str[32]='\0';
  446. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  447. if(xfzdQry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  448. jdata.append(QString(",\"handlePhone\":\"%1\"").arg("15122423833"));
  449. }else{
  450. jdata.append(QString(",\"handlePhone\":\"%1\"").arg(xfzdQry1.value(2).toString()));
  451. }
  452. jdata.append(QString(",\"handleAlarmTime\":\"%1\"").arg(xfzdQry1.value(6).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  453. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(xfzdQry1.value(5).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  454. if(xfzdQry1.value(4).toInt()==1){
  455. jdata.append(QString(",\"state\":\"%1\"").arg(1));
  456. }else{
  457. jdata.append(QString(",\"state\":\"%1\"").arg(2));
  458. }
  459. XfzdSyncData(9,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  460. }
  461. break;
  462. }
  463. }
  464. }
  465. }
  466. }
  467. }
  468. if(!found2){
  469. for(int i=0;i<hpDevList.length();i++){
  470. HPSyncDev hpdev = hpDevList.at(i);
  471. if(hpdev.Detection_id==DeviceID){
  472. found2=true;
  473. while(qry1.next()){
  474. if(qry1.value(0).toInt()==2||qry1.value(0).toInt()==4){
  475. while(qry4.next()){
  476. time_t myt=time(NULL);
  477. QString data3 = qry1.value(1).toString();
  478. QStringList list = data3.split(",");
  479. jdata.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  480. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  481. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  482. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  483. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  484. if(qry1.value(0).toInt()==2){
  485. jdata.append(QString(",\"type\":%1").arg(1));
  486. }else{
  487. jdata.append(QString(",\"type\":%1").arg(2));
  488. }
  489. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  490. jdata.append(QString(",\"mainframe_id\":\"%1\"").arg(hpdev.Mainframe_id));
  491. jdata.append(QString(",\"loop_number\":\"%1\"").arg(list.at(1)));
  492. jdata.append(QString(",\"position_number\":\"%1\"").arg(list.at(2)));
  493. if(qry1.value(4).toInt()==1){
  494. jdata.append(QString(",\"status\":%1").arg(1));
  495. }else{
  496. jdata.append(QString(",\"status\":%1").arg(3));
  497. }
  498. jdata.append(QString(",\"handler\":\"%1\"").arg(qry1.value(2).toString()));
  499. if(qry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  500. jdata.append(QString(",\"mobile\":%1").arg("15122423833"));
  501. }else{
  502. jdata.append(QString(",\"mobile\":%1").arg(qry4.value(0).toString()));
  503. }
  504. if(qry1.value(3).toString().isEmpty()){
  505. }else{
  506. jdata.append(QString(",\"reason\":\"%1\"").arg(qry1.value(3).toString()));
  507. }
  508. QString jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  509. jasign.append(QString("format%1").arg("json"));
  510. jasign.append(QString("handler%1").arg(qry1.value(2).toString()));
  511. jasign.append(QString("loop_number%1").arg(list.at(1)));
  512. jasign.append(QString("mainframe_id%1").arg(hpdev.Mainframe_id));
  513. if(qry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  514. jasign.append(QString("mobile%1").arg("15122423833"));
  515. }else{
  516. jasign.append(QString("mobile%1").arg(qry4.value(0).toString()));
  517. }
  518. jasign.append(QString("pid%1").arg(hpdev.Pid));
  519. jasign.append(QString("position_number%1").arg(list.at(2)));
  520. if(qry1.value(3).toString().isEmpty()){
  521. }else{
  522. jasign.append(QString("reason%1").arg(qry1.value(3).toString()));
  523. }
  524. jasign.append(QString("sign_method%1").arg("md5"));
  525. if(qry1.value(4).toInt()==1){
  526. jasign.append(QString("status%1").arg(1));
  527. }else{
  528. jasign.append(QString("status%1").arg(3));
  529. }
  530. jasign.append(QString("timestamp%1").arg(myt));
  531. if(qry1.value(0).toInt()==2){
  532. jasign.append(QString("type%1").arg(1));
  533. }else{
  534. jasign.append(QString("type%1").arg(2));
  535. }
  536. jasign.append(QString("v%1").arg("1.0"));
  537. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  538. char md5str[33];
  539. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  540. md5str[32]='\0';
  541. //logThread->appendData(QString("qianmingceshi[%1]").arg(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data()));
  542. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  543. QString jasign3=jdata.replace("\r","").replace("\n","").replace(" ","");
  544. hpSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  545. }
  546. }
  547. }
  548. }
  549. }
  550. }
  551. if(!found2){
  552. for(int i=0;i<NewcnDevList.length();i++){
  553. NewCNSyncDev newcndev = NewcnDevList.at(i);
  554. if(newcndev.DeviceCode==DeviceID){
  555. found2=true;
  556. QSqlQuery qry8;
  557. while(qry1.next()){
  558. if(qry1.value(0).toInt()==2||qry1.value(0).toInt()==4||qry1.value(0).toInt()==16||qry1.value(0).toInt()==64||qry1.value(0).toInt()==8192||qry1.value(0).toInt()==4){
  559. while(qry4.next()){
  560. time_t myt=time(NULL);
  561. QString sql8 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id from sp_new_changning_share_ceshi where device_code='%1' and port='%2'").arg(DeviceID).arg(qry1.value(1).toString());
  562. qry8 = mdb.exec(sql8);
  563. while(qry8.next()){
  564. if(qry1.value(0).toInt()==2){
  565. jdata.append(QString("\"descript\":\"%1\"").arg(qry8.value(0).toString()));
  566. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry8.value(1).toString()));
  567. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))));
  568. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry8.value(4).toString()));
  569. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry8.value(5).toString()));
  570. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry8.value(6).toString()));
  571. QString jasign = "hj";
  572. jasign.append(QString("%1").arg(insertId));
  573. char md5str[33];
  574. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  575. md5str[32]='\0';
  576. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  577. if(qry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  578. jdata.append(QString(",\"handlePhone\":%1").arg("15122423833"));
  579. }else{
  580. jdata.append(QString(",\"handlePhone\":%1").arg(qry4.value(0).toString()));
  581. }
  582. jdata.append(QString(",\"handleAlarmTime\":\"%1\"").arg(qry1.value(6).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  583. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(qry1.value(5).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  584. if(qry1.value(4).toInt()==1){
  585. jdata.append(QString(",\"state\":\"%1\"").arg(1));
  586. }else{
  587. jdata.append(QString(",\"state\":\"%1\"").arg(2));
  588. }
  589. NewcnSyncData(6,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  590. }else if(qry1.value(0).toInt()==4){
  591. jdata.append(QString("\"descript\":\"%1\"").arg(qry8.value(0).toString()));
  592. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry8.value(1).toString()));
  593. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))));
  594. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry8.value(4).toString()));
  595. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry8.value(5).toString()));
  596. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry8.value(6).toString()));
  597. QString jasign = "hj";
  598. jasign.append(QString("%1").arg(insertId));
  599. char md5str[33];
  600. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  601. md5str[32]='\0';
  602. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  603. if(qry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  604. jdata.append(QString(",\"handlePhone\":%1").arg("15122423833"));
  605. }else{
  606. jdata.append(QString(",\"handlePhone\":%1").arg(qry4.value(0).toString()));
  607. }
  608. jdata.append(QString(",\"handleAlarmTime\":\"%1\"").arg(qry1.value(6).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  609. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(qry1.value(5).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  610. if(qry1.value(4).toInt()==1){
  611. jdata.append(QString(",\"state\":\"%1\"").arg(1));
  612. }else{
  613. jdata.append(QString(",\"state\":\"%1\"").arg(2));
  614. }
  615. NewcnSyncData(7,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  616. }else if(qry1.value(7).toString().compare("手报")==0){
  617. jdata.append(QString("\"descript\":\"%1\"").arg(qry8.value(0).toString()));
  618. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry8.value(1).toString()));
  619. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))));
  620. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry8.value(4).toString()));
  621. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry8.value(5).toString()));
  622. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry8.value(6).toString()));
  623. QString jasign = "hj";
  624. jasign.append(QString("%1").arg(insertId));
  625. char md5str[33];
  626. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  627. md5str[32]='\0';
  628. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  629. if(qry1.value(2).toString().indexOf(QString::fromUtf8("admin"))==0){
  630. jdata.append(QString(",\"handlePhone\":%1").arg("15122423833"));
  631. }else{
  632. jdata.append(QString(",\"handlePhone\":%1").arg(qry4.value(0).toString()));
  633. }
  634. jdata.append(QString(",\"handleAlarmTime\":\"%1\"").arg(qry1.value(6).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  635. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(qry1.value(5).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  636. if(qry1.value(4).toInt()==1){
  637. jdata.append(QString(",\"state\":\"%1\"").arg(1));
  638. }else{
  639. jdata.append(QString(",\"state\":\"%1\"").arg(2));
  640. }
  641. NewcnSyncData(9,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  642. }
  643. break;
  644. }
  645. }
  646. }
  647. }
  648. }
  649. }
  650. }
  651. if(!found2){
  652. for(int i=0;i<syncXyDevList.length();i++){
  653. QString jdata1 = "";
  654. YPSyncXyDev ypxydev1 = syncXyDevList.at(i);
  655. if(ypxydev1.OwnerCode==DeviceID){
  656. found2 = true;
  657. jdata1.append(QString("\"status\":\"%1\"").arg("1"));
  658. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  659. jdata1.append(QString(",\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  660. SyncXyData(3,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  661. }
  662. }
  663. }
  664. }else{
  665. // QString sql = QString("select company from sp_owner where owner_code=%1").arg(DeviceID);
  666. // qry = mdb.exec(sql);
  667. for(int i=0;i<jaDevList.length();i++){
  668. JASyncDev jadev = jaDevList.at(i);
  669. if(jadev.Device_id==DeviceID){
  670. found = true;
  671. QString sql1 = QString("select port,data3,data4 from sp_hj2017 where id=%1").arg(insertId);
  672. qry1 = mdb.exec(sql1);
  673. QString jdata = "";
  674. while(qry1.next()){
  675. if(qry1.value(0).toInt()<256){
  676. time_t myt=time(NULL);
  677. QString data3 = qry1.value(1).toString();
  678. QString data4 = qry1.value(2).toString();
  679. QStringList list = data3.split(",");
  680. QStringList list1 = data4.split(",");
  681. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  682. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  683. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  684. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  685. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  686. jdata.append(QString(",\"pid\":\"%1\"").arg(jadev.Pid));
  687. jdata.append(QString(",\"bid\":\"%1\"").arg(jadev.Bid));
  688. jdata.append(QString(",\"fid\":\"%1\"").arg(jadev.Fid));
  689. jdata.append(QString(",\"zid\":\"%1\"").arg(jadev.Zid));
  690. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  691. jdata.append(QString(",\"tid\":\"%1\"").arg(jadev.Tid));
  692. jdata.append(QString(",\"name\":\"%1\"").arg(qry1.value(2).toString().replace("\r","").replace("\n","").replace(" ","")));
  693. jdata.append(QString(",\"detection_id\":\"%1\"").arg(jadev.Detection_id));
  694. jdata.append(QString(",\"sid\":\"%1\"").arg(jadev.Sid));
  695. if(DeviceID.compare("90078")==0||DeviceID.compare("90079")==0||DeviceID.compare("90080")==0){
  696. jdata.append(QString(",\"mainframe_id\":\"%1\"").arg(list1.at(0)));
  697. }else{
  698. jdata.append(QString(",\"mainframe_id\":\"%1\"").arg(jadev.Mainframe_id));
  699. }
  700. jdata.append(QString(",\"mainframe_name\":\"%1\"").arg(jadev.Mainframe_name));
  701. jdata.append(QString(",\"loop_number\":\"%1\"").arg(list.at(1)));
  702. jdata.append(QString(",\"position_number\":\"%1\"").arg(list.at(2)));
  703. jdata.append(QString(",\"val\":%1").arg(qry1.value(0).toInt()));
  704. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  705. jasign.append(QString("bid%1").arg(jadev.Bid));
  706. jasign.append(QString("detection_id%1").arg(jadev.Detection_id));
  707. jasign.append(QString("fid%1").arg(jadev.Fid));
  708. jasign.append(QString("format%1").arg("json"));
  709. jasign.append(QString("loop_number%1").arg(list.at(1)));
  710. if(DeviceID.compare("90078")==0||DeviceID.compare("90079")==0||DeviceID.compare("90080")==0){
  711. jasign.append(QString("mainframe_id%1").arg(list1.at(0)));
  712. }else{
  713. jasign.append(QString("mainframe_id%1").arg(jadev.Mainframe_id));
  714. }
  715. jasign.append(QString("mainframe_name%1").arg(jadev.Mainframe_name));
  716. jasign.append(QString("name%1").arg(qry1.value(2).toString().replace("\r","").replace("\n","").replace(" ","")));
  717. jasign.append(QString("pid%1").arg(jadev.Pid));
  718. jasign.append(QString("position_number%1").arg(list.at(2)));
  719. jasign.append(QString("report_time%1").arg(myt));
  720. jasign.append(QString("sid%1").arg(jadev.Sid));
  721. jasign.append(QString("sign_method%1").arg("md5"));
  722. jasign.append(QString("tid%1").arg(jadev.Tid));
  723. jasign.append(QString("timestamp%1").arg(myt));
  724. jasign.append(QString("v%1").arg("1.0"));
  725. jasign.append(QString("val%1").arg(qry1.value(0).toInt()));
  726. jasign.append(QString("zid%1").arg(jadev.Zid));
  727. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  728. char md5str[33];
  729. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  730. md5str[32]='\0';
  731. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  732. QString jasign3=jdata.replace("\r","").replace("\n","").replace(" ","");
  733. jaSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  734. }
  735. }
  736. }
  737. }
  738. for(int i=0;i<XfzdDevList.length();i++){
  739. if(DeviceID.compare(XfzdDevList.at(i).DeviceCode)==0){
  740. XfzdSyncDev xfzddev = XfzdDevList.at(i);
  741. QSqlQuery qry, qry1;
  742. uint MaxT = 0;
  743. QString sql = QString("select port,data2,data3,data4,time from sp_hj2017 where id=%1").arg(insertId);
  744. qry = mdb.exec(sql);
  745. QString jdata = "";
  746. QDateTime current_data_time = QDateTime::currentDateTime();
  747. QString current_data = current_data_time.toString("yyyy-MM-dd HH:mm:ss");
  748. while(qry.next()){
  749. QString sql1;
  750. if(DeviceID.compare("90142")==0){
  751. sql1 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data from sp_corps_share_yf where device_code='%1' and port='%2'").arg(DeviceID).arg(qry.value(2).toString());
  752. }else{
  753. sql1 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data from sp_corps_share_ceshi where device_code='%1' and port='%2'").arg(DeviceID).arg(qry.value(2).toString());
  754. }
  755. qry1 = mdb.exec(sql1);
  756. while(qry1.next()){
  757. if(qry.value(1).toString().compare("火警")==0){
  758. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  759. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  760. // if(qry1.value(6).toString().compare("10122")==0||qry1.value(6).toString().compare("10146")==0||qry1.value(6).toString().compare("10166")==0){
  761. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))+qry1.value(7).toString()));
  762. // }else{
  763. // jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  764. // }
  765. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  766. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  767. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  768. QString jasign = "hj";
  769. jasign.append(QString("%1").arg(insertId));
  770. char md5str[33];
  771. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  772. md5str[32]='\0';
  773. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  774. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  775. jdata.append(QString(",\"state\":\"%1\"").arg(0));
  776. XfzdSyncData(6,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  777. }else if(qry.value(1).toString().compare("故障")==0){
  778. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  779. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  780. // if(qry1.value(6).toString().compare("10122")==0||qry1.value(6).toString().compare("10146")==0||qry1.value(6).toString().compare("10166")==0){
  781. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))+qry1.value(7).toString()));
  782. // }else{
  783. // jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  784. // }
  785. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  786. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  787. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  788. QString jasign = "hj";
  789. jasign.append(QString("%1").arg(insertId));
  790. char md5str[33];
  791. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  792. md5str[32]='\0';
  793. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  794. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  795. jdata.append(QString(",\"state\":\"%1\"").arg(0));
  796. XfzdSyncData(7,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  797. }else if(qry.value(1).toString().compare("监管")==0){
  798. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  799. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  800. // if(qry1.value(6).toString().compare("10122")==0||qry1.value(6).toString().compare("10146")==0||qry1.value(6).toString().compare("10166")==0){
  801. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))+qry1.value(7).toString()));
  802. // }else{
  803. // jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  804. // }
  805. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  806. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  807. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  808. QString jasign = "hj";
  809. jasign.append(QString("%1").arg(insertId));
  810. char md5str[33];
  811. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  812. md5str[32]='\0';
  813. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  814. jdata.append(QString(",\"reportTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  815. jdata.append(QString(",\"devStatus\":\"%1\"").arg("正常"));
  816. XfzdSyncData(8,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  817. }else if(qry.value(1).toString().compare("手报")==0){
  818. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  819. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  820. // if(qry1.value(6).toString().compare("10122")==0||qry1.value(6).toString().compare("10146")==0||qry1.value(6).toString().compare("10166")==0){
  821. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))+qry1.value(7).toString()));
  822. // }else{
  823. // jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  824. // }
  825. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  826. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  827. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  828. QString jasign = "hj";
  829. jasign.append(QString("%1").arg(insertId));
  830. char md5str[33];
  831. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  832. md5str[32]='\0';
  833. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  834. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  835. jdata.append(QString(",\"state\":\"%1\"").arg(0));
  836. XfzdSyncData(9,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  837. }else if(qry.value(1).toString().compare("复位")==0){
  838. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  839. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  840. // if(qry1.value(6).toString().compare("10122")==0||qry1.value(6).toString().compare("10146")==0||qry1.value(6).toString().compare("10166")==0){
  841. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))+qry1.value(7).toString()));
  842. // }else{
  843. // jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  844. // }
  845. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  846. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  847. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  848. QString jasign = "hj";
  849. jasign.append(QString("%1").arg(insertId));
  850. char md5str[33];
  851. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  852. md5str[32]='\0';
  853. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  854. jdata.append(QString(",\"logTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  855. XfzdSyncData(10,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  856. }else if(qry.value(1).toString().compare("反馈")==0){
  857. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  858. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  859. // if(qry1.value(6).toString().compare("10122")==0||qry1.value(6).toString().compare("10146")==0||qry1.value(6).toString().compare("10166")==0){
  860. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))+qry1.value(7).toString()));
  861. // }else{
  862. // jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  863. // }
  864. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  865. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  866. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  867. QString jasign = "hj";
  868. jasign.append(QString("%1").arg(insertId));
  869. char md5str[33];
  870. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  871. md5str[32]='\0';
  872. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  873. jdata.append(QString(",\"reportTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  874. jdata.append(QString(",\"devStatus\":\"%1\"").arg("正常"));
  875. XfzdSyncData(11,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  876. }
  877. break;
  878. }
  879. }
  880. }
  881. }
  882. if(!found){
  883. for(int i=0;i<NewcnDevList.length();i++){
  884. if(DeviceID.compare(NewcnDevList.at(i).DeviceCode)==0){
  885. found = true;
  886. NewCNSyncDev newcndev = NewcnDevList.at(i);
  887. QSqlQuery qry, qry1;
  888. uint MaxT = 0;
  889. QString sql = QString("select port,data2,data3,data4,time from sp_hj2017 where id=%1").arg(insertId);
  890. qry = mdb.exec(sql);
  891. QString jdata = "";
  892. QDateTime current_data_time = QDateTime::currentDateTime();
  893. QString current_data = current_data_time.toString("yyyy-MM-dd HH:mm:ss");
  894. while(qry.next()){
  895. QString sql1 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id from sp_new_changning_share_ceshi where device_code='%1' and port='%2'").arg(DeviceID).arg(qry.value(2).toString());
  896. qry1 = mdb.exec(sql1);
  897. while(qry1.next()){
  898. if(qry.value(1).toString().compare("火警")==0){
  899. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  900. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  901. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  902. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  903. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  904. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  905. QString jasign = "hj";
  906. jasign.append(QString("%1").arg(insertId));
  907. char md5str[33];
  908. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  909. md5str[32]='\0';
  910. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  911. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  912. jdata.append(QString(",\"state\":\"%1\"").arg(0));
  913. NewcnSyncData(6,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  914. }else if(qry.value(1).toString().compare("故障")==0){
  915. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  916. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  917. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  918. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  919. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  920. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  921. QString jasign = "hj";
  922. jasign.append(QString("%1").arg(insertId));
  923. char md5str[33];
  924. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  925. md5str[32]='\0';
  926. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  927. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  928. jdata.append(QString(",\"state\":\"%1\"").arg(0));
  929. NewcnSyncData(7,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  930. }else if(qry.value(1).toString().compare("监管")==0){
  931. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  932. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  933. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  934. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  935. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  936. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  937. QString jasign = "hj";
  938. jasign.append(QString("%1").arg(insertId));
  939. char md5str[33];
  940. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  941. md5str[32]='\0';
  942. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  943. jdata.append(QString(",\"reportTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  944. jdata.append(QString(",\"devStatus\":\"%1\"").arg("正常"));
  945. NewcnSyncData(8,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  946. }else if(qry.value(1).toString().compare("手报")==0){
  947. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  948. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  949. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  950. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  951. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  952. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  953. QString jasign = "hj";
  954. jasign.append(QString("%1").arg(insertId));
  955. char md5str[33];
  956. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  957. md5str[32]='\0';
  958. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  959. jdata.append(QString(",\"alarmTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  960. jdata.append(QString(",\"state\":\"%1\"").arg(0));
  961. NewcnSyncData(9,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  962. }else if(qry.value(1).toString().compare("复位")==0){
  963. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  964. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  965. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  966. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  967. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  968. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  969. QString jasign = "hj";
  970. jasign.append(QString("%1").arg(insertId));
  971. char md5str[33];
  972. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  973. md5str[32]='\0';
  974. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  975. jdata.append(QString(",\"logTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  976. NewcnSyncData(10,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  977. }else if(qry.value(1).toString().compare("反馈")==0){
  978. jdata.append(QString("\"descript\":\"%1\"").arg(qry1.value(0).toString()));
  979. jdata.append(QString(",\"deviceName\":\"%1\"").arg(qry1.value(1).toString()));
  980. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
  981. jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
  982. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
  983. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
  984. QString jasign = "hj";
  985. jasign.append(QString("%1").arg(insertId));
  986. char md5str[33];
  987. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  988. md5str[32]='\0';
  989. jdata.append(QString(",\"openEventId\":\"%1\"").arg(md5str));
  990. jdata.append(QString(",\"reportTime\":\"%1\"").arg(qry.value(4).toDateTime().toString("yyyy-MM-dd hh:mm:ss")));
  991. jdata.append(QString(",\"devStatus\":\"%1\"").arg("正常"));
  992. NewcnSyncData(11,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  993. }
  994. break;
  995. }
  996. }
  997. }
  998. }
  999. }
  1000. if(!found){
  1001. for(int i=0;i<hpDevList.length();i++){
  1002. HPSyncDev hpdev = hpDevList.at(i);
  1003. if(hpdev.Detection_id==DeviceID){
  1004. found=true;
  1005. QString sql1 = QString("select port,data3,data4 from sp_hj2017 where id=%1").arg(insertId);
  1006. qry1 = mdb.exec(sql1);
  1007. QString jdata = "";
  1008. while(qry1.next()){
  1009. if(qry1.value(0).toInt()<256){
  1010. time_t myt=time(NULL);
  1011. QString data3 = qry1.value(1).toString();
  1012. QStringList list = data3.split(",");
  1013. jdata.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  1014. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  1015. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  1016. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  1017. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  1018. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  1019. jdata.append(QString(",\"bid\":\"%1\"").arg(hpdev.Bid));
  1020. jdata.append(QString(",\"fid\":\"%1\"").arg(hpdev.Fid));
  1021. jdata.append(QString(",\"zid\":\"%1\"").arg(hpdev.Zid));
  1022. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  1023. jdata.append(QString(",\"tid\":\"%1\"").arg(hpdev.Tid));
  1024. jdata.append(QString(",\"name\":\"%1\"").arg(qry1.value(2).toString().replace("\r","").replace("\n","").replace(" ","")));
  1025. jdata.append(QString(",\"detection_id\":\"%1\"").arg(hpdev.Detection_id));
  1026. jdata.append(QString(",\"sid\":\"%1\"").arg(hpdev.Sid));
  1027. jdata.append(QString(",\"mainframe_id\":\"%1\"").arg(hpdev.Mainframe_id));
  1028. jdata.append(QString(",\"mainframe_name\":\"%1\"").arg(hpdev.Mainframe_name));
  1029. jdata.append(QString(",\"loop_number\":\"%1\"").arg(list.at(1)));
  1030. jdata.append(QString(",\"position_number\":\"%1\"").arg(list.at(2)));
  1031. jdata.append(QString(",\"val\":%1").arg(qry1.value(0).toInt()));
  1032. QString jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  1033. jasign.append(QString("bid%1").arg(hpdev.Bid));
  1034. jasign.append(QString("detection_id%1").arg(hpdev.Detection_id));
  1035. jasign.append(QString("fid%1").arg(hpdev.Fid));
  1036. jasign.append(QString("format%1").arg("json"));
  1037. jasign.append(QString("loop_number%1").arg(list.at(1)));
  1038. jasign.append(QString("mainframe_id%1").arg(hpdev.Mainframe_id));
  1039. jasign.append(QString("mainframe_name%1").arg(hpdev.Mainframe_name));
  1040. jasign.append(QString("name%1").arg(qry1.value(2).toString().replace("\r","").replace("\n","").replace(" ","")));
  1041. jasign.append(QString("pid%1").arg(hpdev.Pid));
  1042. jasign.append(QString("position_number%1").arg(list.at(2)));
  1043. jasign.append(QString("report_time%1").arg(myt));
  1044. jasign.append(QString("sid%1").arg(hpdev.Sid));
  1045. jasign.append(QString("sign_method%1").arg("md5"));
  1046. jasign.append(QString("tid%1").arg(hpdev.Tid));
  1047. jasign.append(QString("timestamp%1").arg(myt));
  1048. jasign.append(QString("v%1").arg("1.0"));
  1049. jasign.append(QString("val%1").arg(qry1.value(0).toInt()));
  1050. jasign.append(QString("zid%1").arg(hpdev.Zid));
  1051. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  1052. char md5str[33];
  1053. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  1054. md5str[32]='\0';
  1055. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  1056. QString jasign3=jdata.replace("\r","").replace("\n","").replace(" ","");
  1057. hpSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  1058. }
  1059. }
  1060. }
  1061. }
  1062. }
  1063. if(!found){
  1064. for(int i=0;i<syncXyDevList.length();i++){
  1065. QString jdata1 = "";
  1066. QSqlQuery qry7;
  1067. QSqlQuery qry8;
  1068. uint MaxT = 0;
  1069. YPSyncXyDev ypxydev1 = syncXyDevList.at(i);
  1070. if(ypxydev1.OwnerCode==DeviceID){
  1071. QString sql5 = QString("select data1, time from sp_hj2017 where id=%1").arg(insertId);
  1072. qry7 = mdb.exec(sql5);
  1073. while(qry7.next()){
  1074. uint cTime = qry7.value(1).toDateTime().toTime_t();
  1075. if(cTime>MaxT)
  1076. MaxT = cTime;
  1077. jdata1.append(QString("\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  1078. jdata1.append(QString(",\"companyName\":\"%1\"").arg(ypxydev1.CompanyName));
  1079. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  1080. jdata1.append(QString(",\"deviceName\":\"%1\"").arg(ypxydev1.OwnerName+ypxydev1.DeviceName));
  1081. jdata1.append(QString(",\"wirelessSignal\":%1").arg(5));
  1082. jdata1.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1083. if(qry7.value(0).toString().compare("02")==0){
  1084. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("火灾报警"));
  1085. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y07"));
  1086. }else if(qry7.value(0).toString().compare("04")==0){
  1087. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("故障"));
  1088. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y11"));
  1089. }else if(qry7.value(0).toString().compare("10")==0){
  1090. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("监管"));
  1091. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y13"));
  1092. }else if(qry7.value(0).toString().compare("40")==0){
  1093. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("反馈"));
  1094. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y14"));
  1095. }else if(qry7.value(0).toString().compare("20")==0){
  1096. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("启动"));
  1097. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y15"));
  1098. }else if(qry7.value(0).toString().compare("08")==0){
  1099. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("屏蔽"));
  1100. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y16"));
  1101. }
  1102. SyncXyData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  1103. }
  1104. }
  1105. }
  1106. }
  1107. }
  1108. }else if(subType==6){
  1109. if(flag){
  1110. for(int i=0;i<ypYwDevList.length();i++){
  1111. QString ypywdata = "";
  1112. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1113. if(ypywdev1.DeviceCode==DeviceID){
  1114. found1 = true;
  1115. QString sql5 = QString("select clwb, clnr, clr, clsj from sp_rtu2017 where id=%1").arg(insertId);
  1116. qry5 = mdb.exec(sql5);
  1117. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("R"+QString::number(insertId)));
  1118. while(qry5.next()){
  1119. ypywdata.append(QString(",\"processing_status\":%1").arg(1));
  1120. if(qry5.value(0).toInt()==1){
  1121. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1122. }else if(qry5.value(0).toInt()==0){
  1123. ypywdata.append(QString(",\"processing_type\":%1").arg(2));
  1124. }else{
  1125. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1126. }
  1127. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(qry5.value(1).toString()));
  1128. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(qry5.value(2).toString()));
  1129. uint cTime = qry5.value(3).toDateTime().toTime_t();
  1130. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1131. }
  1132. ypYwSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1133. }
  1134. }
  1135. }else{
  1136. for(int i=0;i<jaDevList.length();i++){
  1137. QString jdata1 = "";
  1138. JASyncDev jadev1 = jaDevList.at(i);
  1139. if(jadev1.Device_id==DeviceID){
  1140. found1 = true;
  1141. time_t myt=time(NULL);
  1142. QString sql5 = QString("select data2, data4, ncmd from sp_rtu2017 where id=%1").arg(insertId);
  1143. qry5 = mdb.exec(sql5);
  1144. while(qry5.next()){
  1145. QString rtudata= QString("%1 %2").arg(qry5.value(0).toString()).arg(qry5.value(1).toString());
  1146. QString sql6 = QString("update sp_owner_status set content='%1' where device_id='%2' and point_code='%3'").arg(rtudata).arg(DeviceID).arg(qry5.value(2).toInt());
  1147. qry6 = mdb.exec(sql6);
  1148. }
  1149. QString sql3 = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(DeviceID);
  1150. qry3 = mdb.exec(sql3);
  1151. jdata1.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  1152. jdata1.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  1153. jdata1.append(QString(",\"format\":\"%1\"").arg("json"));
  1154. jdata1.append(QString(",\"v\":\"%1\"").arg("1.0"));
  1155. jdata1.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  1156. jdata1.append(QString(",\"pid\":\"%1\"").arg(jadev1.Pid));
  1157. jdata1.append(QString(",\"bid\":\"%1\"").arg(jadev1.Bid));
  1158. jdata1.append(QString(",\"fid\":\"%1\"").arg(jadev1.Fid));
  1159. jdata1.append(QString(",\"zid\":\"%1\"").arg(jadev1.Zid));
  1160. jdata1.append(QString(",\"report_time\":\"%1\"").arg(myt));
  1161. jdata1.append(QString(",\"mid\":\"%1\"").arg(jadev1.Mid));
  1162. jdata1.append(QString(",\"device_name\":\"%1\"").arg(jadev1.Device_name));
  1163. QList<JaPno> pnoList = getJaPnoValue(jaDevList.at(i).Device_data);
  1164. QJsonArray jajsonArray;
  1165. for(int i=0;i<pnoList.length();i++){
  1166. if(pnoList.at(i).Pno==0){
  1167. QJsonObject jaobjRTU;
  1168. jaobjRTU.insert("attr_id", pnoList.at(i).Attr);
  1169. jaobjRTU.insert("attr_val", pnoList.at(i).Default1);
  1170. jajsonArray.append(jaobjRTU);
  1171. }
  1172. }
  1173. QString device_code;
  1174. while(qry3.next()){
  1175. for(int i=0;i<pnoList.length();i++){
  1176. if(pnoList.at(i).Pno==qry3.value(0).toInt()&&qry3.value(0).toInt()!=0){
  1177. device_code=QString("%1%2").arg(jadev1.Device_id).arg(jadev1.Val);
  1178. if(qry3.value(2).toString().indexOf(QString::fromUtf8("正常"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("自动"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("停止"))==0){
  1179. QJsonObject jaobjRTU1;
  1180. jaobjRTU1.insert("attr_id", pnoList.at(i).Attr);
  1181. jaobjRTU1.insert("attr_val", pnoList.at(i).Default1);
  1182. jajsonArray.append(jaobjRTU1);
  1183. }else if(qry3.value(2).toString().indexOf(QString::fromUtf8("关闭"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("手动"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("运行"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("故障"))==0){
  1184. QJsonObject jaobjRTU2;
  1185. jaobjRTU2.insert("attr_id", pnoList.at(i).Attr);
  1186. jaobjRTU2.insert("attr_val", pnoList.at(i).Default2);
  1187. jajsonArray.append(jaobjRTU2);
  1188. }else{
  1189. QJsonObject jaobjRTU3;
  1190. jaobjRTU3.insert("attr_id", pnoList.at(i).Attr);
  1191. jaobjRTU3.insert("attr_val", pnoList.at(i).Default1);
  1192. jajsonArray.append(jaobjRTU3);
  1193. }
  1194. break;
  1195. }
  1196. }
  1197. }
  1198. jdata1.append(QString(",\"device_id\":\"%1\"").arg(device_code));
  1199. jdata1.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  1200. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  1201. jasign.append(QString("bid%1").arg(jadev1.Bid));
  1202. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  1203. jasign.append(QString("device_id%1").arg(device_code));
  1204. jasign.append(QString("device_name%1").arg(jadev1.Device_name));
  1205. jasign.append(QString("fid%1").arg(jadev1.Fid));
  1206. jasign.append(QString("format%1").arg("json"));
  1207. jasign.append(QString("mid%1").arg(jadev1.Mid));
  1208. jasign.append(QString("pid%1").arg(jadev1.Pid));
  1209. jasign.append(QString("report_time%1").arg(myt));
  1210. jasign.append(QString("sign_method%1").arg("md5"));
  1211. jasign.append(QString("timestamp%1").arg(myt));
  1212. jasign.append(QString("v%1").arg("1.0"));
  1213. jasign.append(QString("zid%1").arg(jadev1.Zid));
  1214. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  1215. char md5str[33];
  1216. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  1217. md5str[32]='\0';
  1218. jdata1.append(QString(",\"sign\":\"%1\"").arg(md5str));
  1219. QString jasign3=jdata1.replace("\r","").replace("\n","").replace(" ","");
  1220. jaSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  1221. }
  1222. }
  1223. if(!found1){
  1224. for(int i=0;i<hpDevList.length();i++){
  1225. QString jdata1 = "";
  1226. HPSyncDev hpdev1 = hpDevList.at(i);
  1227. if(hpdev1.Device_id==DeviceID){
  1228. found1 = true;
  1229. time_t myt=time(NULL);
  1230. QString sql5 = QString("select data2, data4, ncmd from sp_rtu2017 where id=%1").arg(insertId);
  1231. qry5 = mdb.exec(sql5);
  1232. while(qry5.next()){
  1233. QString rtudata= QString("%1 %2").arg(qry5.value(0).toString()).arg(qry5.value(1).toString());
  1234. QString sql6 = QString("update sp_owner_status set content='%1' where device_id='%2' and point_code='%3'").arg(rtudata).arg(DeviceID).arg(qry5.value(2).toInt());
  1235. qry6 = mdb.exec(sql6);
  1236. }
  1237. QString sql3 = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(DeviceID);
  1238. qry3 = mdb.exec(sql3);
  1239. jdata1.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  1240. jdata1.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  1241. jdata1.append(QString(",\"format\":\"%1\"").arg("json"));
  1242. jdata1.append(QString(",\"v\":\"%1\"").arg("1.0"));
  1243. jdata1.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  1244. jdata1.append(QString(",\"pid\":\"%1\"").arg(hpdev1.Pid));
  1245. jdata1.append(QString(",\"bid\":\"%1\"").arg(hpdev1.Bid));
  1246. jdata1.append(QString(",\"fid\":\"%1\"").arg(hpdev1.Fid));
  1247. jdata1.append(QString(",\"zid\":\"%1\"").arg(hpdev1.Zid));
  1248. jdata1.append(QString(",\"report_time\":\"%1\"").arg(myt));
  1249. jdata1.append(QString(",\"mid\":\"%1\"").arg(hpdev1.Mid));
  1250. jdata1.append(QString(",\"device_name\":\"%1\"").arg(hpdev1.Device_name));
  1251. QList<JaPno> pnoList = getJaPnoValue(hpDevList.at(i).Device_data);
  1252. QJsonArray jajsonArray;
  1253. for(int i=0;i<pnoList.length();i++){
  1254. if(pnoList.at(i).Pno==0){
  1255. QJsonObject jaobjRTU;
  1256. jaobjRTU.insert("attr_id", pnoList.at(i).Attr);
  1257. jaobjRTU.insert("attr_val", pnoList.at(i).Default1);
  1258. jajsonArray.append(jaobjRTU);
  1259. }
  1260. }
  1261. QString device_code;
  1262. while(qry3.next()){
  1263. for(int i=0;i<pnoList.length();i++){
  1264. if(pnoList.at(i).Pno==qry3.value(0).toInt()&&qry3.value(0).toInt()!=0){
  1265. device_code=QString("%1%2").arg(hpdev1.Device_id).arg(hpdev1.Val);
  1266. if(qry3.value(2).toString().indexOf(QString::fromUtf8("正常"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("自动"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("停止"))==0){
  1267. QJsonObject jaobjRTU1;
  1268. jaobjRTU1.insert("attr_id", pnoList.at(i).Attr);
  1269. jaobjRTU1.insert("attr_val", pnoList.at(i).Default1);
  1270. jajsonArray.append(jaobjRTU1);
  1271. }else if(qry3.value(2).toString().indexOf(QString::fromUtf8("关闭"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("手动"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("运行"))==0||qry3.value(2).toString().indexOf(QString::fromUtf8("故障"))==0){
  1272. QJsonObject jaobjRTU2;
  1273. jaobjRTU2.insert("attr_id", pnoList.at(i).Attr);
  1274. jaobjRTU2.insert("attr_val", pnoList.at(i).Default2);
  1275. jajsonArray.append(jaobjRTU2);
  1276. }else{
  1277. QJsonObject jaobjRTU3;
  1278. jaobjRTU3.insert("attr_id", pnoList.at(i).Attr);
  1279. jaobjRTU3.insert("attr_val", pnoList.at(i).Default1);
  1280. jajsonArray.append(jaobjRTU3);
  1281. }
  1282. break;
  1283. }
  1284. }
  1285. }
  1286. jdata1.append(QString(",\"device_id\":\"%1\"").arg(device_code));
  1287. jdata1.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  1288. QString jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  1289. jasign.append(QString("bid%1").arg(hpdev1.Bid));
  1290. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  1291. jasign.append(QString("device_id%1").arg(device_code));
  1292. jasign.append(QString("device_name%1").arg(hpdev1.Device_name));
  1293. jasign.append(QString("fid%1").arg(hpdev1.Fid));
  1294. jasign.append(QString("format%1").arg("json"));
  1295. jasign.append(QString("mid%1").arg(hpdev1.Mid));
  1296. jasign.append(QString("pid%1").arg(hpdev1.Pid));
  1297. jasign.append(QString("report_time%1").arg(myt));
  1298. jasign.append(QString("sign_method%1").arg("md5"));
  1299. jasign.append(QString("timestamp%1").arg(myt));
  1300. jasign.append(QString("v%1").arg("1.0"));
  1301. jasign.append(QString("zid%1").arg(hpdev1.Zid));
  1302. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  1303. char md5str[33];
  1304. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  1305. md5str[32]='\0';
  1306. jdata1.append(QString(",\"sign\":\"%1\"").arg(md5str));
  1307. QString jasign3=jdata1.replace("\r","").replace("\n","").replace(" ","");
  1308. hpSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  1309. }
  1310. }
  1311. }
  1312. if(!found1){
  1313. for(int i=0;i<ypYwDevList.length();i++){
  1314. QString ypywdata = "";
  1315. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1316. if(ypywdev1.DeviceCode==DeviceID){
  1317. found1 = true;
  1318. QString sql5 = QString("select data2, data4, ncmd, time from sp_rtu2017 where id=%1").arg(insertId);
  1319. qry5 = mdb.exec(sql5);
  1320. bool ok;
  1321. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("R"+QString::number(insertId)));
  1322. ypywdata.append(QString(",\"device_address\":\"%1\"").arg(ypywdev1.DeviceAddress));
  1323. ypywdata.append(QString(",\"longitude\":\"%1\"").arg(ypywdev1.Longitude));
  1324. ypywdata.append(QString(",\"latitude\":\"%1\"").arg(ypywdev1.Latitude));
  1325. ypywdata.append(QString(",\"reporting_type\":\"%1\"").arg(1));
  1326. ypywdata.append(QString(",\"processing_status\":%1").arg(0));
  1327. ypywdata.append(QString(",\"processing_type\":%1").arg(0));
  1328. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(""));
  1329. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(""));
  1330. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(""));
  1331. while(qry5.next()){
  1332. ypywdata.append(QString(",\"device_name\":\"%1\"").arg(ypywdev1.DeviceName+qry5.value(1).toString()));
  1333. int ncmdInt = qry5.value(2).toString().toInt(&ok,16);
  1334. ypywdata.append(QString(",\"device_code\":\"%1\"").arg(DeviceID+QString::number(ncmdInt)));
  1335. ypywdata.append(QString(",\"device_type\":%1").arg(6));
  1336. if(qry5.value(0).toString().compare("手动")==0){
  1337. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("FC3"));
  1338. }else if(qry5.value(0).toString().compare("关闭")){
  1339. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("FC9"));
  1340. }else if(qry5.value(0).toString().compare("运行")){
  1341. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("FC1"));
  1342. }else if(qry5.value(0).toString().compare("报警")){
  1343. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("FC2"));
  1344. }else{
  1345. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("FC10"));
  1346. }
  1347. uint cTime = qry5.value(3).toDateTime().toTime_t();
  1348. ypywdata.append(QString(",\"alarm_picture\":\"%1\"").arg(""));
  1349. ypywdata.append(QString(",\"alarm_time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1350. }
  1351. ypYwSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1352. }
  1353. }
  1354. }
  1355. }
  1356. }else if(subType==7){
  1357. if(flag){
  1358. for(int i=0;i<syncXyDevList.length();i++){
  1359. QString jdata1 = "";
  1360. YPSyncXyDev ypxydev1 = syncXyDevList.at(i);
  1361. if(ypxydev1.OwnerCode==DeviceID){
  1362. found7 = true;
  1363. jdata1.append(QString("\"status\":\"%1\"").arg("1"));
  1364. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  1365. jdata1.append(QString(",\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  1366. SyncXyData(3,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  1367. }
  1368. }
  1369. if(!found7){
  1370. for(int i=0;i<ypYwDevList.length();i++){
  1371. QString ypywdata = "";
  1372. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1373. if(ypywdev1.DeviceCode==DeviceID){
  1374. QString sql5 = QString("select clwb, clnr, clr, clsj from sp_ef2017 where id=%1").arg(insertId);
  1375. qry5 = mdb.exec(sql5);
  1376. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("E"+QString::number(insertId)));
  1377. while(qry5.next()){
  1378. ypywdata.append(QString(",\"processing_status\":%1").arg(1));
  1379. if(qry5.value(0).toInt()==1){
  1380. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1381. }else if(qry5.value(0).toInt()==0){
  1382. ypywdata.append(QString(",\"processing_type\":%1").arg(2));
  1383. }else{
  1384. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1385. }
  1386. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(qry5.value(1).toString()));
  1387. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(qry5.value(2).toString()));
  1388. uint cTime = qry5.value(3).toDateTime().toTime_t();
  1389. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1390. }
  1391. ypYwSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1392. }
  1393. }
  1394. }
  1395. }else{
  1396. for(int i=0;i<syncXyDevList.length();i++){
  1397. QString jdata1 = "";
  1398. QSqlQuery qry7;
  1399. uint MaxT = 0;
  1400. YPSyncXyDev ypxydev1 = syncXyDevList.at(i);
  1401. if(ypxydev1.OwnerCode==DeviceID){
  1402. found7 = true;
  1403. QString sql5 = QString("select data1, time from sp_ef2017 where id=%1").arg(insertId);
  1404. qry7 = mdb.exec(sql5);
  1405. while(qry7.next()){
  1406. uint cTime = qry7.value(1).toDateTime().toTime_t();
  1407. if(cTime>MaxT)
  1408. MaxT = cTime;
  1409. jdata1.append(QString("\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  1410. jdata1.append(QString(",\"companyName\":\"%1\"").arg(ypxydev1.CompanyName));
  1411. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  1412. jdata1.append(QString(",\"deviceName\":\"%1\"").arg(ypxydev1.OwnerName+ypxydev1.DeviceName));
  1413. jdata1.append(QString(",\"wirelessSignal\":%1").arg(5));
  1414. jdata1.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1415. // if(flag){
  1416. // jdata1.append(QString(",\"flag\":\"%1\"").arg("true"));
  1417. // }else{
  1418. // jdata1.append(QString(",\"flag\":\"%1\"").arg("false"));
  1419. // }
  1420. if(qry7.value(0).toString().compare("EF9")==0){
  1421. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("离线"));
  1422. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("E09"));
  1423. }else if(qry7.value(0).toString().compare("EF4")==0){
  1424. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("漏电报警"));
  1425. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("E04"));
  1426. }else if(qry7.value(0).toString().compare("EF3")==0){
  1427. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("过流报警"));
  1428. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("E03"));
  1429. }else if(qry7.value(0).toString().compare("EF2")==0){
  1430. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("过压报警"));
  1431. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("E02"));
  1432. }else if(qry7.value(0).toString().compare("EF1")==0){
  1433. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("欠压报警"));
  1434. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("E01"));
  1435. }else if(qry7.value(0).toString().compare("EF5")==0){
  1436. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("回路1温度超限报警"));
  1437. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("E05"));
  1438. }else if(qry7.value(0).toString().compare("EF6")==0){
  1439. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("回路2温度超限报警"));
  1440. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("E06"));
  1441. }else if(qry7.value(0).toString().compare("EF7")==0){
  1442. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("回路3温度超限报警"));
  1443. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("E07"));
  1444. }
  1445. SyncXyData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  1446. }
  1447. }
  1448. }
  1449. if(!found7){
  1450. for(int i=0;i<ypYwDevList.length();i++){
  1451. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1452. QString ypywdata = "";
  1453. if(ypywdev1.DeviceCode==DeviceID){
  1454. found5=true;
  1455. QString ypywsql5 = QString("select data1, data4, time from sp_ef2017 where id=%1").arg(insertId);
  1456. qry5 = mdb.exec(ypywsql5);
  1457. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("E"+QString::number(insertId)));
  1458. ypywdata.append(QString(",\"device_code\":\"%1\"").arg(DeviceID));
  1459. ypywdata.append(QString(",\"device_name\":\"%1\"").arg(ypywdev1.DeviceName));
  1460. ypywdata.append(QString(",\"device_address\":\"%1\"").arg(ypywdev1.DeviceAddress));
  1461. ypywdata.append(QString(",\"longitude\":\"%1\"").arg(ypywdev1.Longitude));
  1462. ypywdata.append(QString(",\"latitude\":\"%1\"").arg(ypywdev1.Latitude));
  1463. ypywdata.append(QString(",\"reporting_type\":\"%1\"").arg(1));
  1464. ypywdata.append(QString(",\"processing_status\":%1").arg(0));
  1465. ypywdata.append(QString(",\"processing_type\":%1").arg(0));
  1466. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(""));
  1467. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(""));
  1468. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(""));
  1469. while(qry5.next()){
  1470. ypywdata.append(QString(",\"device_type\":%1").arg(3));
  1471. if(qry5.value(0).toString().compare("EF1")){
  1472. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("EF2"));
  1473. }else if(qry5.value(0).toString().compare("EF2")){
  1474. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("EF1"));
  1475. }else if(qry5.value(0).toString().compare("EF3")){
  1476. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("EF3"));
  1477. }else if(qry5.value(0).toString().compare("EF4")){
  1478. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("EF4"));
  1479. }else if(qry5.value(0).toString().compare("EF5")){
  1480. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("EF5"));
  1481. }else if(qry5.value(0).toString().compare("EF6")){
  1482. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("EF6"));
  1483. }else if(qry5.value(0).toString().compare("EF7")){
  1484. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("EF7"));
  1485. }
  1486. uint cTime = qry5.value(2).toDateTime().toTime_t();
  1487. ypywdata.append(QString(",\"alarm_picture\":\"%1\"").arg(""));
  1488. ypywdata.append(QString(",\"alarm_time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1489. }
  1490. ypYwSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1491. }
  1492. }
  1493. }
  1494. }
  1495. }else if(subType==128){
  1496. for(int i=0;i<syncXyDevList.length();i++){
  1497. QString jdata1 = "";
  1498. QSqlQuery qry17;
  1499. uint MaxT = 0;
  1500. YPSyncXyDev ypxydev1 = syncXyDevList.at(i);
  1501. if(ypxydev1.OwnerCode==DeviceID){
  1502. if(flag){
  1503. jdata1.append(QString("\"status\":\"%1\"").arg("1"));
  1504. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  1505. jdata1.append(QString(",\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  1506. SyncXyData(3,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  1507. }else{
  1508. QString sql15 = QString("select device_status, time, voltage from sp_iw2017 where id=%1").arg(insertId);
  1509. qry17 = mdb.exec(sql15);
  1510. while(qry17.next()){
  1511. if(qry17.value(0).toInt()==1){
  1512. uint cTime = qry17.value(1).toDateTime().toTime_t();
  1513. if(cTime>MaxT)
  1514. MaxT = cTime;
  1515. jdata1.append(QString("\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  1516. jdata1.append(QString(",\"companyName\":\"%1\"").arg(ypxydev1.CompanyName));
  1517. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  1518. jdata1.append(QString(",\"deviceName\":\"%1\"").arg(ypxydev1.OwnerName+ypxydev1.DeviceName));
  1519. // QString jasign = QString("%1&%2").arg(ypxydev1.ObjCode).arg(insertId);
  1520. // QByteArray text = jasign.toLocal8Bit();
  1521. // QByteArray by = text.toBase64();
  1522. // QString str = QString(by);
  1523. // jdata1.append(QString(",\"uuid\":\"%1\"").arg(str));
  1524. jdata1.append(QString(",\"wirelessSignal\":%1").arg(5));
  1525. jdata1.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1526. if(flag){
  1527. // jdata1.append(QString(",\"flag\":\"%1\"").arg("true"));
  1528. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("井盖复原"));
  1529. }else{
  1530. // jdata1.append(QString(",\"flag\":\"%1\"").arg("false"));
  1531. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("井盖开启"));
  1532. }
  1533. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("M02"));
  1534. // jdata1.append(QString(",\"battery\":%1").arg(qry17.value(2).toInt()));
  1535. SyncXyData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  1536. }
  1537. }
  1538. }
  1539. }
  1540. }
  1541. }else if(subType==3){
  1542. if(flag){
  1543. for(int i=0;i<syncXyDevList.length();i++){
  1544. QString jdata1 = "";
  1545. YPSyncXyDev ypxydev1 = syncXyDevList.at(i);
  1546. if(ypxydev1.OwnerCode==DeviceID){
  1547. found6 = true;
  1548. jdata1.append(QString("\"status\":\"%1\"").arg("1"));
  1549. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  1550. jdata1.append(QString(",\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  1551. SyncXyData(3,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  1552. }
  1553. }
  1554. if(!found6){
  1555. for(int i=0;i<ypYwDevList.length();i++){
  1556. QString ypywdata = "";
  1557. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1558. if(ypywdev1.DeviceCode==DeviceID){
  1559. QString sql5 = QString("select clwb, clnr, clr, clsj from sp_hj2017 where id=%1").arg(insertId);
  1560. qry5 = mdb.exec(sql5);
  1561. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("F"+QString::number(insertId)));
  1562. while(qry5.next()){
  1563. ypywdata.append(QString(",\"processing_status\":%1").arg(1));
  1564. if(qry5.value(0).toInt()==1){
  1565. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1566. }else if(qry5.value(0).toInt()==0){
  1567. ypywdata.append(QString(",\"processing_type\":%1").arg(2));
  1568. }else{
  1569. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1570. }
  1571. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(qry5.value(1).toString()));
  1572. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(qry5.value(2).toString()));
  1573. uint cTime = qry5.value(3).toDateTime().toTime_t();
  1574. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1575. }
  1576. ypYwSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1577. }
  1578. }
  1579. }
  1580. }else{
  1581. for(int i=0;i<syncXyDevList.length();i++){
  1582. QString jdata1 = "";
  1583. QSqlQuery qry7;
  1584. QSqlQuery qry8;
  1585. uint MaxT = 0;
  1586. YPSyncXyDev ypxydev1 = syncXyDevList.at(i);
  1587. if(ypxydev1.OwnerCode==DeviceID){
  1588. found6 = true;
  1589. QString sql5 = QString("select data1, time from sp_hj2017 where id=%1").arg(insertId);
  1590. qry7 = mdb.exec(sql5);
  1591. QString sql6 = QString("select point_data, point_name from sp_owner_status where point_code=%1").arg(2);
  1592. qry8 = mdb.exec(sql6);
  1593. while(qry7.next()){
  1594. while(qry8.next()){
  1595. if(qry8.value(1).toString().compare("剩余电量")==0){
  1596. logThread->appendData(QString("[ %1 ]").arg("============烟感推送==============="));
  1597. uint cTime = qry7.value(1).toDateTime().toTime_t();
  1598. if(cTime>MaxT)
  1599. MaxT = cTime;
  1600. jdata1.append(QString("\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  1601. jdata1.append(QString(",\"companyName\":\"%1\"").arg(ypxydev1.CompanyName));
  1602. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  1603. jdata1.append(QString(",\"deviceName\":\"%1\"").arg(ypxydev1.OwnerName+ypxydev1.DeviceName));
  1604. QString jasign = QString("%1&%2").arg(ypxydev1.ObjCode).arg(insertId);
  1605. QByteArray text = jasign.toLocal8Bit();
  1606. // QByteArray by = text.toBase64();
  1607. // QString str = QString(by);
  1608. // jdata1.append(QString(",\"uuid\":\"%1\"").arg(str));
  1609. jdata1.append(QString(",\"wirelessSignal\":%1").arg(5));
  1610. jdata1.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1611. if(qry7.value(0).toString().compare("y07")==0){
  1612. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("火灾报警"));
  1613. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y07"));
  1614. }else if(qry7.value(0).toString().compare("y08")==0){
  1615. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("温度报警"));
  1616. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y08"));
  1617. }else if(qry7.value(0).toString().compare("y09")==0){
  1618. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("烟感电量低"));
  1619. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y09"));
  1620. }else if(qry7.value(0).toString().compare("y10")==0){
  1621. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("防拆报警"));
  1622. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y10"));
  1623. }else if(qry7.value(0).toString().compare("y11")==0){
  1624. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("发射电路故障"));
  1625. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y11"));
  1626. }else if(qry7.value(0).toString().compare("y12")==0){
  1627. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("设备自检"));
  1628. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("Y12"));
  1629. }
  1630. SyncXyData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  1631. break;
  1632. }
  1633. }
  1634. }
  1635. }
  1636. }
  1637. if(!found6){
  1638. for(int i=0;i<ypYwDevList.length();i++){
  1639. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1640. time_t myt=time(NULL);
  1641. QString ypywdata = "";
  1642. if(ypywdev1.DeviceCode==DeviceID){
  1643. found6=true;
  1644. QString ypywsql5 = QString("select data1, data4, time from sp_hj2017 where id=%1").arg(insertId);
  1645. qry5 = mdb.exec(ypywsql5);
  1646. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("F"+QString::number(insertId)));
  1647. ypywdata.append(QString(",\"device_code\":\"%1\"").arg(DeviceID));
  1648. ypywdata.append(QString(",\"device_name\":\"%1\"").arg(ypywdev1.DeviceName));
  1649. ypywdata.append(QString(",\"device_address\":\"%1\"").arg(ypywdev1.DeviceAddress));
  1650. ypywdata.append(QString(",\"longitude\":\"%1\"").arg(ypywdev1.Longitude));
  1651. ypywdata.append(QString(",\"latitude\":\"%1\"").arg(ypywdev1.Latitude));
  1652. ypywdata.append(QString(",\"reporting_type\":\"%1\"").arg(1));
  1653. ypywdata.append(QString(",\"processing_status\":%1").arg(0));
  1654. ypywdata.append(QString(",\"processing_type\":%1").arg(0));
  1655. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(""));
  1656. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(""));
  1657. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(""));
  1658. while(qry5.next()){
  1659. ypywdata.append(QString(",\"device_type\":%1").arg(3));
  1660. if(qry5.value(0).toString().compare("y07")){
  1661. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("Y01"));
  1662. }else if(qry5.value(0).toString().compare("y08")){
  1663. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("Y02"));
  1664. }else if(qry5.value(0).toString().compare("y10")){
  1665. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("Y03"));
  1666. }else if(qry5.value(0).toString().compare("y12")){
  1667. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("Y04"));
  1668. }else if(qry5.value(0).toString().compare("y09")){
  1669. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("Y05"));
  1670. }else if(qry5.value(0).toString().compare("y11")){
  1671. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("Y06"));
  1672. }else{
  1673. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("Y07"));
  1674. }
  1675. ypywdata.append(QString(",\"alarm_picture\":\"%1\"").arg(""));
  1676. ypywdata.append(QString(",\"alarm_time\":\"%1\"").arg(qry5.value(2).toDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  1677. }
  1678. ypYwSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1679. }
  1680. }
  1681. }
  1682. }
  1683. }else if(subType==2){
  1684. if(flag){
  1685. for(int i=0;i<syncXyDevList.length();i++){
  1686. QString jdata1 = "";
  1687. YPSyncXyDev ypxydev1 = syncXyDevList.at(i);
  1688. if(ypxydev1.OwnerCode==DeviceID){
  1689. found5 = true;
  1690. jdata1.append(QString("\"status\":\"%1\"").arg("1"));
  1691. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  1692. jdata1.append(QString(",\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  1693. SyncXyData(3,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  1694. }
  1695. }
  1696. if(!found5){
  1697. for(int i=0;i<ypYwDevList.length();i++){
  1698. QString ypywdata = "";
  1699. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1700. if(ypywdev1.DeviceCode==DeviceID){
  1701. QString sql5 = QString("select clwb, clnr, clr, clsj from sp_sj2017 where id=%1").arg(insertId);
  1702. qry5 = mdb.exec(sql5);
  1703. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("W"+QString::number(insertId)));
  1704. while(qry5.next()){
  1705. ypywdata.append(QString(",\"processing_status\":%1").arg(1));
  1706. if(qry5.value(0).toInt()==1){
  1707. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1708. }else if(qry5.value(0).toInt()==0){
  1709. ypywdata.append(QString(",\"processing_type\":%1").arg(2));
  1710. }else{
  1711. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1712. }
  1713. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(qry5.value(1).toString()));
  1714. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(qry5.value(2).toString()));
  1715. uint cTime = qry5.value(3).toDateTime().toTime_t();
  1716. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1717. }
  1718. ypYwSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1719. }
  1720. }
  1721. }
  1722. }else{
  1723. for(int i=0;i<syncXyDevList.length();i++){
  1724. QString jdata1 = "";
  1725. QSqlQuery qry7;
  1726. uint MaxT = 0;
  1727. YPSyncXyDev ypxydev1 = syncXyDevList.at(i);
  1728. if(ypxydev1.OwnerCode==DeviceID){
  1729. found5=true;
  1730. QString sql5 = QString("select data1, time, data2 from sp_sj2017 where id=%1").arg(insertId);
  1731. qry7 = mdb.exec(sql5);
  1732. while(qry7.next()){
  1733. uint cTime = qry7.value(1).toDateTime().toTime_t();
  1734. if(cTime>MaxT)
  1735. MaxT = cTime;
  1736. jdata1.append(QString("\"companyCode\":\"%1\"").arg(ypxydev1.CompanyCode));
  1737. jdata1.append(QString(",\"companyName\":\"%1\"").arg(ypxydev1.CompanyName));
  1738. jdata1.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev1.ObjCode));
  1739. jdata1.append(QString(",\"deviceName\":\"%1\"").arg(ypxydev1.OwnerName+ypxydev1.DeviceName));
  1740. // QString jasign = QString("%1&%2").arg(ypxydev1.ObjCode).arg(insertId);
  1741. // QByteArray text = jasign.toLocal8Bit();
  1742. // QByteArray by = text.toBase64();
  1743. // QString str = QString(by);
  1744. // jdata1.append(QString(",\"uuid\":\"%1\"").arg(str));
  1745. jdata1.append(QString(",\"wirelessSignal\":%1").arg(5));
  1746. jdata1.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1747. if(qry7.value(0).toString().compare("WP1")==0){
  1748. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("低压"));
  1749. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("WP1"));
  1750. }else if(qry7.value(0).toString().compare("WP2")==0){
  1751. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("高压"));
  1752. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("WP2"));
  1753. }else if(qry7.value(0).toString().compare("WP4")==0){
  1754. jdata1.append(QString(",\"alarmName\":\"%1\"").arg("离线"));
  1755. jdata1.append(QString(",\"alarmCode\":\"%1\"").arg("WP4"));
  1756. }
  1757. SyncXyData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata1+"}");
  1758. }
  1759. }
  1760. }
  1761. if(!found5){
  1762. for(int i=0;i<hpDevList.length();i++){
  1763. HPSyncDev hpdev = hpDevList.at(i);
  1764. time_t myt=time(NULL);
  1765. QString jdata = "";
  1766. if(hpdev.Device_id==DeviceID){
  1767. found5=true;
  1768. QSqlQuery qry;
  1769. QString sql = QString("select data1, data2, data4 from sp_sj2017 where id=%1").arg(insertId);
  1770. // QString sql5 = QString("select point_code, point_data, dwtype, data_time from sp_owner_status where device_id=%1").arg(hpdev.Device_id);
  1771. jdata.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  1772. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  1773. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  1774. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  1775. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  1776. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  1777. jdata.append(QString(",\"bid\":\"%1\"").arg(hpdev.Bid));
  1778. jdata.append(QString(",\"fid\":\"%1\"").arg(hpdev.Fid));
  1779. jdata.append(QString(",\"zid\":\"%1\"").arg(hpdev.Zid));
  1780. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  1781. qry = mdb.exec(sql);
  1782. if(hpDevList.at(i).Device_data.length()>0){
  1783. jdata.append(QString(",\"mid\":\"%1\"").arg(hpdev.Mid));
  1784. jdata.append(QString(",\"device_name\":\"%1\"").arg(hpdev.Device_name));
  1785. jdata.append(QString(",\"device_id\":\"%1\"").arg(hpdev.Device_id));
  1786. QJsonParseError json_error;
  1787. QJsonArray jajsonArray;
  1788. QJsonDocument jsonDoc(QJsonDocument::fromJson(hpDevList.at(i).Device_data.toUtf8(),&json_error));
  1789. QJsonObject jaobj;
  1790. QJsonObject jaobj2;
  1791. QJsonObject jaobj3;
  1792. if(json_error.error == QJsonParseError::NoError){
  1793. while(qry.next()){
  1794. QJsonArray json_root = jsonDoc.array();
  1795. QJsonObject obj = json_root.at(0).toObject();
  1796. jaobj.insert("attr_id", obj.value("attr_id"));
  1797. jaobj.insert("attr_val", qry.value(2).toString());
  1798. jajsonArray.append(jaobj);
  1799. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  1800. QString jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  1801. jasign.append(QString("bid%1").arg(hpdev.Bid));
  1802. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  1803. jasign.append(QString("device_id%1").arg(hpdev.Device_id));
  1804. jasign.append(QString("device_name%1").arg(hpdev.Device_name));
  1805. jasign.append(QString("fid%1").arg(hpdev.Fid));
  1806. jasign.append(QString("format%1").arg("json"));
  1807. jasign.append(QString("mid%1").arg(hpdev.Mid));
  1808. jasign.append(QString("pid%1").arg(hpdev.Pid));
  1809. jasign.append(QString("report_time%1").arg(myt));
  1810. jasign.append(QString("sign_method%1").arg("md5"));
  1811. jasign.append(QString("timestamp%1").arg(myt));
  1812. jasign.append(QString("v%1").arg("1.0"));
  1813. jasign.append(QString("zid%1").arg(hpdev.Zid));
  1814. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  1815. char md5str[33];
  1816. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  1817. md5str[32]='\0';
  1818. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  1819. }
  1820. }
  1821. }
  1822. QString jasign2=jdata.replace("\r","").replace("\n","").replace(" ","");
  1823. hpSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign2+"}");
  1824. }
  1825. }
  1826. }
  1827. if(!found5){
  1828. for(int i=0;i<jaDevList.length();i++){
  1829. JASyncDev hpdev = jaDevList.at(i);
  1830. time_t myt=time(NULL);
  1831. QString jdata = "";
  1832. if(hpdev.Device_id==DeviceID){
  1833. found5=true;
  1834. QSqlQuery qry;
  1835. QString sql = QString("select data1, data2, data4 from sp_sj2017 where id=%1").arg(insertId);
  1836. // QString sql5 = QString("select point_code, point_data, dwtype, data_time from sp_owner_status where device_id=%1").arg(hpdev.Device_id);
  1837. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  1838. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  1839. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  1840. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  1841. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  1842. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  1843. jdata.append(QString(",\"bid\":\"%1\"").arg(hpdev.Bid));
  1844. jdata.append(QString(",\"fid\":\"%1\"").arg(hpdev.Fid));
  1845. jdata.append(QString(",\"zid\":\"%1\"").arg(hpdev.Zid));
  1846. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  1847. qry = mdb.exec(sql);
  1848. if(jaDevList.at(i).Device_data.length()>0){
  1849. jdata.append(QString(",\"mid\":\"%1\"").arg(hpdev.Mid));
  1850. jdata.append(QString(",\"device_name\":\"%1\"").arg(hpdev.Device_name));
  1851. jdata.append(QString(",\"device_id\":\"%1\"").arg(hpdev.Device_id));
  1852. QJsonParseError json_error;
  1853. QJsonArray jajsonArray;
  1854. QJsonDocument jsonDoc(QJsonDocument::fromJson(jaDevList.at(i).Device_data.toUtf8(),&json_error));
  1855. QJsonObject jaobj;
  1856. QJsonObject jaobj2;
  1857. QJsonObject jaobj3;
  1858. if(json_error.error == QJsonParseError::NoError){
  1859. while(qry.next()){
  1860. QJsonArray json_root = jsonDoc.array();
  1861. QJsonObject obj = json_root.at(0).toObject();
  1862. jaobj.insert("attr_id", obj.value("attr_id"));
  1863. jaobj.insert("attr_val", qry.value(2).toString());
  1864. jajsonArray.append(jaobj);
  1865. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  1866. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  1867. jasign.append(QString("bid%1").arg(hpdev.Bid));
  1868. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  1869. jasign.append(QString("device_id%1").arg(hpdev.Device_id));
  1870. jasign.append(QString("device_name%1").arg(hpdev.Device_name));
  1871. jasign.append(QString("fid%1").arg(hpdev.Fid));
  1872. jasign.append(QString("format%1").arg("json"));
  1873. jasign.append(QString("mid%1").arg(hpdev.Mid));
  1874. jasign.append(QString("pid%1").arg(hpdev.Pid));
  1875. jasign.append(QString("report_time%1").arg(myt));
  1876. jasign.append(QString("sign_method%1").arg("md5"));
  1877. jasign.append(QString("timestamp%1").arg(myt));
  1878. jasign.append(QString("v%1").arg("1.0"));
  1879. jasign.append(QString("zid%1").arg(hpdev.Zid));
  1880. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  1881. char md5str[33];
  1882. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  1883. md5str[32]='\0';
  1884. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  1885. }
  1886. }
  1887. }
  1888. QString jasign2=jdata.replace("\r","").replace("\n","").replace(" ","");
  1889. jaSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign2+"}");
  1890. }
  1891. }
  1892. }
  1893. if(!found5){
  1894. for(int i=0;i<ypYwDevList.length();i++){
  1895. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1896. QString ypywdata = "";
  1897. if(ypywdev1.DeviceCode==DeviceID){
  1898. found5=true;
  1899. QString ypywsql5 = QString("select data1, data4, time from sp_sj2017 where id=%1").arg(insertId);
  1900. qry5 = mdb.exec(ypywsql5);
  1901. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("W"+QString::number(insertId)));
  1902. ypywdata.append(QString(",\"device_code\":\"%1\"").arg(DeviceID));
  1903. ypywdata.append(QString(",\"device_name\":\"%1\"").arg(ypywdev1.DeviceName));
  1904. ypywdata.append(QString(",\"device_address\":\"%1\"").arg(ypywdev1.DeviceAddress));
  1905. ypywdata.append(QString(",\"longitude\":\"%1\"").arg(ypywdev1.Longitude));
  1906. ypywdata.append(QString(",\"latitude\":\"%1\"").arg(ypywdev1.Latitude));
  1907. ypywdata.append(QString(",\"reporting_type\":\"%1\"").arg(1));
  1908. ypywdata.append(QString(",\"processing_status\":%1").arg(0));
  1909. ypywdata.append(QString(",\"processing_type\":%1").arg(0));
  1910. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(""));
  1911. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(""));
  1912. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(""));
  1913. while(qry5.next()){
  1914. ypywdata.append(QString(",\"device_type\":%1").arg(2));
  1915. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg(qry5.value(0).toString()));
  1916. uint cTime = qry5.value(2).toDateTime().toTime_t();
  1917. ypywdata.append(QString(",\"alarm_picture\":\"%1\"").arg(""));
  1918. ypywdata.append(QString(",\"alarm_time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1919. }
  1920. ypYwSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1921. }
  1922. }
  1923. }
  1924. }
  1925. }else if(subType==16){
  1926. if(flag){
  1927. for(int i=0;i<ypYwDevList.length();i++){
  1928. QString ypywdata = "";
  1929. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1930. if(ypywdev1.DeviceCode==DeviceID){
  1931. QString sql5 = QString("select clwb, clnr, clr, clsj from sp_video2017 where id=%1").arg(insertId);
  1932. qry5 = mdb.exec(sql5);
  1933. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("V"+QString::number(insertId)));
  1934. while(qry5.next()){
  1935. ypywdata.append(QString(",\"processing_status\":%1").arg(1));
  1936. if(qry5.value(0).toInt()==1){
  1937. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1938. }else if(qry5.value(0).toInt()==0){
  1939. ypywdata.append(QString(",\"processing_type\":%1").arg(2));
  1940. }else{
  1941. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  1942. }
  1943. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(qry5.value(1).toString()));
  1944. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(qry5.value(2).toString()));
  1945. uint cTime = qry5.value(3).toDateTime().toTime_t();
  1946. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1947. }
  1948. ypYwSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1949. }
  1950. }
  1951. }else{
  1952. for(int i=0;i<ypYwDevList.length();i++){
  1953. QString ypywdata1 = "";
  1954. QString ypywdata = "";
  1955. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1956. if(ypywdev1.DeviceCode==DeviceID){
  1957. QString ypywsql5 = QString("select data2, data4, ncmd, time from sp_video2017 where id=%1").arg(insertId);
  1958. qry5 = mdb.exec(ypywsql5);
  1959. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("V"+QString::number(insertId)));
  1960. ypywdata.append(QString(",\"device_code\":\"%1\"").arg(DeviceID));
  1961. ypywdata.append(QString(",\"device_name\":\"%1\"").arg(ypywdev1.DeviceName));
  1962. ypywdata.append(QString(",\"device_address\":\"%1\"").arg(ypywdev1.DeviceAddress));
  1963. ypywdata.append(QString(",\"longitude\":\"%1\"").arg(ypywdev1.Longitude));
  1964. ypywdata.append(QString(",\"latitude\":\"%1\"").arg(ypywdev1.Latitude));
  1965. ypywdata.append(QString(",\"reporting_type\":\"%1\"").arg(1));
  1966. ypywdata.append(QString(",\"processing_status\":%1").arg(0));
  1967. ypywdata.append(QString(",\"processing_type\":%1").arg(0));
  1968. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(""));
  1969. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(""));
  1970. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(""));
  1971. while(qry5.next()){
  1972. if(qry5.value(2).toInt()==104){
  1973. if(qry5.value(1).toString().compare("消防占道告警")==0){
  1974. ypywdata.append(QString(",\"device_type\":%1").arg(162));
  1975. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("V01"));
  1976. }else{
  1977. ypywdata.append(QString(",\"device_type\":%1").arg(164));
  1978. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("V03"));
  1979. }
  1980. }else if(qry5.value(2).toInt()==2){
  1981. ypywdata.append(QString(",\"device_type\":%1").arg(163));
  1982. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg("V02"));
  1983. }
  1984. uint cTime = qry5.value(3).toDateTime().toTime_t();
  1985. ypywdata.append(QString(",\"alarm_picture\":\"%1\"").arg(qry5.value(0).toString()));
  1986. ypywdata.append(QString(",\"alarm_time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  1987. }
  1988. ypYwSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  1989. }
  1990. }
  1991. }
  1992. }else if(subType==5){
  1993. if(flag){
  1994. for(int i=0;i<ypYwDevList.length();i++){
  1995. QString ypywdata = "";
  1996. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  1997. if(ypywdev1.DeviceCode==DeviceID){
  1998. QString sql5 = QString("select clwb, clnr, clr, clsj from sp_sj2017 where id=%1").arg(insertId);
  1999. qry5 = mdb.exec(sql5);
  2000. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("W"+QString::number(insertId)));
  2001. while(qry5.next()){
  2002. ypywdata.append(QString(",\"processing_status\":%1").arg(1));
  2003. if(qry5.value(0).toInt()==1){
  2004. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  2005. }else if(qry5.value(0).toInt()==0){
  2006. ypywdata.append(QString(",\"processing_type\":%1").arg(2));
  2007. }else{
  2008. ypywdata.append(QString(",\"processing_type\":%1").arg(1));
  2009. }
  2010. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(qry5.value(1).toString()));
  2011. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(qry5.value(2).toString()));
  2012. uint cTime = qry5.value(3).toDateTime().toTime_t();
  2013. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  2014. }
  2015. ypYwSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  2016. }
  2017. }
  2018. }else{
  2019. for(int i=0;i<ypYwDevList.length();i++){
  2020. QString ypywdata1 = "";
  2021. QString ypywdata = "";
  2022. YPYWSyncDev ypywdev1 = ypYwDevList.at(i);
  2023. if(ypywdev1.DeviceCode==DeviceID){
  2024. QString ypywsql5 = QString("select data1, data4, time from sp_sj2017 where id=%1").arg(insertId);
  2025. qry5 = mdb.exec(ypywsql5);
  2026. ypywdata.append(QString("\"unique_number\":\"%1\"").arg("W"+QString::number(insertId)));
  2027. ypywdata.append(QString(",\"device_code\":\"%1\"").arg(DeviceID));
  2028. ypywdata.append(QString(",\"device_name\":\"%1\"").arg(ypywdev1.DeviceName));
  2029. ypywdata.append(QString(",\"device_address\":\"%1\"").arg(ypywdev1.DeviceAddress));
  2030. ypywdata.append(QString(",\"longitude\":\"%1\"").arg(ypywdev1.Longitude));
  2031. ypywdata.append(QString(",\"latitude\":\"%1\"").arg(ypywdev1.Latitude));
  2032. ypywdata.append(QString(",\"reporting_type\":\"%1\"").arg(1));
  2033. ypywdata.append(QString(",\"processing_status\":%1").arg(0));
  2034. ypywdata.append(QString(",\"processing_type\":%1").arg(0));
  2035. ypywdata.append(QString(",\"processing_content\":\"%1\"").arg(""));
  2036. ypywdata.append(QString(",\"processing_personnel\":\"%1\"").arg(""));
  2037. ypywdata.append(QString(",\"processing_timel\":\"%1\"").arg(""));
  2038. while(qry5.next()){
  2039. ypywdata.append(QString(",\"device_type\":%1").arg(5));
  2040. ypywdata.append(QString(",\"alarm_type\":\"%1\"").arg(qry5.value(0).toString()));
  2041. uint cTime = qry5.value(3).toDateTime().toTime_t();
  2042. ypywdata.append(QString(",\"alarm_picture\":\"%1\"").arg(""));
  2043. ypywdata.append(QString(",\"alarm_time\":\"%1\"").arg(QDateTime::fromTime_t(cTime).toString("yyyy-MM-dd HH:mm:ss")));
  2044. }
  2045. ypYwSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+ypywdata+"}");
  2046. }
  2047. }
  2048. }
  2049. }
  2050. mdb.close();
  2051. mdbOpened = false;
  2052. }
  2053. void Core::needSync(QString deviceCode)
  2054. {
  2055. logThread->appendData(QString("[ %1 dataupdate ] %2").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss.zzz")).arg(deviceCode));
  2056. thread->appendDevDataList(deviceCode);
  2057. }
  2058. void Core::companyAlarmChanged(QString companyCode)
  2059. {
  2060. wsCenter->checkLastNote(companyCode);
  2061. }
  2062. void Core::SyncData(QString uuid, QString jsonstr)
  2063. {
  2064. ypSyncdataList.append(SyncRep(uuid,jsonstr));
  2065. }
  2066. void Core::cnSyncData(int xh,QString uuid, QString jsonstr, int devCategory)
  2067. {
  2068. cnSyncdataLiet.append(CnSyncRep(xh,uuid,jsonstr,devCategory));
  2069. }
  2070. void Core::NewcnSyncData(int xh,QString uuid, QString jsonstr, int devCategory)
  2071. {
  2072. NewcnSyncdataLiet.append(NewCnSyncRep(xh,uuid,jsonstr,devCategory));
  2073. }
  2074. void Core::XfzdSyncData(int xh,QString uuid, QString jsonstr, int devCategory)
  2075. {
  2076. XfzdSyncdataLiet.append(XfzdSyncRep(xh,uuid,jsonstr,devCategory));
  2077. }
  2078. void Core::jaSyncData(int xh,QString uuid,QString jsonstr)
  2079. {
  2080. qDebug()<<jsonstr.toUtf8().data();
  2081. jaSyncdataLiet.append(JaSyncRep(xh,uuid,jsonstr));
  2082. }
  2083. void Core::hpSyncData(int xh,QString uuid,QString jsonstr)
  2084. {
  2085. qDebug()<<jsonstr.toUtf8().data();
  2086. hpSyncdataLiet.append(HpSyncRep(xh,uuid,jsonstr));
  2087. }
  2088. void Core::ypYwSyncData(int xh,QString uuid,QString jsonstr)
  2089. {
  2090. qDebug()<<jsonstr.toUtf8().data();
  2091. ypYwSyncDataList.append(YpYwSyncRep(xh,uuid,jsonstr));
  2092. }
  2093. void Core::SyncDisData(QString uuid, QString jsonstr)
  2094. {
  2095. ypSyncDisdataList.append(SyncRep(uuid,jsonstr));
  2096. }
  2097. void Core::SyncXyData(int xh,QString uuid, QString jsonstr)
  2098. {
  2099. ypSyncXydataList.append(YpXySyncRep(xh,uuid,jsonstr));
  2100. }
  2101. void Core::finishedSlot(QNetworkReply *reply)
  2102. {
  2103. if(ypSyncdataList.length()>0){
  2104. SyncRep rep = ypSyncdataList.first();
  2105. if(reply->error()==QNetworkReply::NoError){
  2106. ypCount=0;
  2107. QString bak_info = QString::fromUtf8(reply->readAll());
  2108. sqlList2.append(QString::fromUtf8("update `ypsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
  2109. .arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2110. }else
  2111. sqlList2.append(QString::fromUtf8("update `ypsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2112. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2113. ypSyncdataList.removeFirst();
  2114. }
  2115. reply->deleteLater();
  2116. isSending = false;
  2117. }
  2118. void Core::finishedSlot2(QNetworkReply *reply)
  2119. {
  2120. if(cnSyncdataLiet.length()>0){
  2121. CnSyncRep rep = cnSyncdataLiet.first();
  2122. if(reply->error()==QNetworkReply::NoError){
  2123. cnCount=0;
  2124. QString bak_info = QString::fromUtf8(reply->readAll());
  2125. sqlList2.append(QString::fromUtf8("update `cnsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
  2126. .arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2127. }else
  2128. sqlList2.append(QString::fromUtf8("update `cnsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2129. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2130. cnSyncdataLiet.removeFirst();
  2131. }
  2132. reply->deleteLater();
  2133. isSending2 = false;
  2134. }
  2135. void Core::finishedSlot3(QNetworkReply *reply)
  2136. {
  2137. if(jaSyncdataLiet.length()>0){
  2138. JaSyncRep rep = jaSyncdataLiet.first();
  2139. if(reply->error()==QNetworkReply::NoError){
  2140. jaCount=0;
  2141. QString bak_info = QString::fromUtf8(reply->readAll());
  2142. sqlList2.append(QString::fromUtf8("update `jasync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
  2143. .arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2144. // printf("%s\n",bak_info.toUtf8().data());
  2145. }else
  2146. sqlList2.append(QString::fromUtf8("update `jasync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2147. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2148. jaSyncdataLiet.removeFirst();
  2149. }
  2150. reply->deleteLater();
  2151. // printf("finishedSlot3 jawater start\n");
  2152. isSending3 = false;
  2153. }
  2154. void Core::finishedSlot4(QNetworkReply *reply)
  2155. {
  2156. if(ypSyncDisdataList.length()>0){
  2157. SyncRep rep = ypSyncDisdataList.first();
  2158. if(reply->error()==QNetworkReply::NoError){
  2159. ypdisCount=0;
  2160. QString bak_info = QString::fromUtf8(reply->readAll());
  2161. sqlList2.append(QString::fromUtf8("update `ypsync_t_rec_dis` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
  2162. .arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2163. }else
  2164. sqlList2.append(QString::fromUtf8("update `ypsync_t_rec_dis` set `reply_time`='%1' where `uuid`='%2'")
  2165. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2166. ypSyncDisdataList.removeFirst();
  2167. }
  2168. reply->deleteLater();
  2169. isSending4 = false;
  2170. }
  2171. void Core::finishedSlot5(QNetworkReply *reply)
  2172. {
  2173. if(ypSyncXydataList.length()>0){
  2174. YpXySyncRep rep = ypSyncXydataList.first();
  2175. if(reply->error()==QNetworkReply::NoError){
  2176. ypxyCount=0;
  2177. QString bak_info = QString::fromUtf8(reply->readAll());
  2178. sqlList2.append(QString::fromUtf8("update `ypsync_t_rec_xy` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
  2179. .arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2180. }else
  2181. sqlList2.append(QString::fromUtf8("update `ypsync_t_rec_xy` set `reply_time`='%1' where `uuid`='%2'")
  2182. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2183. ypSyncXydataList.removeFirst();
  2184. }
  2185. reply->deleteLater();
  2186. isSending5 = false;
  2187. }
  2188. void Core::finishedSlot6(QNetworkReply *reply)
  2189. {
  2190. if(hpSyncdataLiet.length()>0){
  2191. HpSyncRep rep = hpSyncdataLiet.first();
  2192. if(reply->error()==QNetworkReply::NoError){
  2193. hpCount=0;
  2194. QString bak_info = QString::fromUtf8(reply->readAll());
  2195. sqlList2.append(QString::fromUtf8("update `hpsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
  2196. .arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2197. // printf("%s\n",bak_info.toUtf8().data());
  2198. }else
  2199. sqlList2.append(QString::fromUtf8("update `hpsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2200. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2201. hpSyncdataLiet.removeFirst();
  2202. }
  2203. reply->deleteLater();
  2204. isSending6 = false;
  2205. }
  2206. void Core::finishedSlot7(QNetworkReply *reply)
  2207. {
  2208. if(NewcnSyncdataLiet.length()>0){
  2209. NewCnSyncRep rep = NewcnSyncdataLiet.first();
  2210. if(reply->error()==QNetworkReply::NoError){
  2211. QString bak_info = QString::fromUtf8(reply->readAll());
  2212. sqlList2.append(QString::fromUtf8("update `newcnsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
  2213. .arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2214. // printf("%s\n",bak_info.toUtf8().data());
  2215. }else
  2216. sqlList2.append(QString::fromUtf8("update `newcnsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2217. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2218. NewcnSyncdataLiet.removeFirst();
  2219. }
  2220. reply->deleteLater();
  2221. isSending7 = false;
  2222. }
  2223. void Core::finishedSlot8(QNetworkReply *reply)
  2224. {
  2225. if(ypYwSyncDataList.length()>0){
  2226. YpYwSyncRep rep = ypYwSyncDataList.first();
  2227. if(reply->error()==QNetworkReply::NoError){
  2228. QString bak_info = QString::fromUtf8(reply->readAll());
  2229. sqlList2.append(QString::fromUtf8("update `ypywsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
  2230. .arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2231. // printf("%s\n",bak_info.toUtf8().data());
  2232. }else
  2233. sqlList2.append(QString::fromUtf8("update `ypywsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2234. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2235. ypYwSyncDataList.removeFirst();
  2236. }
  2237. reply->deleteLater();
  2238. isSending8 = false;
  2239. }
  2240. void Core::finishedSlot9(QNetworkReply *reply)
  2241. {
  2242. if(XfzdSyncdataLiet.length()>0){
  2243. XfzdSyncRep rep = XfzdSyncdataLiet.first();
  2244. if(reply->error()==QNetworkReply::NoError){
  2245. QString bak_info = QString::fromUtf8(reply->readAll());
  2246. sqlList2.append(QString::fromUtf8("update `xfzdsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
  2247. .arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2248. // printf("%s\n",bak_info.toUtf8().data());
  2249. }else
  2250. sqlList2.append(QString::fromUtf8("update `xfzdsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2251. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2252. XfzdSyncdataLiet.removeFirst();
  2253. }
  2254. reply->deleteLater();
  2255. isSending9 = false;
  2256. }
  2257. void Core::reply_timeout()
  2258. {
  2259. if(ypSyncdataList.length()>0){
  2260. SyncRep rep = ypSyncdataList.first();
  2261. sqlList2.append(QString::fromUtf8("update `ypsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2262. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2263. ypSyncdataList.removeFirst();
  2264. }
  2265. isSending = false;
  2266. }
  2267. void Core::reply_timeout2()
  2268. {
  2269. if(cnSyncdataLiet.length()>0){
  2270. CnSyncRep rep = cnSyncdataLiet.first();
  2271. sqlList2.append(QString::fromUtf8("update `cnsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2272. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2273. cnSyncdataLiet.removeFirst();
  2274. }
  2275. isSending2 = false;
  2276. }
  2277. void Core::reply_timeout3()
  2278. {
  2279. if(jaSyncdataLiet.length()>0){
  2280. JaSyncRep rep = jaSyncdataLiet.first();
  2281. sqlList2.append(QString::fromUtf8("update `jasync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2282. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2283. jaSyncdataLiet.removeFirst();
  2284. // printf("replytimeout jawater start\n");
  2285. }
  2286. isSending3 = false;
  2287. // printf("replytimeoutafter jawater start\n");
  2288. }
  2289. void Core::reply_timeout4()
  2290. {
  2291. if(ypSyncDisdataList.length()>0){
  2292. SyncRep rep = ypSyncDisdataList.first();
  2293. sqlList2.append(QString::fromUtf8("update `ypsync_t_rec_dis` set `reply_time`='%1' where `uuid`='%2'")
  2294. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2295. ypSyncDisdataList.removeFirst();
  2296. }
  2297. isSending4 = false;
  2298. }
  2299. void Core::reply_timeout5()
  2300. {
  2301. if(ypSyncXydataList.length()>0){
  2302. YpXySyncRep rep = ypSyncXydataList.first();
  2303. sqlList2.append(QString::fromUtf8("update `ypsync_t_rec_xy` set `reply_time`='%1' where `uuid`='%2'")
  2304. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2305. ypSyncXydataList.removeFirst();
  2306. }
  2307. isSending5 = false;
  2308. }
  2309. void Core::reply_timeout6()
  2310. {
  2311. if(hpSyncdataLiet.length()>0){
  2312. HpSyncRep rep = hpSyncdataLiet.first();
  2313. sqlList2.append(QString::fromUtf8("update `hpsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2314. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2315. hpSyncdataLiet.removeFirst();
  2316. }
  2317. isSending6 = false;
  2318. }
  2319. void Core::reply_timeout7()
  2320. {
  2321. if(NewcnSyncdataLiet.length()>0){
  2322. NewCnSyncRep rep = NewcnSyncdataLiet.first();
  2323. sqlList2.append(QString::fromUtf8("update `newcnsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2324. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2325. NewcnSyncdataLiet.removeFirst();
  2326. }
  2327. isSending7 = false;
  2328. }
  2329. void Core::reply_timeout8()
  2330. {
  2331. if(ypYwSyncDataList.length()>0){
  2332. YpYwSyncRep rep = ypYwSyncDataList.first();
  2333. sqlList2.append(QString::fromUtf8("update `ypywsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2334. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2335. ypYwSyncDataList.removeFirst();
  2336. }
  2337. isSending8 = false;
  2338. }
  2339. void Core::reply_timeout9()
  2340. {
  2341. if(XfzdSyncdataLiet.length()>0){
  2342. XfzdSyncRep rep = XfzdSyncdataLiet.first();
  2343. sqlList2.append(QString::fromUtf8("update `xfzdsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
  2344. .arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
  2345. XfzdSyncdataLiet.removeFirst();
  2346. }
  2347. isSending9 = false;
  2348. }
  2349. void Core::time_out()
  2350. {
  2351. QSqlQuery qry;
  2352. QSqlQuery qry1;
  2353. int ret = 0;
  2354. // printf("core time_out start\n");
  2355. time_t tmp_time = time(static_cast<time_t *>(nullptr));
  2356. ytShm->updatetime[CORE_MAIN] = tmp_time;
  2357. if(!mdbOpened)
  2358. {
  2359. mdbOpened = mdb.open();
  2360. }
  2361. if(isRunning)
  2362. return;
  2363. isRunning = true;
  2364. if((tmp_time-jaworktime)>=1800){
  2365. // printf("core worktime start\n");
  2366. jaworktime=tmp_time;
  2367. jaDevList.clear();
  2368. qry = mdb.exec("select pid,bid,fid,tid,mid,zid,val,device_id,device_name,device_data,name,detection_id,sid,mainframe_id,mainframe_name,loop_number,position_number,report_time,device_type,company_code from sp_jingan_share");
  2369. while(qry.next()){
  2370. jaDevList.append(JASyncDev(qry.value(0).toString(),
  2371. qry.value(1).toString(),
  2372. qry.value(2).toString(),
  2373. qry.value(3).toString(),
  2374. qry.value(4).toString(),
  2375. qry.value(5).toString(),
  2376. qry.value(6).toInt(),
  2377. qry.value(7).toString(),
  2378. qry.value(8).toString(),
  2379. qry.value(9).toString().trimmed(),
  2380. qry.value(10).toString(),
  2381. qry.value(11).toString(),
  2382. qry.value(12).toString(),
  2383. qry.value(13).toString(),
  2384. qry.value(14).toString(),
  2385. qry.value(15).toString(),
  2386. qry.value(16).toString(),
  2387. qry.value(17).toString(),
  2388. qry.value(18).toInt(),
  2389. qry.value(19).toString()));
  2390. }
  2391. // printf("core jaworktime start\n");
  2392. qry.clear();
  2393. // cnDevList.clear();
  2394. // qry = mdb.exec("select owner_code,dwtype,object_code,start_port,rec_cur,object_name, ownBid, devCategory, type from sp_changning_share");
  2395. // while(qry.next()){
  2396. // cnDevList.append(CNSyncDev(qry.value(0).toString(),
  2397. // qry.value(5).toString(),
  2398. // qry.value(1).toString(),
  2399. // qry.value(2).toString(),
  2400. // qry.value(3).toString().trimmed(),
  2401. // qry.value(4).toUInt(),
  2402. // qry.value(6).toString(),
  2403. // qry.value(7).toInt(),
  2404. // qry.value(8).toInt()));
  2405. // }
  2406. // qry.clear();
  2407. syncXyDevList.clear();
  2408. qry = mdb.exec("select owner_code,owner_dwtype,object_code,start_port,rec_cur,object_name,device_name,company_code,company_name from sp_yangpuxy_share");
  2409. while(qry.next()){
  2410. syncXyDevList.append(YPSyncXyDev(qry.value(0).toString(),
  2411. qry.value(1).toInt(),
  2412. qry.value(2).toString(),
  2413. qry.value(3).toInt(),
  2414. qry.value(4).toUInt(),
  2415. qry.value(5).toString(),
  2416. qry.value(6).toString(),
  2417. qry.value(7).toString(),
  2418. qry.value(8).toString()));
  2419. }
  2420. // printf("core ypxyworktime start\n");
  2421. qry.clear();
  2422. hpDevList.clear();
  2423. qry = mdb.exec("select pid,bid,fid,tid,mid,zid,val,device_id,device_name,device_data,name,detection_id,sid,mainframe_id,mainframe_name,loop_number,position_number,report_time,device_type,company_code from sp_huangpu_share");
  2424. while(qry.next()){
  2425. hpDevList.append(HPSyncDev(qry.value(0).toString(),
  2426. qry.value(1).toString(),
  2427. qry.value(2).toString(),
  2428. qry.value(3).toString(),
  2429. qry.value(4).toString(),
  2430. qry.value(5).toString(),
  2431. qry.value(6).toInt(),
  2432. qry.value(7).toString(),
  2433. qry.value(8).toString(),
  2434. qry.value(9).toString().trimmed(),
  2435. qry.value(10).toString(),
  2436. qry.value(11).toString(),
  2437. qry.value(12).toString(),
  2438. qry.value(13).toString(),
  2439. qry.value(14).toString(),
  2440. qry.value(15).toString(),
  2441. qry.value(16).toString(),
  2442. qry.value(17).toString(),
  2443. qry.value(18).toInt(),
  2444. qry.value(19).toString()));
  2445. }
  2446. // printf("core hpworktime start\n");
  2447. qry.clear();
  2448. NewcnDevList.clear();
  2449. qry = mdb.exec("select device_code,device_name,descript,device_type,device_type_name,open_project_id, dwtype, data, port from sp_new_changning_share");
  2450. while(qry.next()){
  2451. NewcnDevList.append(NewCNSyncDev(qry.value(0).toString(),
  2452. qry.value(1).toString(),
  2453. qry.value(2).toString(),
  2454. qry.value(3).toInt(),
  2455. qry.value(4).toString(),
  2456. qry.value(5).toString(),
  2457. qry.value(6).toInt(),
  2458. qry.value(7).toString().trimmed(),
  2459. qry.value(8).toString()));
  2460. }
  2461. // printf("core newcnworktime start\n");
  2462. qry.clear();
  2463. // thread->set_cndevlist(cnDevList);
  2464. for(int i=0;i<jaDevList.length();i++){
  2465. time_t tmp_time = time(static_cast<time_t *>(nullptr));
  2466. ytShm->updatetime[CORE_MAIN] = tmp_time;
  2467. JASyncDev cndev = jaDevList.at(i);
  2468. time_t myt=time(NULL);
  2469. QString jdata = "";
  2470. if(cndev.Device_type==2){
  2471. QString sql = QString("select point_code, point_data, dwtype, data_time from sp_owner_status where device_id=%1").arg(cndev.Device_id);
  2472. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  2473. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  2474. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  2475. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  2476. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  2477. jdata.append(QString(",\"pid\":\"%1\"").arg(cndev.Pid));
  2478. jdata.append(QString(",\"bid\":\"%1\"").arg(cndev.Bid));
  2479. jdata.append(QString(",\"fid\":\"%1\"").arg(cndev.Fid));
  2480. jdata.append(QString(",\"zid\":\"%1\"").arg(cndev.Zid));
  2481. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  2482. qry = mdb.exec(sql);
  2483. if(jaDevList.at(i).Device_data.length()>0){
  2484. jdata.append(QString(",\"mid\":\"%1\"").arg(cndev.Mid));
  2485. jdata.append(QString(",\"device_name\":\"%1\"").arg(cndev.Device_name));
  2486. jdata.append(QString(",\"device_id\":\"%1\"").arg(cndev.Device_id));
  2487. QJsonParseError json_error;
  2488. QJsonArray jajsonArray;
  2489. QJsonDocument jsonDoc(QJsonDocument::fromJson(jaDevList.at(i).Device_data.toUtf8(),&json_error));
  2490. QJsonObject jaobj;
  2491. QJsonObject jaobj2;
  2492. QJsonObject jaobj3;
  2493. if(json_error.error == QJsonParseError::NoError){
  2494. while(qry.next()){
  2495. if(qry.value(2).toInt()==2){
  2496. if(qry.value(0).toInt()==4){
  2497. QJsonArray json_root = jsonDoc.array();
  2498. if(json_root.size()>1){
  2499. QString qryval = qry.value(1).toString();
  2500. float num = qryval.toFloat();
  2501. QJsonObject obj = json_root.at(0).toObject();
  2502. QJsonObject obj2 = json_root.at(1).toObject();
  2503. QJsonObject obj3 = json_root.at(2).toObject();
  2504. jaobj.insert("attr_id", obj.value("attr_id"));
  2505. jaobj.insert("attr_val", obj.value("attr_val"));
  2506. jaobj2.insert("attr_id", obj2.value("attr_id"));
  2507. jaobj2.insert("attr_val", qry.value(1).toString());
  2508. jaobj3.insert("attr_id", obj3.value("attr_id"));
  2509. jaobj3.insert("attr_val", obj3.value("attr_val"));
  2510. jajsonArray.append(jaobj);
  2511. jajsonArray.append(jaobj2);
  2512. jajsonArray.append(jaobj3);
  2513. }else{
  2514. QJsonObject obj = json_root.at(0).toObject();
  2515. jaobj.insert("attr_id", obj.value("attr_id"));
  2516. jaobj.insert("attr_val", qry.value(1).toString());
  2517. jajsonArray.append(jaobj);
  2518. }
  2519. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  2520. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  2521. jasign.append(QString("bid%1").arg(cndev.Bid));
  2522. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  2523. jasign.append(QString("device_id%1").arg(cndev.Device_id));
  2524. jasign.append(QString("device_name%1").arg(cndev.Device_name));
  2525. jasign.append(QString("fid%1").arg(cndev.Fid));
  2526. jasign.append(QString("format%1").arg("json"));
  2527. jasign.append(QString("mid%1").arg(cndev.Mid));
  2528. jasign.append(QString("pid%1").arg(cndev.Pid));
  2529. jasign.append(QString("report_time%1").arg(myt));
  2530. jasign.append(QString("sign_method%1").arg("md5"));
  2531. jasign.append(QString("timestamp%1").arg(myt));
  2532. jasign.append(QString("v%1").arg("1.0"));
  2533. jasign.append(QString("zid%1").arg(cndev.Zid));
  2534. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  2535. char md5str[33];
  2536. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  2537. md5str[32]='\0';
  2538. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  2539. }
  2540. }
  2541. }
  2542. }
  2543. }
  2544. QString jasign2=jdata.replace("\r","").replace("\n","").replace(" ","");
  2545. jaSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign2+"}");
  2546. }else if(cndev.Device_type==6){
  2547. QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(cndev.Device_id);
  2548. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  2549. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  2550. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  2551. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  2552. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  2553. jdata.append(QString(",\"pid\":\"%1\"").arg(cndev.Pid));
  2554. jdata.append(QString(",\"bid\":\"%1\"").arg(cndev.Bid));
  2555. jdata.append(QString(",\"fid\":\"%1\"").arg(cndev.Fid));
  2556. jdata.append(QString(",\"zid\":\"%1\"").arg(cndev.Zid));
  2557. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  2558. qry = mdb.exec(sql);
  2559. jdata.append(QString(",\"mid\":\"%1\"").arg(cndev.Mid));
  2560. jdata.append(QString(",\"device_name\":\"%1\"").arg(cndev.Device_name));
  2561. QList<JaPno> pnoList = getJaPnoValue(jaDevList.at(i).Device_data);
  2562. QJsonArray jajsonArray;
  2563. for(int i=0;i<pnoList.length();i++){
  2564. if(pnoList.at(i).Pno==0){
  2565. QJsonObject jaobjRTU;
  2566. jaobjRTU.insert("attr_id", pnoList.at(i).Attr);
  2567. jaobjRTU.insert("attr_val", pnoList.at(i).Default1);
  2568. jajsonArray.append(jaobjRTU);
  2569. }
  2570. }
  2571. QString device_code;
  2572. while(qry.next()){
  2573. for(int i=0;i<pnoList.length();i++){
  2574. if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
  2575. device_code=QString("%1%2").arg(cndev.Device_id).arg(cndev.Val);
  2576. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("自动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("停止"))==0){
  2577. QJsonObject jaobjRTU1;
  2578. jaobjRTU1.insert("attr_id", pnoList.at(i).Attr);
  2579. jaobjRTU1.insert("attr_val", pnoList.at(i).Default1);
  2580. jajsonArray.append(jaobjRTU1);
  2581. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("关闭"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("手动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("运行"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("故障"))==0){
  2582. QJsonObject jaobjRTU2;
  2583. jaobjRTU2.insert("attr_id", pnoList.at(i).Attr);
  2584. jaobjRTU2.insert("attr_val", pnoList.at(i).Default2);
  2585. jajsonArray.append(jaobjRTU2);
  2586. }else{
  2587. QJsonObject jaobjRTU3;
  2588. jaobjRTU3.insert("attr_id", pnoList.at(i).Attr);
  2589. jaobjRTU3.insert("attr_val", pnoList.at(i).Default1);
  2590. jajsonArray.append(jaobjRTU3);
  2591. }
  2592. break;
  2593. }
  2594. }
  2595. }
  2596. jdata.append(QString(",\"device_id\":\"%1\"").arg(device_code));
  2597. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  2598. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  2599. jasign.append(QString("bid%1").arg(cndev.Bid));
  2600. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  2601. jasign.append(QString("device_id%1").arg(device_code));
  2602. jasign.append(QString("device_name%1").arg(cndev.Device_name));
  2603. jasign.append(QString("fid%1").arg(cndev.Fid));
  2604. jasign.append(QString("format%1").arg("json"));
  2605. jasign.append(QString("mid%1").arg(cndev.Mid));
  2606. jasign.append(QString("pid%1").arg(cndev.Pid));
  2607. jasign.append(QString("report_time%1").arg(myt));
  2608. jasign.append(QString("sign_method%1").arg("md5"));
  2609. jasign.append(QString("timestamp%1").arg(myt));
  2610. jasign.append(QString("v%1").arg("1.0"));
  2611. jasign.append(QString("zid%1").arg(cndev.Zid));
  2612. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  2613. char md5str[33];
  2614. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  2615. md5str[32]='\0';
  2616. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  2617. QString jasign3=jdata.replace("\r","").replace("\n","").replace(" ","");
  2618. jaSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  2619. }else if(cndev.Device_type==1){
  2620. // QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(cndev.Device_id);
  2621. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  2622. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  2623. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  2624. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  2625. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  2626. jdata.append(QString(",\"pid\":\"%1\"").arg(cndev.Pid));
  2627. jdata.append(QString(",\"bid\":\"%1\"").arg(cndev.Bid));
  2628. jdata.append(QString(",\"fid\":\"%1\"").arg(cndev.Fid));
  2629. jdata.append(QString(",\"zid\":\"%1\"").arg(cndev.Zid));
  2630. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  2631. // qry = mdb.exec(sql);
  2632. jdata.append(QString(",\"mid\":\"%1\"").arg(cndev.Mid));
  2633. jdata.append(QString(",\"device_name\":\"%1\"").arg(cndev.Device_name));
  2634. jdata.append(QString(",\"device_id\":\"%1\"").arg("10"+cndev.Device_id));
  2635. QJsonParseError json_error;
  2636. QJsonArray jajsonArray;
  2637. QJsonDocument jsonDoc(QJsonDocument::fromJson(jaDevList.at(i).Device_data.toUtf8(),&json_error));
  2638. QJsonObject jaobj;
  2639. QJsonObject jaobj2;
  2640. QJsonObject jaobj3;
  2641. QJsonObject jaobj4;
  2642. QJsonObject jaobj5;
  2643. QJsonObject jaobj6;
  2644. if(json_error.error == QJsonParseError::NoError){
  2645. QJsonArray json_root = jsonDoc.array();
  2646. if(json_root.size()>1){
  2647. QJsonObject obj = json_root.at(0).toObject();
  2648. QJsonObject obj2 = json_root.at(1).toObject();
  2649. QJsonObject obj3 = json_root.at(2).toObject();
  2650. QJsonObject obj4 = json_root.at(3).toObject();
  2651. QJsonObject obj5 = json_root.at(4).toObject();
  2652. QJsonObject obj6 = json_root.at(5).toObject();
  2653. jaobj.insert("attr_id", obj.value("attr"));
  2654. jaobj.insert("attr_val", obj.value("default1"));
  2655. jaobj2.insert("attr_id", obj2.value("attr"));
  2656. jaobj2.insert("attr_val", obj2.value("default1"));
  2657. jaobj3.insert("attr_id", obj3.value("attr"));
  2658. jaobj3.insert("attr_val", obj3.value("default1"));
  2659. jaobj4.insert("attr_id", obj4.value("attr"));
  2660. jaobj4.insert("attr_val", obj4.value("default1"));
  2661. jaobj5.insert("attr_id", obj5.value("attr"));
  2662. jaobj5.insert("attr_val", obj5.value("default1"));
  2663. jaobj6.insert("attr_id", obj6.value("attr"));
  2664. jaobj6.insert("attr_val", obj6.value("default1"));
  2665. jajsonArray.append(jaobj);
  2666. jajsonArray.append(jaobj2);
  2667. jajsonArray.append(jaobj3);
  2668. jajsonArray.append(jaobj4);
  2669. jajsonArray.append(jaobj5);
  2670. jajsonArray.append(jaobj6);
  2671. }
  2672. }
  2673. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  2674. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  2675. jasign.append(QString("bid%1").arg(cndev.Bid));
  2676. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  2677. jasign.append(QString("device_id%1").arg("10"+cndev.Device_id));
  2678. jasign.append(QString("device_name%1").arg(cndev.Device_name));
  2679. jasign.append(QString("fid%1").arg(cndev.Fid));
  2680. jasign.append(QString("format%1").arg("json"));
  2681. jasign.append(QString("mid%1").arg(cndev.Mid));
  2682. jasign.append(QString("pid%1").arg(cndev.Pid));
  2683. jasign.append(QString("report_time%1").arg(myt));
  2684. jasign.append(QString("sign_method%1").arg("md5"));
  2685. jasign.append(QString("timestamp%1").arg(myt));
  2686. jasign.append(QString("v%1").arg("1.0"));
  2687. jasign.append(QString("zid%1").arg(cndev.Zid));
  2688. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  2689. char md5str[33];
  2690. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  2691. md5str[32]='\0';
  2692. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  2693. QString jasign4=jdata.replace("\r","").replace("\n","").replace(" ","");
  2694. jaSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign4+"}");
  2695. }else if(cndev.Device_type==7){
  2696. QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(cndev.Device_id);
  2697. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  2698. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  2699. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  2700. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  2701. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  2702. jdata.append(QString(",\"pid\":\"%1\"").arg(cndev.Pid));
  2703. jdata.append(QString(",\"bid\":\"%1\"").arg(cndev.Bid));
  2704. jdata.append(QString(",\"fid\":\"%1\"").arg(cndev.Fid));
  2705. jdata.append(QString(",\"zid\":\"%1\"").arg(cndev.Zid));
  2706. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  2707. qry = mdb.exec(sql);
  2708. jdata.append(QString(",\"mid\":\"%1\"").arg(cndev.Mid));
  2709. jdata.append(QString(",\"device_name\":\"%1\"").arg(cndev.Device_name));
  2710. QList<JaPno> pnoList = getJaPnoValue(jaDevList.at(i).Device_data);
  2711. QJsonArray jajsonArray;
  2712. // for(int i=0;i<pnoList.length();i++){
  2713. // if(pnoList.at(i).Pno==0){
  2714. // QJsonObject jaobjRTU;
  2715. // jaobjRTU.insert("attr_id", pnoList.at(i).Attr);
  2716. // jaobjRTU.insert("attr_val", pnoList.at(i).Default1);
  2717. // jajsonArray.append(jaobjRTU);
  2718. // }
  2719. // }
  2720. QString device_code;
  2721. while(qry.next()){
  2722. for(int i=0;i<pnoList.length();i++){
  2723. if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
  2724. device_code=QString("%1%2").arg(cndev.Device_id).arg(cndev.Val);
  2725. if(pnoList.at(i).Default1.indexOf(QString::fromUtf8("正常"))==0){
  2726. if(qry.value(1).toInt()==0){
  2727. QJsonObject jaobjRTU1;
  2728. jaobjRTU1.insert("attr_id", pnoList.at(i).Attr);
  2729. jaobjRTU1.insert("attr_val", 0);
  2730. jajsonArray.append(jaobjRTU1);
  2731. }else{
  2732. QJsonObject jaobjRTU2;
  2733. jaobjRTU2.insert("attr_id", pnoList.at(i).Attr);
  2734. jaobjRTU2.insert("attr_val", 300);
  2735. jajsonArray.append(jaobjRTU2);
  2736. }
  2737. }else{
  2738. QJsonObject jaobjRTU;
  2739. jaobjRTU.insert("attr_id", pnoList.at(i).Attr);
  2740. jaobjRTU.insert("attr_val", qry.value(1).toString());
  2741. jajsonArray.append(jaobjRTU);
  2742. }
  2743. break;
  2744. }
  2745. }
  2746. }
  2747. jdata.append(QString(",\"device_id\":\"%1\"").arg(device_code));
  2748. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  2749. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  2750. jasign.append(QString("bid%1").arg(cndev.Bid));
  2751. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  2752. jasign.append(QString("device_id%1").arg(device_code));
  2753. jasign.append(QString("device_name%1").arg(cndev.Device_name));
  2754. jasign.append(QString("fid%1").arg(cndev.Fid));
  2755. jasign.append(QString("format%1").arg("json"));
  2756. jasign.append(QString("mid%1").arg(cndev.Mid));
  2757. jasign.append(QString("pid%1").arg(cndev.Pid));
  2758. jasign.append(QString("report_time%1").arg(myt));
  2759. jasign.append(QString("sign_method%1").arg("md5"));
  2760. jasign.append(QString("timestamp%1").arg(myt));
  2761. jasign.append(QString("v%1").arg("1.0"));
  2762. jasign.append(QString("zid%1").arg(cndev.Zid));
  2763. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  2764. char md5str[33];
  2765. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  2766. md5str[32]='\0';
  2767. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  2768. QString jasign3=jdata.replace("\r","").replace("\n","").replace(" ","");
  2769. jaSyncData(3,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  2770. }else if(cndev.Device_type==4){
  2771. QString sql = QString("select point_code, point_data, dwtype, data_time from sp_owner_status where device_id=%1").arg(cndev.Device_id);
  2772. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  2773. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  2774. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  2775. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  2776. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  2777. jdata.append(QString(",\"pid\":\"%1\"").arg(cndev.Pid));
  2778. jdata.append(QString(",\"bid\":\"%1\"").arg(cndev.Bid));
  2779. jdata.append(QString(",\"fid\":\"%1\"").arg(cndev.Fid));
  2780. jdata.append(QString(",\"zid\":\"%1\"").arg(cndev.Zid));
  2781. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  2782. qry = mdb.exec(sql);
  2783. if(jaDevList.at(i).Device_data.length()>0){
  2784. jdata.append(QString(",\"mid\":\"%1\"").arg(cndev.Mid));
  2785. jdata.append(QString(",\"device_name\":\"%1\"").arg(cndev.Device_name));
  2786. jdata.append(QString(",\"device_id\":\"%1\"").arg(cndev.Device_id));
  2787. QJsonParseError json_error;
  2788. QJsonArray jajsonArray;
  2789. QJsonDocument jsonDoc(QJsonDocument::fromJson(jaDevList.at(i).Device_data.toUtf8(),&json_error));
  2790. QJsonObject jaobj;
  2791. QJsonObject jaobj2;
  2792. QJsonObject jaobj3;
  2793. if(json_error.error == QJsonParseError::NoError){
  2794. while(qry.next()){
  2795. if(qry.value(2).toInt()==2){
  2796. if(qry.value(0).toInt()==4){
  2797. QJsonArray json_root = jsonDoc.array();
  2798. if(json_root.size()>1){
  2799. QString qryval = qry.value(1).toString();
  2800. float num = qryval.toFloat();
  2801. QJsonObject obj = json_root.at(0).toObject();
  2802. QJsonObject obj2 = json_root.at(1).toObject();
  2803. QJsonObject obj3 = json_root.at(2).toObject();
  2804. jaobj.insert("attr_id", obj.value("attr_id"));
  2805. jaobj.insert("attr_val", obj.value("attr_val"));
  2806. jaobj2.insert("attr_id", obj2.value("attr_id"));
  2807. jaobj2.insert("attr_val", qry.value(1).toString());
  2808. jaobj3.insert("attr_id", obj3.value("attr_id"));
  2809. jaobj3.insert("attr_val", obj3.value("attr_val"));
  2810. jajsonArray.append(jaobj);
  2811. jajsonArray.append(jaobj2);
  2812. jajsonArray.append(jaobj3);
  2813. }else{
  2814. QJsonObject obj = json_root.at(0).toObject();
  2815. jaobj.insert("attr_id", obj.value("attr_id"));
  2816. jaobj.insert("attr_val", qry.value(1).toString());
  2817. jajsonArray.append(jaobj);
  2818. }
  2819. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  2820. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  2821. jasign.append(QString("bid%1").arg(cndev.Bid));
  2822. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  2823. jasign.append(QString("device_id%1").arg(cndev.Device_id));
  2824. jasign.append(QString("device_name%1").arg(cndev.Device_name));
  2825. jasign.append(QString("fid%1").arg(cndev.Fid));
  2826. jasign.append(QString("format%1").arg("json"));
  2827. jasign.append(QString("mid%1").arg(cndev.Mid));
  2828. jasign.append(QString("pid%1").arg(cndev.Pid));
  2829. jasign.append(QString("report_time%1").arg(myt));
  2830. jasign.append(QString("sign_method%1").arg("md5"));
  2831. jasign.append(QString("timestamp%1").arg(myt));
  2832. jasign.append(QString("v%1").arg("1.0"));
  2833. jasign.append(QString("zid%1").arg(cndev.Zid));
  2834. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  2835. char md5str[33];
  2836. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  2837. md5str[32]='\0';
  2838. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  2839. }
  2840. }
  2841. }
  2842. }
  2843. }
  2844. QString jasign2=jdata.replace("\r","").replace("\n","").replace(" ","");
  2845. jaSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign2+"}");
  2846. }else if(cndev.Device_type==5){
  2847. QString sql = QString("select point_code, point_data, dwtype, data_time from sp_owner_status where device_id=%1").arg(cndev.Device_id);
  2848. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  2849. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  2850. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  2851. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  2852. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  2853. jdata.append(QString(",\"pid\":\"%1\"").arg(cndev.Pid));
  2854. jdata.append(QString(",\"bid\":\"%1\"").arg(cndev.Bid));
  2855. jdata.append(QString(",\"fid\":\"%1\"").arg(cndev.Fid));
  2856. jdata.append(QString(",\"zid\":\"%1\"").arg(cndev.Zid));
  2857. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  2858. qry = mdb.exec(sql);
  2859. if(jaDevList.at(i).Device_data.length()>0){
  2860. jdata.append(QString(",\"mid\":\"%1\"").arg(cndev.Mid));
  2861. jdata.append(QString(",\"device_name\":\"%1\"").arg(cndev.Device_name));
  2862. jdata.append(QString(",\"device_id\":\"%1\"").arg(cndev.Device_id));
  2863. QJsonParseError json_error;
  2864. QJsonArray jajsonArray;
  2865. QJsonDocument jsonDoc(QJsonDocument::fromJson(jaDevList.at(i).Device_data.toUtf8(),&json_error));
  2866. QJsonObject jaobj;
  2867. QJsonObject jaobj2;
  2868. QJsonObject jaobj3;
  2869. if(json_error.error == QJsonParseError::NoError){
  2870. while(qry.next()){
  2871. if(qry.value(2).toInt()==5){
  2872. if(qry.value(0).toInt()==4){
  2873. QJsonArray json_root = jsonDoc.array();
  2874. QJsonObject obj = json_root.at(0).toObject();
  2875. jaobj.insert("attr_id", obj.value("attr_id"));
  2876. jaobj.insert("attr_val", qry.value(1).toString());
  2877. jajsonArray.append(jaobj);
  2878. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  2879. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  2880. jasign.append(QString("bid%1").arg(cndev.Bid));
  2881. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  2882. jasign.append(QString("device_id%1").arg(cndev.Device_id));
  2883. jasign.append(QString("device_name%1").arg(cndev.Device_name));
  2884. jasign.append(QString("fid%1").arg(cndev.Fid));
  2885. jasign.append(QString("format%1").arg("json"));
  2886. jasign.append(QString("mid%1").arg(cndev.Mid));
  2887. jasign.append(QString("pid%1").arg(cndev.Pid));
  2888. jasign.append(QString("report_time%1").arg(myt));
  2889. jasign.append(QString("sign_method%1").arg("md5"));
  2890. jasign.append(QString("timestamp%1").arg(myt));
  2891. jasign.append(QString("v%1").arg("1.0"));
  2892. jasign.append(QString("zid%1").arg(cndev.Zid));
  2893. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  2894. char md5str[33];
  2895. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  2896. md5str[32]='\0';
  2897. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  2898. }
  2899. }
  2900. }
  2901. }
  2902. }
  2903. QString jasign2=jdata.replace("\r","").replace("\n","").replace(" ","");
  2904. jaSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign2+"}");
  2905. }else if(cndev.Device_type==15){
  2906. // logThread->appendData(QString("jinruceshi[%1]=====").arg("进来了"));
  2907. QString sql = QString("select point_code, point_data, dwtype, data_time from sp_owner_status where device_id=%1").arg(cndev.Device_id);
  2908. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  2909. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  2910. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  2911. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  2912. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  2913. jdata.append(QString(",\"pid\":\"%1\"").arg(cndev.Pid));
  2914. jdata.append(QString(",\"bid\":\"%1\"").arg(cndev.Bid));
  2915. jdata.append(QString(",\"fid\":\"%1\"").arg(cndev.Fid));
  2916. jdata.append(QString(",\"zid\":\"%1\"").arg(cndev.Zid));
  2917. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  2918. qry = mdb.exec(sql);
  2919. if(jaDevList.at(i).Device_data.length()>0){
  2920. jdata.append(QString(",\"mid\":\"%1\"").arg(cndev.Mid));
  2921. jdata.append(QString(",\"device_name\":\"%1\"").arg(cndev.Device_name));
  2922. jdata.append(QString(",\"device_id\":\"%1\"").arg(cndev.Device_id));
  2923. QJsonParseError json_error;
  2924. QJsonArray jajsonArray;
  2925. QJsonDocument jsonDoc(QJsonDocument::fromJson(jaDevList.at(i).Device_data.toUtf8(),&json_error));
  2926. QJsonObject jaobj;
  2927. QJsonObject jaobj2;
  2928. QJsonObject jaobj3;
  2929. if(json_error.error == QJsonParseError::NoError){
  2930. while(qry.next()){
  2931. if(qry.value(2).toInt()==5){
  2932. if(qry.value(0).toInt()==4){
  2933. QJsonArray json_root = jsonDoc.array();
  2934. QJsonObject obj = json_root.at(0).toObject();
  2935. jaobj.insert("attr_id", obj.value("attr_id"));
  2936. jaobj.insert("attr_val", qry.value(1).toString());
  2937. jajsonArray.append(jaobj);
  2938. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  2939. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  2940. jasign.append(QString("bid%1").arg(cndev.Bid));
  2941. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  2942. jasign.append(QString("device_id%1").arg(cndev.Device_id));
  2943. jasign.append(QString("device_name%1").arg(cndev.Device_name));
  2944. jasign.append(QString("fid%1").arg(cndev.Fid));
  2945. jasign.append(QString("format%1").arg("json"));
  2946. jasign.append(QString("mid%1").arg(cndev.Mid));
  2947. jasign.append(QString("pid%1").arg(cndev.Pid));
  2948. jasign.append(QString("report_time%1").arg(myt));
  2949. jasign.append(QString("sign_method%1").arg("md5"));
  2950. jasign.append(QString("timestamp%1").arg(myt));
  2951. jasign.append(QString("v%1").arg("1.0"));
  2952. jasign.append(QString("zid%1").arg(cndev.Zid));
  2953. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  2954. char md5str[33];
  2955. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  2956. md5str[32]='\0';
  2957. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  2958. }
  2959. }
  2960. }
  2961. }
  2962. }
  2963. QString jasign2=jdata.replace("\r","").replace("\n","").replace(" ","");
  2964. // logThread->appendData(QString("jiesuceshi[%1]=====").arg(jasign2));
  2965. jaSyncData(3,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign2+"}");
  2966. }
  2967. }
  2968. for(int i=0;i<hpDevList.length();i++){
  2969. time_t tmp_time = time(static_cast<time_t *>(nullptr));
  2970. ytShm->updatetime[CORE_MAIN] = tmp_time;
  2971. HPSyncDev hpdev = hpDevList.at(i);
  2972. time_t myt=time(NULL);
  2973. QString jdata = "";
  2974. if(hpdev.Device_type==2){
  2975. QString sql = QString("select point_code, point_data, dwtype, data_time from sp_owner_status where device_id=%1").arg(hpdev.Device_id);
  2976. jdata.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  2977. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  2978. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  2979. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  2980. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  2981. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  2982. jdata.append(QString(",\"bid\":\"%1\"").arg(hpdev.Bid));
  2983. jdata.append(QString(",\"fid\":\"%1\"").arg(hpdev.Fid));
  2984. jdata.append(QString(",\"zid\":\"%1\"").arg(hpdev.Zid));
  2985. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  2986. qry = mdb.exec(sql);
  2987. if(hpDevList.at(i).Device_data.length()>0){
  2988. jdata.append(QString(",\"mid\":\"%1\"").arg(hpdev.Mid));
  2989. jdata.append(QString(",\"device_name\":\"%1\"").arg(hpdev.Device_name));
  2990. jdata.append(QString(",\"device_id\":\"%1\"").arg(hpdev.Device_id));
  2991. QJsonParseError json_error;
  2992. QJsonArray jajsonArray;
  2993. QJsonDocument jsonDoc(QJsonDocument::fromJson(hpDevList.at(i).Device_data.toUtf8(),&json_error));
  2994. QJsonObject jaobj;
  2995. QJsonObject jaobj2;
  2996. QJsonObject jaobj3;
  2997. if(json_error.error == QJsonParseError::NoError){
  2998. while(qry.next()){
  2999. if(qry.value(2).toInt()==2){
  3000. if(qry.value(0).toInt()==4){
  3001. QJsonArray json_root = jsonDoc.array();
  3002. if(json_root.size()>1){
  3003. QString qryval = qry.value(1).toString();
  3004. float num = qryval.toFloat();
  3005. QJsonObject obj = json_root.at(0).toObject();
  3006. QJsonObject obj2 = json_root.at(1).toObject();
  3007. QJsonObject obj3 = json_root.at(2).toObject();
  3008. jaobj.insert("attr_id", obj.value("attr_id"));
  3009. jaobj.insert("attr_val", obj.value("attr_val"));
  3010. jaobj2.insert("attr_id", obj2.value("attr_id"));
  3011. jaobj2.insert("attr_val", qry.value(1).toString());
  3012. jaobj3.insert("attr_id", obj3.value("attr_id"));
  3013. jaobj3.insert("attr_val", obj3.value("attr_val"));
  3014. jajsonArray.append(jaobj);
  3015. jajsonArray.append(jaobj2);
  3016. jajsonArray.append(jaobj3);
  3017. }else{
  3018. QJsonObject obj = json_root.at(0).toObject();
  3019. jaobj.insert("attr_id", obj.value("attr_id"));
  3020. jaobj.insert("attr_val", qry.value(1).toString());
  3021. jajsonArray.append(jaobj);
  3022. }
  3023. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  3024. QString jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  3025. jasign.append(QString("bid%1").arg(hpdev.Bid));
  3026. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  3027. jasign.append(QString("device_id%1").arg(hpdev.Device_id));
  3028. jasign.append(QString("device_name%1").arg(hpdev.Device_name));
  3029. jasign.append(QString("fid%1").arg(hpdev.Fid));
  3030. jasign.append(QString("format%1").arg("json"));
  3031. jasign.append(QString("mid%1").arg(hpdev.Mid));
  3032. jasign.append(QString("pid%1").arg(hpdev.Pid));
  3033. jasign.append(QString("report_time%1").arg(myt));
  3034. jasign.append(QString("sign_method%1").arg("md5"));
  3035. jasign.append(QString("timestamp%1").arg(myt));
  3036. jasign.append(QString("v%1").arg("1.0"));
  3037. jasign.append(QString("zid%1").arg(hpdev.Zid));
  3038. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  3039. char md5str[33];
  3040. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  3041. md5str[32]='\0';
  3042. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  3043. }
  3044. }
  3045. }
  3046. }
  3047. }
  3048. QString jasign2=jdata.replace("\r","").replace("\n","").replace(" ","");
  3049. hpSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign2+"}");
  3050. }else if(hpdev.Device_type==6){
  3051. QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(hpdev.Device_id);
  3052. jdata.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  3053. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  3054. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  3055. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  3056. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  3057. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  3058. jdata.append(QString(",\"bid\":\"%1\"").arg(hpdev.Bid));
  3059. jdata.append(QString(",\"fid\":\"%1\"").arg(hpdev.Fid));
  3060. jdata.append(QString(",\"zid\":\"%1\"").arg(hpdev.Zid));
  3061. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  3062. qry = mdb.exec(sql);
  3063. jdata.append(QString(",\"mid\":\"%1\"").arg(hpdev.Mid));
  3064. jdata.append(QString(",\"device_name\":\"%1\"").arg(hpdev.Device_name));
  3065. QList<JaPno> pnoList = getJaPnoValue(hpDevList.at(i).Device_data);
  3066. QJsonArray jajsonArray;
  3067. for(int i=0;i<pnoList.length();i++){
  3068. if(pnoList.at(i).Pno==0){
  3069. QJsonObject jaobjRTU;
  3070. jaobjRTU.insert("attr_id", pnoList.at(i).Attr);
  3071. jaobjRTU.insert("attr_val", pnoList.at(i).Default1);
  3072. jajsonArray.append(jaobjRTU);
  3073. }
  3074. }
  3075. QString device_code;
  3076. while(qry.next()){
  3077. for(int i=0;i<pnoList.length();i++){
  3078. if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
  3079. device_code=QString("%1%2").arg(hpdev.Device_id).arg(hpdev.Val);
  3080. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("自动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("停止"))==0){
  3081. QJsonObject jaobjRTU1;
  3082. jaobjRTU1.insert("attr_id", pnoList.at(i).Attr);
  3083. jaobjRTU1.insert("attr_val", pnoList.at(i).Default1);
  3084. jajsonArray.append(jaobjRTU1);
  3085. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("关闭"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("手动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("运行"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("故障"))==0){
  3086. QJsonObject jaobjRTU2;
  3087. jaobjRTU2.insert("attr_id", pnoList.at(i).Attr);
  3088. jaobjRTU2.insert("attr_val", pnoList.at(i).Default2);
  3089. jajsonArray.append(jaobjRTU2);
  3090. }else{
  3091. QJsonObject jaobjRTU3;
  3092. jaobjRTU3.insert("attr_id", pnoList.at(i).Attr);
  3093. jaobjRTU3.insert("attr_val", pnoList.at(i).Default1);
  3094. jajsonArray.append(jaobjRTU3);
  3095. }
  3096. break;
  3097. }
  3098. }
  3099. }
  3100. jdata.append(QString(",\"device_id\":\"%1\"").arg(device_code));
  3101. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  3102. QString jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  3103. jasign.append(QString("bid%1").arg(hpdev.Bid));
  3104. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  3105. jasign.append(QString("device_id%1").arg(device_code));
  3106. jasign.append(QString("device_name%1").arg(hpdev.Device_name));
  3107. jasign.append(QString("fid%1").arg(hpdev.Fid));
  3108. jasign.append(QString("format%1").arg("json"));
  3109. jasign.append(QString("mid%1").arg(hpdev.Mid));
  3110. jasign.append(QString("pid%1").arg(hpdev.Pid));
  3111. jasign.append(QString("report_time%1").arg(myt));
  3112. jasign.append(QString("sign_method%1").arg("md5"));
  3113. jasign.append(QString("timestamp%1").arg(myt));
  3114. jasign.append(QString("v%1").arg("1.0"));
  3115. jasign.append(QString("zid%1").arg(hpdev.Zid));
  3116. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  3117. char md5str[33];
  3118. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  3119. md5str[32]='\0';
  3120. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  3121. QString jasign3=jdata.replace("\r","").replace("\n","").replace(" ","");
  3122. hpSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  3123. }else if(hpdev.Device_type==1){
  3124. // QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(hpdev.Device_id);
  3125. jdata.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  3126. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  3127. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  3128. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  3129. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  3130. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  3131. jdata.append(QString(",\"bid\":\"%1\"").arg(hpdev.Bid));
  3132. jdata.append(QString(",\"fid\":\"%1\"").arg(hpdev.Fid));
  3133. jdata.append(QString(",\"zid\":\"%1\"").arg(hpdev.Zid));
  3134. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  3135. // qry = mdb.exec(sql);
  3136. jdata.append(QString(",\"mid\":\"%1\"").arg(hpdev.Mid));
  3137. jdata.append(QString(",\"device_name\":\"%1\"").arg(hpdev.Device_name));
  3138. jdata.append(QString(",\"device_id\":\"%1\"").arg("10"+hpdev.Device_id));
  3139. QJsonParseError json_error;
  3140. QJsonArray jajsonArray;
  3141. QJsonDocument jsonDoc(QJsonDocument::fromJson(hpDevList.at(i).Device_data.toUtf8(),&json_error));
  3142. QJsonObject jaobj;
  3143. QJsonObject jaobj2;
  3144. QJsonObject jaobj3;
  3145. QJsonObject jaobj4;
  3146. QJsonObject jaobj5;
  3147. QJsonObject jaobj6;
  3148. if(json_error.error == QJsonParseError::NoError){
  3149. QJsonArray json_root = jsonDoc.array();
  3150. if(json_root.size()>1){
  3151. QJsonObject obj = json_root.at(0).toObject();
  3152. QJsonObject obj2 = json_root.at(1).toObject();
  3153. QJsonObject obj3 = json_root.at(2).toObject();
  3154. QJsonObject obj4 = json_root.at(3).toObject();
  3155. QJsonObject obj5 = json_root.at(4).toObject();
  3156. QJsonObject obj6 = json_root.at(5).toObject();
  3157. jaobj.insert("attr_id", obj.value("attr"));
  3158. jaobj.insert("attr_val", obj.value("default1"));
  3159. jaobj2.insert("attr_id", obj2.value("attr"));
  3160. jaobj2.insert("attr_val", obj2.value("default1"));
  3161. jaobj3.insert("attr_id", obj3.value("attr"));
  3162. jaobj3.insert("attr_val", obj3.value("default1"));
  3163. jaobj4.insert("attr_id", obj4.value("attr"));
  3164. jaobj4.insert("attr_val", obj4.value("default1"));
  3165. jaobj5.insert("attr_id", obj5.value("attr"));
  3166. jaobj5.insert("attr_val", obj5.value("default1"));
  3167. jaobj6.insert("attr_id", obj6.value("attr"));
  3168. jaobj6.insert("attr_val", obj6.value("default1"));
  3169. jajsonArray.append(jaobj);
  3170. jajsonArray.append(jaobj2);
  3171. jajsonArray.append(jaobj3);
  3172. jajsonArray.append(jaobj4);
  3173. jajsonArray.append(jaobj5);
  3174. jajsonArray.append(jaobj6);
  3175. }
  3176. }
  3177. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  3178. QString jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  3179. jasign.append(QString("bid%1").arg(hpdev.Bid));
  3180. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  3181. jasign.append(QString("device_id%1").arg("10"+hpdev.Device_id));
  3182. jasign.append(QString("device_name%1").arg(hpdev.Device_name));
  3183. jasign.append(QString("fid%1").arg(hpdev.Fid));
  3184. jasign.append(QString("format%1").arg("json"));
  3185. jasign.append(QString("mid%1").arg(hpdev.Mid));
  3186. jasign.append(QString("pid%1").arg(hpdev.Pid));
  3187. jasign.append(QString("report_time%1").arg(myt));
  3188. jasign.append(QString("sign_method%1").arg("md5"));
  3189. jasign.append(QString("timestamp%1").arg(myt));
  3190. jasign.append(QString("v%1").arg("1.0"));
  3191. jasign.append(QString("zid%1").arg(hpdev.Zid));
  3192. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  3193. char md5str[33];
  3194. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  3195. md5str[32]='\0';
  3196. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  3197. QString jasign4=jdata.replace("\r","").replace("\n","").replace(" ","");
  3198. hpSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign4+"}");
  3199. }else if(hpdev.Device_type==7){
  3200. QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(hpdev.Device_id);
  3201. jdata.append(QString("\"app_key\":\"%1\"").arg("9e555b8b2244ebc1f59695824b86c5a0"));
  3202. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  3203. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  3204. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  3205. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  3206. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  3207. jdata.append(QString(",\"bid\":\"%1\"").arg(hpdev.Bid));
  3208. jdata.append(QString(",\"fid\":\"%1\"").arg(hpdev.Fid));
  3209. jdata.append(QString(",\"zid\":\"%1\"").arg(hpdev.Zid));
  3210. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  3211. qry = mdb.exec(sql);
  3212. jdata.append(QString(",\"mid\":\"%1\"").arg(hpdev.Mid));
  3213. jdata.append(QString(",\"device_name\":\"%1\"").arg(hpdev.Device_name));
  3214. QList<JaPno> pnoList = getJaPnoValue(hpDevList.at(i).Device_data);
  3215. QJsonArray jajsonArray;
  3216. QString device_code;
  3217. while(qry.next()){
  3218. for(int i=0;i<pnoList.length();i++){
  3219. if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
  3220. device_code=QString("%1%2").arg(hpdev.Device_id).arg(hpdev.Val);
  3221. if(pnoList.at(i).Default1.indexOf(QString::fromUtf8("正常"))==0){
  3222. if(qry.value(1).toInt()==0){
  3223. QJsonObject jaobjRTU1;
  3224. jaobjRTU1.insert("attr_id", pnoList.at(i).Attr);
  3225. jaobjRTU1.insert("attr_val", 0);
  3226. jajsonArray.append(jaobjRTU1);
  3227. }else{
  3228. QJsonObject jaobjRTU2;
  3229. jaobjRTU2.insert("attr_id", pnoList.at(i).Attr);
  3230. jaobjRTU2.insert("attr_val", 300);
  3231. jajsonArray.append(jaobjRTU2);
  3232. }
  3233. }else{
  3234. QJsonObject jaobjRTU;
  3235. jaobjRTU.insert("attr_id", pnoList.at(i).Attr);
  3236. jaobjRTU.insert("attr_val", qry.value(1).toString());
  3237. jajsonArray.append(jaobjRTU);
  3238. }
  3239. break;
  3240. }
  3241. }
  3242. }
  3243. jdata.append(QString(",\"device_id\":\"%1\"").arg(device_code));
  3244. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  3245. QString jasign = "ff6322b1163b11ea91d31bbf0a452a93app_key9e555b8b2244ebc1f59695824b86c5a0";
  3246. jasign.append(QString("bid%1").arg(hpdev.Bid));
  3247. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  3248. jasign.append(QString("device_id%1").arg(device_code));
  3249. jasign.append(QString("device_name%1").arg(hpdev.Device_name));
  3250. jasign.append(QString("fid%1").arg(hpdev.Fid));
  3251. jasign.append(QString("format%1").arg("json"));
  3252. jasign.append(QString("mid%1").arg(hpdev.Mid));
  3253. jasign.append(QString("pid%1").arg(hpdev.Pid));
  3254. jasign.append(QString("report_time%1").arg(myt));
  3255. jasign.append(QString("sign_method%1").arg("md5"));
  3256. jasign.append(QString("timestamp%1").arg(myt));
  3257. jasign.append(QString("v%1").arg("1.0"));
  3258. jasign.append(QString("zid%1").arg(hpdev.Zid));
  3259. jasign.append(QString("%1").arg("ff6322b1163b11ea91d31bbf0a452a93"));
  3260. char md5str[33];
  3261. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  3262. md5str[32]='\0';
  3263. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  3264. QString jasign3=jdata.replace("\r","").replace("\n","").replace(" ","");
  3265. hpSyncData(3,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign3+"}");
  3266. }else if(hpdev.Device_type==4){
  3267. QString sql = QString("select point_code, point_data, dwtype, data_time from sp_owner_status where device_id=%1").arg(hpdev.Device_id);
  3268. jdata.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  3269. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  3270. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  3271. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  3272. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  3273. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  3274. jdata.append(QString(",\"bid\":\"%1\"").arg(hpdev.Bid));
  3275. jdata.append(QString(",\"fid\":\"%1\"").arg(hpdev.Fid));
  3276. jdata.append(QString(",\"zid\":\"%1\"").arg(hpdev.Zid));
  3277. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  3278. qry = mdb.exec(sql);
  3279. if(hpDevList.at(i).Device_data.length()>0){
  3280. jdata.append(QString(",\"mid\":\"%1\"").arg(hpdev.Mid));
  3281. jdata.append(QString(",\"device_name\":\"%1\"").arg(hpdev.Device_name));
  3282. jdata.append(QString(",\"device_id\":\"%1\"").arg(hpdev.Device_id));
  3283. QJsonParseError json_error;
  3284. QJsonArray jajsonArray;
  3285. QJsonDocument jsonDoc(QJsonDocument::fromJson(hpDevList.at(i).Device_data.toUtf8(),&json_error));
  3286. QJsonObject jaobj;
  3287. QJsonObject jaobj2;
  3288. QJsonObject jaobj3;
  3289. if(json_error.error == QJsonParseError::NoError){
  3290. while(qry.next()){
  3291. if(qry.value(2).toInt()==2){
  3292. if(qry.value(0).toInt()==4){
  3293. QJsonArray json_root = jsonDoc.array();
  3294. if(json_root.size()>1){
  3295. QString qryval = qry.value(1).toString();
  3296. float num = qryval.toFloat();
  3297. QJsonObject obj = json_root.at(0).toObject();
  3298. QJsonObject obj2 = json_root.at(1).toObject();
  3299. QJsonObject obj3 = json_root.at(2).toObject();
  3300. jaobj.insert("attr_id", obj.value("attr_id"));
  3301. jaobj.insert("attr_val", obj.value("attr_val"));
  3302. jaobj2.insert("attr_id", obj2.value("attr_id"));
  3303. jaobj2.insert("attr_val", qry.value(1).toString());
  3304. jaobj3.insert("attr_id", obj3.value("attr_id"));
  3305. jaobj3.insert("attr_val", obj3.value("attr_val"));
  3306. jajsonArray.append(jaobj);
  3307. jajsonArray.append(jaobj2);
  3308. jajsonArray.append(jaobj3);
  3309. }else{
  3310. QJsonObject obj = json_root.at(0).toObject();
  3311. jaobj.insert("attr_id", obj.value("attr_id"));
  3312. jaobj.insert("attr_val", qry.value(1).toString());
  3313. jajsonArray.append(jaobj);
  3314. }
  3315. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  3316. QString jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  3317. jasign.append(QString("bid%1").arg(hpdev.Bid));
  3318. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  3319. jasign.append(QString("device_id%1").arg(hpdev.Device_id));
  3320. jasign.append(QString("device_name%1").arg(hpdev.Device_name));
  3321. jasign.append(QString("fid%1").arg(hpdev.Fid));
  3322. jasign.append(QString("format%1").arg("json"));
  3323. jasign.append(QString("mid%1").arg(hpdev.Mid));
  3324. jasign.append(QString("pid%1").arg(hpdev.Pid));
  3325. jasign.append(QString("report_time%1").arg(myt));
  3326. jasign.append(QString("sign_method%1").arg("md5"));
  3327. jasign.append(QString("timestamp%1").arg(myt));
  3328. jasign.append(QString("v%1").arg("1.0"));
  3329. jasign.append(QString("zid%1").arg(hpdev.Zid));
  3330. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  3331. char md5str[33];
  3332. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  3333. md5str[32]='\0';
  3334. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  3335. }
  3336. }
  3337. }
  3338. }
  3339. }
  3340. QString jasign2=jdata.replace("\r","").replace("\n","").replace(" ","");
  3341. hpSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign2+"}");
  3342. }else if(hpdev.Device_type==5){
  3343. QString sql = QString("select point_code, point_data, dwtype, data_time from sp_owner_status where device_id=%1").arg(hpdev.Device_id);
  3344. jdata.append(QString("\"app_key\":\"%1\"").arg("f8bdea7926bcc7cb827d2eccf67fa559"));
  3345. jdata.append(QString(",\"timestamp\":\"%1\"").arg(myt));
  3346. jdata.append(QString(",\"format\":\"%1\"").arg("json"));
  3347. jdata.append(QString(",\"v\":\"%1\"").arg("1.0"));
  3348. jdata.append(QString(",\"sign_method\":\"%1\"").arg("md5"));
  3349. jdata.append(QString(",\"pid\":\"%1\"").arg(hpdev.Pid));
  3350. jdata.append(QString(",\"bid\":\"%1\"").arg(hpdev.Bid));
  3351. jdata.append(QString(",\"fid\":\"%1\"").arg(hpdev.Fid));
  3352. jdata.append(QString(",\"zid\":\"%1\"").arg(hpdev.Zid));
  3353. jdata.append(QString(",\"report_time\":\"%1\"").arg(myt));
  3354. qry = mdb.exec(sql);
  3355. if(hpDevList.at(i).Device_data.length()>0){
  3356. jdata.append(QString(",\"mid\":\"%1\"").arg(hpdev.Mid));
  3357. jdata.append(QString(",\"device_name\":\"%1\"").arg(hpdev.Device_name));
  3358. jdata.append(QString(",\"device_id\":\"%1\"").arg(hpdev.Device_id));
  3359. QJsonParseError json_error;
  3360. QJsonArray jajsonArray;
  3361. QJsonDocument jsonDoc(QJsonDocument::fromJson(hpDevList.at(i).Device_data.toUtf8(),&json_error));
  3362. QJsonObject jaobj;
  3363. QJsonObject jaobj2;
  3364. QJsonObject jaobj3;
  3365. if(json_error.error == QJsonParseError::NoError){
  3366. while(qry.next()){
  3367. if(qry.value(2).toInt()==5){
  3368. if(qry.value(0).toInt()==4){
  3369. QJsonArray json_root = jsonDoc.array();
  3370. QJsonObject obj = json_root.at(0).toObject();
  3371. jaobj.insert("attr_id", obj.value("attr_id"));
  3372. jaobj.insert("attr_val", qry.value(1).toString());
  3373. jajsonArray.append(jaobj);
  3374. jdata.append(QString(",\"device_data\":\"%1\"").arg(QString(QJsonDocument(jajsonArray).toJson()).replace("\"","\\\"")));
  3375. QString jasign = "bb5247f1a92411ea9bae7956d3c00d15app_keyf8bdea7926bcc7cb827d2eccf67fa559";
  3376. jasign.append(QString("bid%1").arg(hpdev.Bid));
  3377. jasign.append(QString("device_data%1").arg(QString(QJsonDocument(jajsonArray).toJson())));
  3378. jasign.append(QString("device_id%1").arg(hpdev.Device_id));
  3379. jasign.append(QString("device_name%1").arg(hpdev.Device_name));
  3380. jasign.append(QString("fid%1").arg(hpdev.Fid));
  3381. jasign.append(QString("format%1").arg("json"));
  3382. jasign.append(QString("mid%1").arg(hpdev.Mid));
  3383. jasign.append(QString("pid%1").arg(hpdev.Pid));
  3384. jasign.append(QString("report_time%1").arg(myt));
  3385. jasign.append(QString("sign_method%1").arg("md5"));
  3386. jasign.append(QString("timestamp%1").arg(myt));
  3387. jasign.append(QString("v%1").arg("1.0"));
  3388. jasign.append(QString("zid%1").arg(hpdev.Zid));
  3389. jasign.append(QString("%1").arg("bb5247f1a92411ea9bae7956d3c00d15"));
  3390. char md5str[33];
  3391. chkmd5(jasign.replace("\r","").replace("\n","").replace(" ","").toUtf8().data(),md5str);
  3392. md5str[32]='\0';
  3393. jdata.append(QString(",\"sign\":\"%1\"").arg(md5str));
  3394. }
  3395. }
  3396. }
  3397. }
  3398. }
  3399. QString jasign2=jdata.replace("\r","").replace("\n","").replace(" ","");
  3400. hpSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jasign2+"}");
  3401. }
  3402. }
  3403. for(int i=0;i<syncXyDevList.length();i++){
  3404. time_t tmp_time = time(static_cast<time_t *>(nullptr));
  3405. ytShm->updatetime[CORE_MAIN] = tmp_time;
  3406. qry.clear();
  3407. YPSyncXyDev ypxydev = syncXyDevList.at(i);
  3408. time_t myt=time(NULL);
  3409. QString jdata = "";
  3410. uint MaxT = 0;
  3411. if(ypxydev.ObjType==3||ypxydev.ObjType==128){
  3412. QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(ypxydev.OwnerCode);
  3413. jdata.append(QString("\"companyCode\":\"%1\"").arg(ypxydev.CompanyCode));
  3414. jdata.append(QString(",\"companyName\":\"%1\"").arg(ypxydev.CompanyName));
  3415. jdata.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev.ObjCode));
  3416. jdata.append(QString(",\"deviceName\":\"%1\"").arg(ypxydev.OwnerName+ypxydev.DeviceName));
  3417. qry = mdb.exec(sql);
  3418. if(ypxydev.ObjType==3){
  3419. while(qry.next()){
  3420. if(qry.value(0).toInt()==2){
  3421. uint cTime = qry.value(3).toDateTime().toTime_t();
  3422. if(cTime>MaxT)
  3423. MaxT = cTime;
  3424. jdata.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3425. jdata.append(QString(",\"wirelessSignal\":%1").arg(5));
  3426. jdata.append(QString(",\"battery\":%1").arg(qry.value(1).toInt()));
  3427. }
  3428. }
  3429. }else{
  3430. while(qry.next()){
  3431. if(qry.value(0).toInt()==2){
  3432. uint cTime = qry.value(3).toDateTime().toTime_t();
  3433. if(cTime>MaxT)
  3434. MaxT = cTime;
  3435. jdata.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3436. jdata.append(QString(",\"wirelessSignal\":%1").arg(5));
  3437. jdata.append(QString(",\"battery\":%1").arg(qry.value(1).toInt()));
  3438. }
  3439. }
  3440. }
  3441. SyncXyData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}");
  3442. }else if(ypxydev.ObjType==7){
  3443. QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(ypxydev.OwnerCode);
  3444. jdata.append(QString("\"companyCode\":\"%1\"").arg(ypxydev.CompanyCode));
  3445. jdata.append(QString(",\"companyName\":\"%1\"").arg(ypxydev.CompanyName));
  3446. jdata.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev.ObjCode));
  3447. jdata.append(QString(",\"deviceName\":\"%1\"").arg(ypxydev.OwnerName+ypxydev.DeviceName));
  3448. jdata.append(QString(",\"wirelessSignal\":%1").arg(5));
  3449. qry = mdb.exec(sql);
  3450. while(qry.next()){
  3451. uint cTime = qry.value(3).toDateTime().toTime_t();
  3452. if(cTime>MaxT)
  3453. MaxT = cTime;
  3454. if(qry.value(0).toInt()==65){
  3455. jdata.append(QString(",\"inVoltage\":%1").arg(qry.value(1).toString()));
  3456. jdata.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3457. }else if(qry.value(0).toInt()==68){
  3458. jdata.append(QString(",\"outCurrent\":%1").arg(qry.value(1).toString()));
  3459. }else if(qry.value(0).toInt()==71){
  3460. jdata.append(QString(",\"temperature\":%1").arg(qry.value(1).toString()));
  3461. }
  3462. }
  3463. SyncXyData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}");
  3464. }else if(ypxydev.ObjType==2||ypxydev.ObjType==130){
  3465. QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(ypxydev.OwnerCode);
  3466. jdata.append(QString("\"companyCode\":\"%1\"").arg(ypxydev.CompanyCode));
  3467. jdata.append(QString(",\"companyName\":\"%1\"").arg(ypxydev.CompanyName));
  3468. jdata.append(QString(",\"deviceId\":\"%1\"").arg(ypxydev.ObjCode));
  3469. jdata.append(QString(",\"deviceName\":\"%1\"").arg(ypxydev.OwnerName+ypxydev.DeviceName));
  3470. jdata.append(QString(",\"wirelessSignal\":%1").arg(5));
  3471. qry = mdb.exec(sql);
  3472. if(ypxydev.ObjType==2){
  3473. while(qry.next()){
  3474. if(qry.value(0).toInt()==2){
  3475. uint cTime = qry.value(3).toDateTime().toTime_t();
  3476. if(cTime>MaxT)
  3477. MaxT = cTime;
  3478. jdata.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3479. jdata.append(QString(",\"battery\":%1").arg(qry.value(1).toInt()));
  3480. }else if(qry.value(0).toInt()==4){
  3481. jdata.append(QString(",\"stress\":%1").arg(qry.value(1).toString()));
  3482. }
  3483. }
  3484. }else{
  3485. while(qry.next()){
  3486. if(qry.value(0).toInt()==2){
  3487. uint cTime = qry.value(3).toDateTime().toTime_t();
  3488. if(cTime>MaxT)
  3489. MaxT = cTime;
  3490. jdata.append(QString(",\"time\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3491. jdata.append(QString(",\"battery\":%1").arg(qry.value(1).toInt()));
  3492. }else if(qry.value(0).toInt()==4){
  3493. jdata.append(QString(",\"stress\":%1").arg(qry.value(1).toString()));
  3494. }
  3495. }
  3496. }
  3497. SyncXyData(2,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}");
  3498. }
  3499. }
  3500. for(int i=0;i<NewcnDevList.length();i++){
  3501. time_t tmp_time = time(static_cast<time_t *>(nullptr));
  3502. ytShm->updatetime[CORE_MAIN] = tmp_time;
  3503. qry.clear();
  3504. NewCNSyncDev newcndev = NewcnDevList.at(i);
  3505. time_t myt=time(NULL);
  3506. QString jdata = "";
  3507. QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(newcndev.DeviceCode);
  3508. jdata.append(QString("\"descript\":\"%1\"").arg(newcndev.Descript));
  3509. jdata.append(QString(",\"deviceName\":\"%1\"").arg(newcndev.DeviceName));
  3510. if(newcndev.devCategory==6){
  3511. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(newcndev.DeviceCode+newcndev.Port));
  3512. }else{
  3513. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(newcndev.DeviceCode));
  3514. }
  3515. jdata.append(QString(",\"deviceType\":\"%1\"").arg(newcndev.DeviceType));
  3516. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(newcndev.DeviceTypeName));
  3517. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(newcndev.OpenProjectId));
  3518. qry = mdb.exec(sql);
  3519. if(newcndev.devCategory==2){
  3520. while(qry.next()){
  3521. if(qry.value(0).toInt()==4){
  3522. jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3523. jdata.append(QString(",\"pressure\":\"%1\"").arg(qry.value(1).toString()));
  3524. }else if(qry.value(0).toInt()==1){
  3525. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0){
  3526. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
  3527. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低压"))==0){
  3528. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
  3529. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高压"))==0){
  3530. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
  3531. }
  3532. }
  3533. }
  3534. if(newcndev.DeviceType==302){
  3535. NewcnSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  3536. }else{
  3537. NewcnSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  3538. }
  3539. }else if(newcndev.devCategory==5){
  3540. while(qry.next()){
  3541. if(qry.value(0).toInt()==4){
  3542. jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3543. jdata.append(QString(",\"level\":\"%1\"").arg(qry.value(1).toString()));
  3544. }else if(qry.value(0).toInt()==1){
  3545. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0){
  3546. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
  3547. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低液位"))==0){
  3548. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
  3549. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高液位"))==0){
  3550. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
  3551. }
  3552. }
  3553. }
  3554. if(newcndev.DeviceType==402){
  3555. NewcnSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  3556. }else{
  3557. NewcnSyncData(3,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  3558. }
  3559. }else if(newcndev.devCategory==6){
  3560. if(newcndev.DeviceType==258||newcndev.DeviceType==256){
  3561. QList<CnPno> pnoList = getPnoValue(newcndev.Data);
  3562. QJsonArray jajsonArray;
  3563. for(int i=0;i<pnoList.length();i++){
  3564. if(pnoList.at(i).Pno==-1){
  3565. if(pnoList.at(i).PName.compare("powerStatus")==0){
  3566. jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
  3567. }else if(pnoList.at(i).PName.compare("runStatus")==0){
  3568. jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
  3569. }else if(pnoList.at(i).PName.compare("startStatus")==0){
  3570. jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
  3571. }else if(pnoList.at(i).PName.compare("faultStatus")==0){
  3572. jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
  3573. }
  3574. jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3575. }
  3576. }
  3577. QString device_code;
  3578. while(qry.next()){
  3579. for(int i=0;i<pnoList.length();i++){
  3580. if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
  3581. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("自动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("停止"))==0){
  3582. if(pnoList.at(i).PName.compare("powerStatus")==0){
  3583. jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
  3584. }else if(pnoList.at(i).PName.compare("runStatus")==0){
  3585. jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
  3586. }else if(pnoList.at(i).PName.compare("startStatus")==0){
  3587. jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
  3588. }else if(pnoList.at(i).PName.compare("faultStatus")==0){
  3589. jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
  3590. }
  3591. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("关闭"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("手动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("运行"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("故障"))==0){
  3592. if(pnoList.at(i).PName.compare("powerStatus")==0){
  3593. jdata.append(QString(",\"powerState\":\"%1\"").arg(1));
  3594. }else if(pnoList.at(i).PName.compare("runStatus")==0){
  3595. jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(1));
  3596. }else if(pnoList.at(i).PName.compare("startStatus")==0){
  3597. jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(1));
  3598. }else if(pnoList.at(i).PName.compare("faultStatus")==0){
  3599. jdata.append(QString(",\"faultStatus\":\"%1\"").arg(1));
  3600. }
  3601. }else{
  3602. if(pnoList.at(i).PName.compare("powerStatus")==0){
  3603. jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
  3604. }else if(pnoList.at(i).PName.compare("runStatus")==0){
  3605. jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
  3606. }else if(pnoList.at(i).PName.compare("startStatus")==0){
  3607. jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
  3608. }else if(pnoList.at(i).PName.compare("faultStatus")==0){
  3609. jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
  3610. }
  3611. }
  3612. break;
  3613. }
  3614. }
  3615. }
  3616. if(newcndev.DeviceType==258){
  3617. NewcnSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",newcndev.devCategory);
  3618. }else{
  3619. NewcnSyncData(5,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",newcndev.devCategory);
  3620. }
  3621. }else{
  3622. QList<CnPno> pnoList = getPnoValue(newcndev.Data);
  3623. jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3624. while(qry.next()){
  3625. for(int i=0;i<pnoList.length();i++){
  3626. if(pnoList.at(i).PName.compare("value")==0){
  3627. if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
  3628. jdata.append(QString(",\"pressure\":\"%1\"").arg(qry.value(1).toString()));
  3629. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))!=-1){
  3630. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
  3631. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低压"))!=-1){
  3632. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
  3633. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高压"))!=-1){
  3634. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
  3635. }
  3636. break;
  3637. }
  3638. }
  3639. }
  3640. }
  3641. if(newcndev.DeviceType==302){
  3642. NewcnSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  3643. }else{
  3644. NewcnSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",newcndev.devCategory);
  3645. }
  3646. }
  3647. }
  3648. }
  3649. }
  3650. if((tmp_time-ypdisworktime)>=21600){
  3651. QSqlQuery qry12;
  3652. ypdisworktime=tmp_time;
  3653. qry.clear();
  3654. syncDevList.clear();
  3655. qry = mdb.exec("select owner_code,dwtype,object_code,start_port,rec_cur from sp_yangpu_share");
  3656. while(qry.next()){
  3657. syncDevList.append(YPSyncDev(qry.value(0).toString(),
  3658. qry.value(1).toString(),
  3659. qry.value(2).toString(),
  3660. qry.value(3).toInt(),
  3661. qry.value(4).toUInt()));
  3662. }
  3663. qry.clear();
  3664. ypYwDevList.clear();
  3665. qry = mdb.exec("select device_code,device_name,device_address,longitude,latitude,device_type,company_code from sp_ypywtg_share");
  3666. while(qry.next()){
  3667. ypYwDevList.append(YPYWSyncDev(qry.value(0).toString(),
  3668. qry.value(1).toString(),
  3669. qry.value(2).toString(),
  3670. qry.value(3).toString(),
  3671. qry.value(4).toString(),
  3672. qry.value(5).toInt(),
  3673. qry.value(6).toString()));
  3674. }
  3675. qry.clear();
  3676. XfzdDevList.clear();
  3677. qry = mdb.exec("select device_code,device_name,descript,device_type,device_type_name,open_project_id, dwtype, data, port,device_floor from sp_corps_share");
  3678. while(qry.next()){
  3679. XfzdDevList.append(XfzdSyncDev(qry.value(0).toString(),
  3680. qry.value(1).toString(),
  3681. qry.value(2).toString(),
  3682. qry.value(3).toInt(),
  3683. qry.value(4).toString(),
  3684. qry.value(5).toString(),
  3685. qry.value(6).toInt(),
  3686. qry.value(7).toString().trimmed(),
  3687. qry.value(8).toString(),
  3688. qry.value(9).toString()));
  3689. }
  3690. qry.clear();
  3691. for(int i=0;i<syncDevList.length();i++){
  3692. time_t tmp_time = time(static_cast<time_t *>(nullptr));
  3693. ytShm->updatetime[CORE_MAIN] = tmp_time;
  3694. YPSyncDev syncdev = syncDevList.at(i);
  3695. time_t myt=time(NULL);
  3696. QString jdata = "";
  3697. if(syncdev.ObjType.compare("YTWP")==0){
  3698. QString sql = QString("select dwtype,point_code,point_data,data_time from sp_owner_status where device_id='%1' and point_code>%2 order by point_code limit 0,1").arg(syncdev.OwnerCode).arg((syncdev.StartPort>0)?(syncdev.StartPort+63):3);
  3699. QString sql12 = QString("select insert_id from aypdis_time where id=%1").arg(205);
  3700. qry = mdb.exec(sql);
  3701. qry12 = mdb.exec(sql12);
  3702. while(qry.next()){
  3703. while(qry12.next()){
  3704. uint cTime = qry.value(3).toDateTime().toTime_t();
  3705. QString WaterPressure = "0.0";
  3706. if((myt-cTime)>=qry12.value(0).toInt()){
  3707. WaterPressure = qry.value(2).toString();
  3708. mdb.exec(QString("update sp_yangpu_share set rec_cur=%1 where object_code='%2'").arg(myt).arg(syncdev.ObjCode));
  3709. QString jsonstr = QString("{\"dataCode\":\"DATA_WATERPRE\",\"deviceId\":\"%1\",\"postTime\":\"%2\",\"data\":{\"WaterPressure\":%3}}")
  3710. .arg(syncdev.ObjCode).arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")).arg(WaterPressure);
  3711. SyncDisData(QUuid::createUuid().toString().replace("{","").replace("}",""), jsonstr);
  3712. }
  3713. }
  3714. }
  3715. }else if(syncdev.ObjType.compare("YTLL")==0){
  3716. QString LiquidLevel = "0.0";
  3717. QDateTime dataTime = QDateTime::fromTime_t(0);
  3718. QString sql = QString("select dwtype,point_code,point_data,data_time from sp_owner_status where device_id='%1' and point_code>%2 order by point_code limit 0,1").arg(syncdev.OwnerCode).arg((syncdev.StartPort>0)?(syncdev.StartPort+63):3);
  3719. QString sql12 = QString("select insert_id from aypdis_time where id=%1").arg(205);
  3720. qry = mdb.exec(sql);
  3721. qry12 = mdb.exec(sql12);
  3722. if(qry.next()){
  3723. while(qry12.next()){
  3724. uint cTime = qry.value(3).toDateTime().toTime_t();
  3725. if((myt-cTime)>=qry12.value(0).toInt()){
  3726. LiquidLevel = qry.value(2).toString();
  3727. mdb.exec(QString("update sp_yangpu_share set rec_cur=%1 where object_code='%2'").arg(myt).arg(syncdev.ObjCode));
  3728. QString jsonstr = QString("{\"dataCode\":\"DATA_LIQUIDLE\",\"deviceId\":\"%1\",\"postTime\":\"%2\",\"data\":{\"LiquidLevel\":%3}}")
  3729. .arg(syncdev.ObjCode).arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")).arg(LiquidLevel);
  3730. SyncDisData(QUuid::createUuid().toString().replace("{","").replace("}",""), jsonstr);
  3731. }
  3732. }
  3733. }
  3734. }
  3735. }
  3736. }
  3737. if((tmp_time-xfzdworktime)>=86400){
  3738. xfzdworktime=tmp_time;
  3739. for(int i=0;i<XfzdDevList.length();i++){
  3740. time_t tmp_time = time(static_cast<time_t *>(nullptr));
  3741. ytShm->updatetime[CORE_MAIN] = tmp_time;
  3742. qry.clear();
  3743. XfzdSyncDev xfzddev = XfzdDevList.at(i);
  3744. time_t myt=time(NULL);
  3745. QString jdata = "";
  3746. QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(xfzddev.DeviceCode);
  3747. jdata.append(QString("\"descript\":\"%1\"").arg(xfzddev.Descript));
  3748. jdata.append(QString(",\"deviceName\":\"%1\"").arg(xfzddev.DeviceName));
  3749. if(xfzddev.devCategory==6){
  3750. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(xfzddev.DeviceCode+xfzddev.Port));
  3751. }else{
  3752. jdata.append(QString(",\"deviceNo\":\"%1\"").arg(xfzddev.DeviceCode));
  3753. }
  3754. jdata.append(QString(",\"deviceType\":\"%1\"").arg(xfzddev.DeviceType));
  3755. jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(xfzddev.DeviceTypeName));
  3756. jdata.append(QString(",\"openProjectId\":\"%1\"").arg(xfzddev.OpenProjectId));
  3757. jdata.append(QString(",\"floor\":\"%1\"").arg(xfzddev.DeviceFloor));
  3758. qry = mdb.exec(sql);
  3759. if(xfzddev.devCategory==2){
  3760. while(qry.next()){
  3761. if(qry.value(0).toInt()==4){
  3762. jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3763. jdata.append(QString(",\"pressure\":\"%1\"").arg(qry.value(1).toString()));
  3764. }else if(qry.value(0).toInt()==1){
  3765. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0){
  3766. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
  3767. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低压"))==0){
  3768. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
  3769. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高压"))==0){
  3770. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
  3771. }
  3772. }
  3773. }
  3774. if(xfzddev.DeviceType==302){
  3775. XfzdSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3776. }else if(xfzddev.DeviceType==301){
  3777. XfzdSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3778. }else if(xfzddev.DeviceType==305){
  3779. XfzdSyncData(13,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3780. }else if(xfzddev.DeviceType==304){
  3781. XfzdSyncData(14,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3782. }
  3783. }else if(xfzddev.devCategory==5){
  3784. while(qry.next()){
  3785. if(qry.value(0).toInt()==4){
  3786. jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3787. jdata.append(QString(",\"level\":\"%1\"").arg(qry.value(1).toString()));
  3788. }else if(qry.value(0).toInt()==1){
  3789. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0){
  3790. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
  3791. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低液位"))==0){
  3792. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
  3793. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高液位"))==0){
  3794. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
  3795. }
  3796. }
  3797. }
  3798. if(xfzddev.DeviceType==402){
  3799. XfzdSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3800. }else{
  3801. XfzdSyncData(3,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3802. }
  3803. }else if(xfzddev.devCategory==6){
  3804. if(xfzddev.DeviceType==258||xfzddev.DeviceType==256||xfzddev.DeviceType==452){
  3805. QList<CnPno> pnoList = getPnoValue(xfzddev.Data);
  3806. QJsonArray jajsonArray;
  3807. for(int i=0;i<pnoList.length();i++){
  3808. if(pnoList.at(i).Pno==-1){
  3809. if(pnoList.at(i).PName.compare("powerStatus")==0){
  3810. jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
  3811. }else if(pnoList.at(i).PName.compare("runStatus")==0){
  3812. jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
  3813. }else if(pnoList.at(i).PName.compare("startStatus")==0){
  3814. jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
  3815. }else if(pnoList.at(i).PName.compare("faultStatus")==0){
  3816. jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
  3817. }
  3818. jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3819. }
  3820. }
  3821. QString device_code;
  3822. while(qry.next()){
  3823. for(int i=0;i<pnoList.length();i++){
  3824. if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
  3825. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("自动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("停止"))==0){
  3826. if(pnoList.at(i).PName.compare("powerStatus")==0){
  3827. jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
  3828. }else if(pnoList.at(i).PName.compare("runStatus")==0){
  3829. jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
  3830. }else if(pnoList.at(i).PName.compare("startStatus")==0){
  3831. jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
  3832. }else if(pnoList.at(i).PName.compare("faultStatus")==0){
  3833. jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
  3834. }
  3835. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("关闭"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("手动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("运行"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("故障"))==0){
  3836. if(pnoList.at(i).PName.compare("powerStatus")==0){
  3837. jdata.append(QString(",\"powerState\":\"%1\"").arg(1));
  3838. }else if(pnoList.at(i).PName.compare("runStatus")==0){
  3839. jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(1));
  3840. }else if(pnoList.at(i).PName.compare("startStatus")==0){
  3841. jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(1));
  3842. }else if(pnoList.at(i).PName.compare("faultStatus")==0){
  3843. jdata.append(QString(",\"faultStatus\":\"%1\"").arg(1));
  3844. }
  3845. }else{
  3846. if(pnoList.at(i).PName.compare("powerStatus")==0){
  3847. jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
  3848. }else if(pnoList.at(i).PName.compare("runStatus")==0){
  3849. jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
  3850. }else if(pnoList.at(i).PName.compare("startStatus")==0){
  3851. jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
  3852. }else if(pnoList.at(i).PName.compare("faultStatus")==0){
  3853. jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
  3854. }
  3855. }
  3856. break;
  3857. }
  3858. }
  3859. }
  3860. if(xfzddev.DeviceType==258){
  3861. XfzdSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory);
  3862. }else if(xfzddev.DeviceType==256){
  3863. XfzdSyncData(5,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory);
  3864. }else if(xfzddev.DeviceType==452){
  3865. XfzdSyncData(12,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory);
  3866. }
  3867. }else{
  3868. QList<CnPno> pnoList = getPnoValue(xfzddev.Data);
  3869. jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3870. while(qry.next()){
  3871. for(int i=0;i<pnoList.length();i++){
  3872. if(pnoList.at(i).PName.compare("value")==0){
  3873. if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
  3874. jdata.append(QString(",\"pressure\":\"%1\"").arg(qry.value(1).toString()));
  3875. if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))!=-1){
  3876. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
  3877. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低压"))!=-1){
  3878. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
  3879. }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高压"))!=-1){
  3880. jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
  3881. }
  3882. break;
  3883. }
  3884. }
  3885. }
  3886. }
  3887. if(xfzddev.DeviceType==302){
  3888. XfzdSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3889. }else if(xfzddev.DeviceType==301){
  3890. XfzdSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3891. }else if(xfzddev.DeviceType==305){
  3892. XfzdSyncData(13,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3893. }else if(xfzddev.DeviceType==304){
  3894. XfzdSyncData(14,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3895. }
  3896. }
  3897. }else if(xfzddev.devCategory==1){
  3898. while(qry.next()){
  3899. if(qry.value(0).toInt()==1){
  3900. if(qry.value(2).toString().indexOf(QString::fromUtf8("监测连线故障"))==0){
  3901. jdata.append(QString(",\"connectStatus\":\"%1\"").arg(1));
  3902. }else{
  3903. jdata.append(QString(",\"connectStatus\":\"%1\"").arg(0));
  3904. }
  3905. jdata.append(QString(",\"workStatus\":\"%1\"").arg(0));
  3906. jdata.append(QString(",\"mainPower\":\"%1\"").arg(0));
  3907. jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
  3908. XfzdSyncData(15,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory);
  3909. }
  3910. }
  3911. }
  3912. }
  3913. }
  3914. // if((!isSending2)&&(cnSyncdataLiet.length()>0)){
  3915. // isSending2 = true;
  3916. // cnCount=cnCount+1;
  3917. // CnSyncRep rep = cnSyncdataLiet.first();
  3918. // QByteArray Report = rep.JsonStr.toUtf8();
  3919. // QNetworkRequest *req = new QNetworkRequest();
  3920. // if((rep.devCategory>200)&&(rep.devCategory<207)){
  3921. // req->setUrl(QUrl("http://www.cnfire119.cn/open/data/acquisition/YLB/add?appkey=20190806608233073670094848&secret=72c15b023b0fab056ed3b9c7c45bff0c "));
  3922. // }else if(rep.devCategory==91){
  3923. // req->setUrl(QUrl("http://www.cnfire119.cn/open/data/acquisition/WaterPump/add?appkey=20190806608233073670094848&secret=72c15b023b0fab056ed3b9c7c45bff0c "));
  3924. // }else if(rep.devCategory==211){
  3925. // if(rep.Xh==1){
  3926. // req->setUrl(QUrl("http://www.cnfire119.cn/open/data/acquisition/building/addFire?appkey=20190806608233073670094848&secret=72c15b023b0fab056ed3b9c7c45bff0c "));
  3927. // }else if(rep.Xh==2){
  3928. // req->setUrl(QUrl("http://www.cnfire119.cn/open/data/acquisition/building/addFault?appkey=20190806608233073670094848&secret=72c15b023b0fab056ed3b9c7c45bff0c "));
  3929. // }
  3930. // }else if(rep.devCategory==1957){
  3931. // req->setUrl(QUrl("http://www.cnfire119.cn/open/data/acquisition/YWY/addLog?appkey=20190806608233073670094848&secret=72c15b023b0fab056ed3b9c7c45bff0c "));
  3932. // }
  3933. // req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
  3934. // req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
  3935. // sqlList2.append(QString("insert into `cnsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
  3936. // .arg(rep.Id).arg(
  3937. // req->url().toString()+"\r\n"+
  3938. // rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  3939. // QNetworkReply *reply = cnnetAccessManager->post(*req,Report);
  3940. // QReplayTimeout *pTimeout = new QReplayTimeout(reply,10000);
  3941. // connect(pTimeout, SIGNAL(net_timeout()),this,SLOT(reply_timeout2()));
  3942. // }
  3943. if((!isSending3)&&(jaSyncdataLiet.length()>0)){
  3944. isSending3 = true;
  3945. jaCount=jaCount+1;
  3946. JaSyncRep rep = jaSyncdataLiet.first();
  3947. QByteArray Report = rep.JsonStr.toUtf8();
  3948. QNetworkRequest *req = new QNetworkRequest();
  3949. if(rep.Xh==1){
  3950. req->setUrl(QUrl("http://jareceive.119.net/fireapi/matrix/position"));
  3951. }else if(rep.Xh==0){
  3952. req->setUrl(QUrl("http://jareceive.119.net/fireapi/matrix/receiveAll"));
  3953. // req->setUrl(QUrl("http://172.16.120.183:5001"));
  3954. // printf("thread jawater start\n");
  3955. }else if(rep.Xh==2){
  3956. req->setUrl(QUrl("http://jareceive.119.net/fireapi/operation/handleEvent"));
  3957. // req->setUrl(QUrl("http://www.jd-ioe.com:80/ytapi/admin/order/jingan"));
  3958. }else if(rep.Xh==3){
  3959. req->setUrl(QUrl("http://jareceive.119.net/fireapi/matrix/receiveAll"));
  3960. }else if(rep.Xh==4){
  3961. req->setUrl(QUrl("http://receive.119.net/fireapi/matrix/receiveAll"));
  3962. }else if(rep.Xh==5){
  3963. req->setUrl(QUrl("http://jareceive.119.net/fireapi/operation/handleArtificial"));
  3964. // req->setUrl(QUrl("http://iot.usky.cn:80/ytapi/admin/order/jingan"));
  3965. }else if(rep.Xh==6){
  3966. req->setUrl(QUrl("http://jareceive.119.net/fireapi/operation/handleSupervise"));
  3967. logThread->appendData(QString("ceshidianziduchadan12[%1]").arg("http://jareceive.119.net/fireapi/operation/handleSupervise"));
  3968. }
  3969. // req->setUrl(QUrl("http://www.jd-ioe.com:80/ytapi/admin/order/jingan"));
  3970. req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
  3971. req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
  3972. sqlList2.append(QString("insert into `jasync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
  3973. .arg(rep.Id).arg(
  3974. req->url().toString()+"\r\n"+
  3975. // req->header(QNetworkRequest::ContentTypeHeader).toString()+"\r\n"+
  3976. // req->header(QNetworkRequest::ContentLengthHeader).toString()+"\r\n"+
  3977. rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  3978. QNetworkReply *reply = janetAccessManager->post(*req,Report);
  3979. QReplayTimeout *pTimeout = new QReplayTimeout(reply,10000);
  3980. connect(pTimeout, SIGNAL(net_timeout()),this,SLOT(reply_timeout3()));
  3981. }
  3982. if((!isSending)&&(ypSyncdataList.length()>0)){
  3983. isSending = true;
  3984. ypCount=ypCount+1;
  3985. SyncRep rep = ypSyncdataList.first();
  3986. sqlList2.append(QString("insert into `ypsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
  3987. .arg(rep.Id).arg(rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  3988. QByteArray Report = rep.JsonStr.toUtf8();
  3989. QNetworkRequest *req = new QNetworkRequest();
  3990. //req->setUrl(QUrl("http://218.242.51.14:8088/api-devicelog-collect/data/NonLoraData"));
  3991. req->setUrl(QUrl("https://gw.opg-iot.com/api-devicelog-collect/data/NonLoraData"));
  3992. req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
  3993. req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
  3994. QNetworkReply *reply = netAccessManager->post(*req,Report);
  3995. QReplayTimeout *pTimeout = new QReplayTimeout(reply,10000);
  3996. connect(pTimeout, SIGNAL(net_timeout()),this,SLOT(reply_timeout()));
  3997. }
  3998. if((!isSending4)&&(ypSyncDisdataList.length()>0)){
  3999. isSending4 = true;
  4000. ypdisCount=ypdisCount+1;
  4001. SyncRep rep = ypSyncDisdataList.first();
  4002. sqlList2.append(QString("insert into `ypsync_t_rec_dis` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
  4003. .arg(rep.Id).arg(rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  4004. QByteArray Report = rep.JsonStr.toUtf8();
  4005. QNetworkRequest *req = new QNetworkRequest();
  4006. //req->setUrl(QUrl("http://218.242.51.14:8088/api-devicelog-collect/data/NonLoraData"));
  4007. req->setUrl(QUrl("https://gw.opg-iot.com/api-devicelog-collect/data/NonLoraData"));
  4008. req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
  4009. req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
  4010. QNetworkReply *reply = disnetAccessManager->post(*req,Report);
  4011. QReplayTimeout *pTimeout = new QReplayTimeout(reply,10000);
  4012. connect(pTimeout, SIGNAL(net_timeout()),this,SLOT(reply_timeout4()));
  4013. }
  4014. if((!isSending5)&&(ypSyncXydataList.length()>0)){
  4015. isSending5 = true;
  4016. ypxyCount=ypxyCount+1;
  4017. YpXySyncRep rep = ypSyncXydataList.first();
  4018. QByteArray Report = rep.JsonStr.toUtf8();
  4019. QNetworkRequest *req = new QNetworkRequest();
  4020. if(rep.Xh==1){
  4021. req->setUrl(QUrl("http://ypaqpt.edu.sh.cn/schoolSafe-yp/deviceAlarm"));
  4022. }else if(rep.Xh==2){
  4023. req->setUrl(QUrl("http://ypaqpt.edu.sh.cn/schoolSafe-yp/deviceTime"));
  4024. }else if(rep.Xh==3){
  4025. req->setUrl(QUrl("http://ypaqpt.edu.sh.cn/schoolSafe-yp/AlarmStatus"));
  4026. }
  4027. // else if(rep.Xh==4){
  4028. // req->setUrl(QUrl("http://iot.usky.cn/ytapi/admin/Manage/ceShiUrl"));
  4029. // }
  4030. req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
  4031. req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
  4032. sqlList2.append(QString("insert into `ypsync_t_rec_xy` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
  4033. .arg(rep.Id).arg(
  4034. req->url().toString()+"\r\n"+
  4035. // req->header(QNetworkRequest::ContentTypeHeader).toString()+"\r\n"+
  4036. // req->header(QNetworkRequest::ContentLengthHeader).toString()+"\r\n"+
  4037. rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  4038. QNetworkReply *reply = xynetAccessManager->post(*req,Report);
  4039. QReplayTimeout *pTimeout = new QReplayTimeout(reply,10000);
  4040. connect(pTimeout, SIGNAL(net_timeout()),this,SLOT(reply_timeout5()));
  4041. }
  4042. if((!isSending6)&&(hpSyncdataLiet.length()>0)){
  4043. isSending6 = true;
  4044. hpCount=hpCount+1;
  4045. HpSyncRep rep = hpSyncdataLiet.first();
  4046. QByteArray Report = rep.JsonStr.toUtf8();
  4047. QNetworkRequest *req = new QNetworkRequest();
  4048. if(rep.Xh==1){
  4049. req->setUrl(QUrl("http://hpreceive.119.net/fireapi/matrix/position"));
  4050. }else if(rep.Xh==0){
  4051. req->setUrl(QUrl("http://hpreceive.119.net/fireapi/matrix/receiveAll"));
  4052. }else if(rep.Xh==2){
  4053. req->setUrl(QUrl("http://hpreceive.119.net/fireapi/operation/handleEvent"));
  4054. // req->setUrl(QUrl("http://www.jd-ioe.com:80/ytapi/admin/order/jingan"));
  4055. }else if(rep.Xh==3){
  4056. req->setUrl(QUrl("http://hpreceive.119.net/fireapi/matrix/receiveAll"));
  4057. }else if(rep.Xh==4){
  4058. req->setUrl(QUrl("http://hpreceive.119.net/fireapi/matrix/receiveAll"));
  4059. }else if(rep.Xh==5){
  4060. req->setUrl(QUrl("http://hpreceive.119.net/fireapi/operation/handleArtificial"));
  4061. // req->setUrl(QUrl("http://172.16.120.183:5001"));
  4062. }else if(rep.Xh==6){
  4063. req->setUrl(QUrl("http://hpreceive.119.net/fireapi/operation/handleSupervise"));
  4064. logThread->appendData(QString("ceshidianziduchadan12[%1]").arg("http://jareceive.119.net/fireapi/operation/handleSupervise"));
  4065. }
  4066. // req->setUrl(QUrl("http://www.jd-ioe.com:80/ytapi/admin/order/jingan"));
  4067. req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
  4068. req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
  4069. sqlList2.append(QString("insert into `hpsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
  4070. .arg(rep.Id).arg(
  4071. req->url().toString()+"\r\n"+
  4072. // req->header(QNetworkRequest::ContentTypeHeader).toString()+"\r\n"+
  4073. // req->header(QNetworkRequest::ContentLengthHeader).toString()+"\r\n"+
  4074. rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  4075. QNetworkReply *reply = hpnetAccessManager->post(*req,Report);
  4076. QReplayTimeout *pTimeout = new QReplayTimeout(reply,10000);
  4077. connect(pTimeout, SIGNAL(net_timeout()),this,SLOT(reply_timeout6()));
  4078. }
  4079. if((!isSending7)&&(NewcnSyncdataLiet.length()>0)){
  4080. isSending7 = true;
  4081. NewCnSyncRep rep = NewcnSyncdataLiet.first();
  4082. QByteArray Report = rep.JsonStr.toUtf8();
  4083. QNetworkRequest *req = new QNetworkRequest();
  4084. if(rep.Xh==1){
  4085. req->setUrl(QUrl("http://new.cnfire119.cn/access/devlog/sprinkler/pipepressunusual"));
  4086. }else if(rep.Xh==0){
  4087. req->setUrl(QUrl("http://new.cnfire119.cn/access/devlog/hydrant/pipepress"));
  4088. }else if(rep.Xh==2){
  4089. req->setUrl(QUrl("http://new.cnfire119.cn/access/devlog/hydrant/tanklevel"));
  4090. }else if(rep.Xh==3){
  4091. req->setUrl(QUrl("http://new.cnfire119.cn/access/devlog/hydrant/tanklevel"));
  4092. }else if(rep.Xh==4){
  4093. req->setUrl(QUrl("http://new.cnfire119.cn/access/devlog/hydrant/pumpstatus"));
  4094. }else if(rep.Xh==5){
  4095. req->setUrl(QUrl("http://new.cnfire119.cn/access/devlog/sprinkler/spraypump"));
  4096. }else if(rep.Xh==6){
  4097. req->setUrl(QUrl("http://new.cnfire119.cn/access/event/fire/alarm/fireinfo"));
  4098. }else if(rep.Xh==7){
  4099. req->setUrl(QUrl("http://new.cnfire119.cn/access/event/fault/alarm/freport"));
  4100. }else if(rep.Xh==8){
  4101. req->setUrl(QUrl("http://new.cnfire119.cn/access/event/action/alarm/supervise"));
  4102. }else if(rep.Xh==9){
  4103. req->setUrl(QUrl("http://new.cnfire119.cn/access/event/fire/alarm/manual"));
  4104. }else if(rep.Xh==10){
  4105. req->setUrl(QUrl("http://new.cnfire119.cn/access/devlog/alarm/reset"));
  4106. }else if(rep.Xh==11){
  4107. req->setUrl(QUrl("http://new.cnfire119.cn/access/event/action/alarm/linkagefeedback"));
  4108. }
  4109. req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
  4110. req->setRawHeader("appKey","748935525548687361");
  4111. req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
  4112. sqlList2.append(QString("insert into `newcnsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
  4113. .arg(rep.Id).arg(
  4114. req->url().toString()+"\r\n"+
  4115. rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  4116. QNetworkReply *reply = NewcnnetAccessManager->post(*req,Report);
  4117. QReplayTimeout *pTimeout = new QReplayTimeout(reply,10000);
  4118. connect(pTimeout, SIGNAL(net_timeout()),this,SLOT(reply_timeout7()));
  4119. }
  4120. if((!isSending8)&&(ypYwSyncDataList.length()>0)){
  4121. isSending8 = true;
  4122. // printf("http://220.196.241.165:33921/usky/flushUsky");
  4123. YpYwSyncRep rep = ypYwSyncDataList.first();
  4124. QByteArray Report = rep.JsonStr.toUtf8();
  4125. QNetworkRequest *req = new QNetworkRequest();
  4126. if(rep.Xh==1){
  4127. // req->setUrl(QUrl("http://iot.usky.cn/ytapi/admin/Manage/dianQiCeShiUrl"));
  4128. req->setUrl(QUrl("http://220.196.241.165:33921/usky/flushUsky"));
  4129. }else if(rep.Xh==2){
  4130. req->setUrl(QUrl("http://220.196.241.165:33921/usky/flushUskyStatus"));
  4131. }
  4132. req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
  4133. req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
  4134. sqlList2.append(QString("insert into `ypywsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
  4135. .arg(rep.Id).arg(
  4136. req->url().toString()+"\r\n"+
  4137. rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  4138. QNetworkReply *reply = ypYwcnnetAccessManager->post(*req,Report);
  4139. QReplayTimeout *pTimeout = new QReplayTimeout(reply,10000);
  4140. connect(pTimeout, SIGNAL(net_timeout()),this,SLOT(reply_timeout8()));
  4141. }
  4142. if((!isSending9)&&(XfzdSyncdataLiet.length()>0)){
  4143. isSending9 = true;
  4144. XfzdSyncRep rep = XfzdSyncdataLiet.first();
  4145. QByteArray Report = rep.JsonStr.toUtf8();
  4146. QNetworkRequest *req = new QNetworkRequest();
  4147. if(rep.Xh==1){
  4148. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/sprinkler/pipepressunusual"));
  4149. }else if(rep.Xh==0){
  4150. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/hydrant/pipepress"));
  4151. }else if(rep.Xh==2){
  4152. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/hydrant/tanklevel"));
  4153. }else if(rep.Xh==3){
  4154. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/hydrant/tanklevel"));
  4155. }else if(rep.Xh==4){
  4156. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/hydrant/pumpstatus"));
  4157. }else if(rep.Xh==5){
  4158. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/sprinkler/spraypump"));
  4159. }else if(rep.Xh==6){
  4160. req->setUrl(QUrl("http://iot.shxf-119.com/access/event/fire/alarm/fireinfo"));
  4161. }else if(rep.Xh==7){
  4162. req->setUrl(QUrl("http://iot.shxf-119.com/access/event/fault/alarm/freport"));
  4163. }else if(rep.Xh==8){
  4164. req->setUrl(QUrl("http://iot.shxf-119.com/access/event/action/alarm/supervise"));
  4165. }else if(rep.Xh==9){
  4166. req->setUrl(QUrl("http://iot.shxf-119.com/access/event/fire/alarm/manual"));
  4167. }else if(rep.Xh==10){
  4168. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/alarm/reset"));
  4169. }else if(rep.Xh==11){
  4170. req->setUrl(QUrl("http://iot.shxf-119.com/access/event/action/alarm/linkagefeedback"));
  4171. }else if(rep.Xh==12){
  4172. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/smoke/smokefan"));
  4173. }else if(rep.Xh==13){
  4174. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/hydrant/endpressure"));
  4175. }else if(rep.Xh==14){
  4176. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/sprinkler/endpressure"));
  4177. }else if(rep.Xh==15){
  4178. req->setUrl(QUrl("http://iot.shxf-119.com/access/devlog/transmission/devicestatus"));
  4179. }
  4180. req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
  4181. req->setRawHeader("appKey","850404889644236801");
  4182. req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
  4183. sqlList2.append(QString("insert into `xfzdsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
  4184. .arg(rep.Id).arg(
  4185. req->url().toString()+"\r\n"+
  4186. rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  4187. QNetworkReply *reply = XfzdnetAccessManager->post(*req,Report);
  4188. QReplayTimeout *pTimeout = new QReplayTimeout(reply,10000);
  4189. connect(pTimeout, SIGNAL(net_timeout()),this,SLOT(reply_timeout9()));
  4190. }
  4191. if(sqlList.length()>0){
  4192. if(db.transaction()){
  4193. while(sqlList.length()>0){
  4194. db.exec(sqlList.first());
  4195. sqlList.removeFirst();
  4196. }
  4197. db.commit();
  4198. }
  4199. }
  4200. if(sqlList2.length()>0){
  4201. QSqlDatabase recdb;
  4202. if(QSqlDatabase::contains("rec_db"))
  4203. recdb = QSqlDatabase::database("rec_db");
  4204. else
  4205. recdb = QSqlDatabase::addDatabase("QSQLITE","rec_db");
  4206. recdb.setDatabaseName(QString("db/watchdoglog%1.db").arg(QDate::currentDate().toString("yyyyMMdd")));
  4207. if(recdb.open()){
  4208. if(!chk_table("ypsync_t_rec",recdb.tables()))
  4209. {
  4210. recdb.exec("create table `ypsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
  4211. }
  4212. if(!chk_table("ypsync_t_rec_dis",recdb.tables()))
  4213. {
  4214. recdb.exec("create table `ypsync_t_rec_dis` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
  4215. }
  4216. if(!chk_table("ypsync_t_rec_xy",recdb.tables()))
  4217. {
  4218. recdb.exec("create table `ypsync_t_rec_xy` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
  4219. }
  4220. if(!chk_table("cnsync_t_rec",recdb.tables())){
  4221. recdb.exec("create table `cnsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
  4222. }
  4223. if(!chk_table("jasync_t_rec",recdb.tables())){
  4224. recdb.exec("create table `jasync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
  4225. }
  4226. if(!chk_table("hpsync_t_rec",recdb.tables())){
  4227. recdb.exec("create table `hpsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
  4228. }
  4229. if(!chk_table("newcnsync_t_rec",recdb.tables())){
  4230. recdb.exec("create table `newcnsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
  4231. }
  4232. if(!chk_table("ypywsync_t_rec",recdb.tables())){
  4233. recdb.exec("create table `ypywsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
  4234. }
  4235. if(!chk_table("xfzdsync_t_rec",recdb.tables())){
  4236. recdb.exec("create table `xfzdsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
  4237. }
  4238. if(recdb.transaction()){
  4239. while(sqlList2.length()>0){
  4240. recdb.exec(sqlList2.first());
  4241. sqlList2.removeFirst();
  4242. }
  4243. recdb.commit();
  4244. }
  4245. recdb.close();
  4246. }
  4247. // QSqlDatabase::removeDatabase("rec_db");
  4248. }
  4249. if((tmp_time-work_time)>59){
  4250. work_time = tmp_time;
  4251. qry = db.exec("select `app_name`, `app_path`, `keep_working`, `wait_time` , `log_limit`, `keep_size` from `app_t_conf`");
  4252. while(qry.next()){
  4253. QString app_name = qry.value(0).toString();
  4254. QString app_path = qry.value(1).toString();
  4255. bool keep_working = (qry.value(2).toUInt()==1);
  4256. uint wait_time = qry.value(3).toUInt();
  4257. bool log_limit = (qry.value(4).toUInt()==1);
  4258. qint64 keep_size = qry.value(5).toLongLong();
  4259. if(app_name.compare("workerman")==0){
  4260. QFileInfoList loglist= QDir(QString("%1").arg(app_path)).entryInfoList();
  4261. qint64 current_size = 0;
  4262. uint current_time = 0;
  4263. // bool nofile = true;
  4264. for(int i=0;i<loglist.length();i++)
  4265. {
  4266. QFileInfo info = loglist.at(i);
  4267. if(((info.isFile())&&(!info.isDir()))&&(info.suffix().indexOf("log")>=0))
  4268. {
  4269. // nofile = false;
  4270. current_size += info.size();
  4271. if(info.lastModified().toTime_t()>current_time)
  4272. current_time = info.lastModified().toTime_t();
  4273. }
  4274. }
  4275. if(log_limit){
  4276. if(current_size>keep_size){
  4277. ret = system(QString("rm -f %1/*.log").arg(app_path).toUtf8().data());
  4278. db.exec(QString("insert into operation_t_rec (`id`, `app_name`, `operation_type`, `operation_comment`,`store_time`) values (NULL,'%1',2,'delete file %2/*.log', '%3')").arg(app_name).arg(app_path).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  4279. }
  4280. }
  4281. }else{
  4282. QDir dir(QString("%1/log").arg(app_path));
  4283. dir.setSorting(QDir::Time|QDir::Reversed);
  4284. QFileInfoList loglist = dir.entryInfoList();
  4285. qint64 current_size = 0;
  4286. uint current_time = 0;
  4287. // bool nofile = true;
  4288. for(int i=0;i<loglist.length();i++)
  4289. {
  4290. QFileInfo info = loglist.at(i);
  4291. if((info.isFile())&&(!info.isDir()))
  4292. {
  4293. // nofile = false;
  4294. current_size += info.size();
  4295. if(info.lastModified().toTime_t()>current_time)
  4296. current_time = info.lastModified().toTime_t();
  4297. }
  4298. }
  4299. if(log_limit){
  4300. if(current_size>keep_size)
  4301. {
  4302. for(int i=0;i<loglist.length();i++)
  4303. {
  4304. QFileInfo info = loglist.at(i);
  4305. qint64 f_size = info.size();
  4306. if((info.isFile())&&(!info.isDir())&&(f_size>0))
  4307. {
  4308. if(QFile(info.absoluteFilePath()).remove())
  4309. {
  4310. db.exec(QString("insert into operation_t_rec (`id`, `app_name`, `operation_type`, `operation_comment`,`store_time`) values (NULL,'%1',2,'delete file %2', '%3')").arg(app_name).arg(info.fileName()).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  4311. current_size -= f_size;
  4312. }
  4313. }
  4314. if(current_size<=keep_size)
  4315. break;
  4316. }
  4317. ret = system(QString("rm -f %1/vendor/workerman/*.log").arg(app_path).toUtf8().data());
  4318. }
  4319. }
  4320. uint c_time = QDateTime::currentDateTime().toTime_t();
  4321. if(keep_working)
  4322. {
  4323. if(((c_time-wait_time)>(current_time+(times*60)))
  4324. &&(current_time>0))
  4325. {
  4326. ret = system(QString("cd %1 && php start.php restart -d && cd").arg(app_path).toUtf8().data());
  4327. db.exec(QString("insert into operation_t_rec (`id`, `app_name`, `operation_type`, `operation_comment`,`store_time`) values (NULL,'%1',1,'restart(%2)', '%3')").arg(app_name).arg(QDateTime::fromTime_t(current_time).toString("yyyy-MM-dd HH:mm:ss")).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
  4328. }
  4329. }
  4330. }
  4331. }
  4332. qry.clear();
  4333. }
  4334. times++;
  4335. isRunning = false;
  4336. mdb.close();
  4337. mdbOpened = false;
  4338. }
  4339. QList<JaPno> Core::getJaPnoValue(QString pnoset)
  4340. {
  4341. QList<JaPno> list;
  4342. QJsonParseError json_error;
  4343. QJsonDocument jsonDoc(QJsonDocument::fromJson(pnoset.toUtf8(),&json_error));
  4344. if(json_error.error == QJsonParseError::NoError){
  4345. QJsonArray json_root = jsonDoc.array();
  4346. for(int i=0;i<json_root.size();i++){
  4347. QJsonObject obj = json_root.at(i).toObject();
  4348. QString name = obj.value("name").toString();
  4349. QString attr = obj.value("attr").toString();
  4350. int port = obj.value("port").toInt();
  4351. QString defvalue1 = obj.value("default1").toString();
  4352. QString defvalue2 = obj.value("default2").toString();
  4353. if((port>-2)&&(name.length()>0))
  4354. list.append(JaPno(name,attr,port,defvalue1,defvalue2));
  4355. }
  4356. }
  4357. return list;
  4358. }
  4359. QList<CnPno> Core::getPnoValue(QString pnoset)
  4360. {
  4361. QList<CnPno> list;
  4362. QJsonParseError json_error;
  4363. QJsonDocument jsonDoc(QJsonDocument::fromJson(pnoset.toUtf8(),&json_error));
  4364. if(json_error.error == QJsonParseError::NoError){
  4365. QJsonArray json_root = jsonDoc.array();
  4366. for(int i=0;i<json_root.size();i++){
  4367. QJsonObject obj = json_root.at(i).toObject();
  4368. QString name = obj.value("name").toString();
  4369. int port = obj.value("port").toInt();
  4370. QString defvalue = obj.value("default").toString();
  4371. if((port>-2)&&(name.length()>0))
  4372. list.append(CnPno(name,port,defvalue));
  4373. }
  4374. }
  4375. return list;
  4376. }
  4377. bool Core::chk_table(QString tablename, QStringList tables)
  4378. {
  4379. for(int i=0;i<tables.length();i++)
  4380. {
  4381. if(tables.at(i).compare(tablename)==0)
  4382. return true;
  4383. }
  4384. return false;
  4385. }
  4386. void Core::db_init()
  4387. {
  4388. if(!chk_table("app_t_conf",db.tables()))
  4389. {
  4390. db.exec("create table `app_t_conf` (`id` integer primary key autoincrement, `app_name` text(30), `app_path` text(256), `keep_working` integer , `wait_time` integer, `log_limit` integer, `keep_size` integer)");
  4391. db.exec("insert into `app_t_conf` (`id`, `app_name`, `app_path`, `keep_working`, `wait_time` , `log_limit`, `keep_size` ) values (NULL, 'workerman', '/usky/jd_ctiserver/vendor/workerman', 1, 1800, 1, 524288000)");
  4392. db.exec("insert into `app_t_conf` (`id`, `app_name`, `app_path`, `keep_working`, `wait_time` , `log_limit`, `keep_size` ) values (NULL, 'jd_rtu', '/jd_rtu', 1, 1800, 1, 524288000)");
  4393. db.exec("insert into `app_t_conf` (`id`, `app_name`, `app_path`, `keep_working`, `wait_time` , `log_limit`, `keep_size` ) values (NULL, 'jd_efire', '/usky/jd_electrical', 1, 3600, 1, 524288000)");
  4394. db.exec("insert into `app_t_conf` (`id`, `app_name`, `app_path`, `keep_working`, `wait_time` , `log_limit`, `keep_size` ) values (NULL, 'jd_userinfo', '/usky/jd_userinfo', 1, 900, 1, 524288000)");
  4395. db.exec("insert into `app_t_conf` (`id`, `app_name`, `app_path`, `keep_working`, `wait_time` , `log_limit`, `keep_size` ) values (NULL, 'jd_water', '/usky/jd_water', 1, 900, 1, 524288000)");
  4396. }
  4397. if(!chk_table("operation_t_rec",db.tables()))
  4398. {
  4399. db.exec("create table `operation_t_rec` (`id` integer primary key autoincrement, `app_name` text(30), `operation_type` integer, `operation_comment` text(256), `store_time` text(20))");
  4400. }
  4401. }