From f676f0a611c14f5e5cbf67dabb1d04b9d00daad1 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Fri, 23 Dec 2016 18:22:55 +0100 Subject: [PATCH] completato prima revisione x far redirezionare alle chiamate MVC le pagine enabled/alive/inputIOB con gestione chiamate da metodi MapoDb... da testare! --- .vs/MP-IO/v14/.suo | Bin 297984 -> 226816 bytes .vs/MP-MON/v14/.suo | Bin 198656 -> 197120 bytes MP-IO/Controllers/IOBController.cs | 23 +++---- MP-IO/inputIOB.aspx.cs | 82 ++----------------------- MapoDb/DataLayer.cs | 93 +++++++++++++++++++++++++++++ 5 files changed, 110 insertions(+), 88 deletions(-) diff --git a/.vs/MP-IO/v14/.suo b/.vs/MP-IO/v14/.suo index 61d61cb5650edfdc9b3dea441c41f74a791ff1af..65b75d9057b9d8628acaca797cd0f8fac8f9fddd 100644 GIT binary patch delta 5536 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%0A%^O>CV=X0yYMr7Pqx6l^sx}ANL+2 zzwD0DPJNbO+c`p|tXuA*?QBwZkb=8zQWDeHGw2i6t#~Hpt!Q*ZQ87{`H5NgG+nIF8 zwO|n_iPVYuSmHMC>HUbzlQ1hEp448L)$LPys4I6{rRq!6vX7)POBO z4Ca7zf;!L+KU*Q|!Pg~;Z8hhrT+ny31Ll_;H-{Obi(5tHfkDwuY3#0dvObX@<2e`aY9&mAvI9X~iCqw-fu8u5Lb3x7ehv zk8ZN=6o(qC7~TemV9XeFu`Q(Fy%@)R9y-~h^oc|#Et=n}tSiaM$~7jHNH#UQoBA8I7*1>mbPP_UX~^GFu3ib-He1KK z3hUX0#udSdLOjz|-~URiI>p5Prt5j|WoV2|rvCN;|HE0;H1C9UEpbx8{Pa{}7b@A^ z^jEcFF^^&jLjDAj9nJWHEi-AAw}tU$=2Og&XH@3RO)}3(%jey&iM)Dc;@qQ04+WM+ z`K^Ya!7xh0}a6xIhzV1}&f!>;mkiD;Wkc-wqgFkcMGk&S)dD4|P75QIUeSGiz+x z?5>iZnUiXAW42|Rl7IEhV9;4SOiWI+-JjP^wF)l2Jhx-Qxs7I$I530SvmaByBKtLG z)k{$)&KR*rCNz#1NroX#w(zEjcT(nj3dM<&S4!Q3bXUD~~t*)Ak8e>H{X34XE@!uRHaJ=phzmuKXxs-=00^4<(PF;tF^V zybnsktJbK$1AQF)70h)`z%zDvce2lw;TNgiG)lAM=>MPP|BEaa_m|l$H^k0;@(xgN zx>b(y*PLZ%<4sYuXfmy1Q#Dicpnv~*}7S7vd2eWI;8nL&}X9W(*?8C!3?E3ST zV8hfA6+eAm?hW=HIY>t+BXC;gpPrY?nEUNCW<44k+Lb{+h!agZdHWT4Y4F9%Zbjgd z92ih?e?8T)lgIKxJ$W<`9e7U3M#jFuFYYIO$h(RLqxq-XDTk*Wrd#aNt=M43og4M+ z!%Iefy^WUf#x~l;->Jk$vH#iy-v4dV^YI;|XU7JW?43`_*sAXx;RS9=3!zOJ=4hj5 zxwo0DvwgJBYq;qpdXqOcla^=gqF8>r6|1)6yBgk9MFadf4;6=gy@kqYsFY;Z`SCC} z^^%S!^pZMsxsFUP3|UDzG)gjeU8T*T%{SY2=GYi74qR zKlKNCd4s2;rPaN+!Q=9Fgw=x97SFz(o~P|4CAJFNYEyo3#cE4_VUf8gzif@AGQY6I zQdwjxEVfx}w(s;@4?E$`Nz!o7XIS;I-&4PW{wu!YL$0H;R>A*tgZe|)ZqRZCKQ=*C zp`E{wdnq!+_OCYm)LOiDtyqEZYa1RfZ*%SLba~7>_wnpM%O1^w8c(=}H{Ky*ve|65 z^oSj{poC6Ml3vBfuTldaoT7MY`-jed`Z+c8@k!dlJA$(B#0mMJF?8?)yvNX}tUUaM ze3IQQXyEoyxrIhT2R@Sf^eS6)cHc6 IM=4bFchO_sL;wH) delta 2358 zcmb_dYfMx}6uxKn0=uy2;>wDEuuyBa;A6#=;tLi<9@YYqt*yid;)^O;#KjsVfM|`4 zXmQ6drav0FwOecY!*VUxnAV^m{%F#oY1*c3%+}a6!AGrGllo$N&hAo4ZDN~rk}v1X zdClB!=FDx`YiwyZw$Gg~PLd=UF%$>{P)LBtLQF(V=0B&KRg>cgcv!8WeUiETwdGe} z25(@^P|5GHGJOU{Q3X$?4Q}%W-5$fGD4gPm<{+D!^{8Rt;FyAX1mgJ-Hd=YuUxoUw z2-=AqWh!DUA`uabptwwwO}ItUeW*VdwvR`d9@bmXPcS;+9p3-U zZ5o#RH{5nbF9vxTegH3zNq`~#MvU;}^g+B>eFMzgn3>G|Ic0poxar(ItDN`M+Kt<= zvI#-ssqE1|>amtYEYi(Cp*EOG!64<~+!C^Je_WXXh=ruE!9B($(-p-8?jKVQX;0R6 zo6Gfdk_jQVaSKX4f`-Rb@T|3r#6Tz-5XKaR>ydkzs zPiIC=g<-}UD5()?{P*;TU^>5V{!&k$n@vSBZK{8)5j-hJO&{T$_V;mE@)IeKV32pF zn)#X38r7O?19@5~hr1_~^MY7A_vcMktu`Mh>5-nsVww7qO1c}{z+)|z*>JeE9ONe~ z`mHWmH|$Dl^Nj6#YD0qcvtr?U1Sw+uHC8F+CbAy5!Xdp`S;@KvH$%c<+jN|5S(G z$Y6ryYeVp#kQ*|@&ZO4b(5gziXjcNt6)i5+lLd^H=Q)#Trqg{0MI@Fi~9ud&U0EkfVKG z3I*VG0^{|AUBcc37BQ*`^x8lL*bjJpAbX23e)ae8vX=TG`%LFu1k5`Kj&3VUS;Ci; zY~xiWYq_1pbSu!G1|8y3FPw)fV)qyDsc7p3J**X-XW4jBe-U0CEp3$6Noypxv`tzr zZI(LvVX0`j2pO8Qjn&5%6-W!E1$fHYDDx#dKKOR2P>x2Ap~GBx)8(nu9(`+J!Z8Ff$vGg`hDbSc|Gr_Ck!H z6>@@+Q?$|6Il{>?!&iQ&v$T=1yzXAQWa*>iOxIlI$u#_!`}K!*H-)j zA24ys4@F{BC$nj9`e7+(J-0w7i-!*(o-Zre6y&d}B)9uCYqjyEC0oLVwJ3`_{$Nhc zd6o6(yw_Pm$2Hay?q;$3Jp3MPQ*GxE!;4wSL`#6B^HmionsbmjLF8X$JIz^B>l&(e mwBj|Uf6^Y5{&2_oK%BqI3dONIuu*JCW^v-}B$np|9sCJkl_=K$ diff --git a/MP-IO/Controllers/IOBController.cs b/MP-IO/Controllers/IOBController.cs index dde3f5b1..da422c1c 100644 --- a/MP-IO/Controllers/IOBController.cs +++ b/MP-IO/Controllers/IOBController.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Web; using System.Web.Mvc; using MapoDb; +using SteamWare; namespace MP_IO.Controllers { @@ -69,18 +70,18 @@ namespace MP_IO.Controllers } return answ; } - // GET: IOB/input/5 - public string input(int? id) + // GET: IOB/input/5?valore=3&dtEve=20161223180600000&dtCurr=20161223180600000&cnt=999 + public string input(string id, string valore, string dtEve, string dtCurr, string cnt) { - string answ = "OK " + id.ToString(); - // controllo se sia da fare rilettura da DB dello stato macchina ( SE non c'è il valore oppure se il valore "maxAgeSec" è stato superato ) - - - // verifico se sia abilitato INSERT x una data macchina - - // cerco prima in cache memory (altrimenti la popolo da DB) - - + string answ = ""; + // formato yyyymmddHHMMSSnnn ovvero da anno a millisecondi + if (cnt == null) cnt = "0"; + DateTime dataOraEvento = DateTime.Now; + if (memLayer.ML.CRI("_logLevel") > 6) + { + logger.lg.scriviLog(string.Format("Valori letti:{0}idxMacchina: {1}{0}valore: {2}{0}dtEve: {3}{0}dtCurr: {4}{0}cnt: {5}", Environment.NewLine, id, valore, dtEve, dtCurr, cnt), tipoLog.INFO); + } + answ = DataLayer.processInput(id, valore, dtEve, dtCurr, cnt); return answ; } } diff --git a/MP-IO/inputIOB.aspx.cs b/MP-IO/inputIOB.aspx.cs index 37c02c3e..f80fa2f8 100644 --- a/MP-IO/inputIOB.aspx.cs +++ b/MP-IO/inputIOB.aspx.cs @@ -19,6 +19,8 @@ namespace MP_IO /// protected void Page_Load(object sender, EventArgs e) { + Response.Redirect(string.Format("IOB/input/{0}?valore={1}&dtEve={2}&dtCurr={3}&cnt={4}", Request.QueryString["idxMacchina"], Request.QueryString["valore"], Request.QueryString["dtEve"], Request.QueryString["dtCurr"], Request.QueryString["cnt"])); +#if false // legge i get x processare la seriale string idxMacchina = ""; string valore = ""; @@ -42,86 +44,12 @@ namespace MP_IO } catch { } - // controllo: se ho valori dt x evento e orario DIVERSI per acquisitore IOB calcolo dataOraEvento corretto - if (dtEve != dtCurr) - { - Int64 delta = 0; - try - { - delta = Convert.ToInt64(dtCurr) - Convert.ToInt64(dtEve); - // se meno di 60'000 ms ... - if (delta < 59999) - { - dataOraEvento = dataOraEvento.AddMilliseconds(-delta); - } - else - { - // in questo caso elimino i MS dalle stringhe e converto i datetime.... - CultureInfo provider = CultureInfo.InvariantCulture; - string format = "yyyyMMddHHmmssfff"; - DateTime dtEvento = DateTime.ParseExact(dtEve, format, provider); - DateTime dtCorrente = DateTime.ParseExact(dtCurr, format, provider); - Int64 tiks = dtCorrente.Ticks - dtEvento.Ticks; - dataOraEvento = dataOraEvento.AddTicks(-tiks); - } - } - catch (Exception exc) - { - logger.lg.scriviLog(string.Format("Errore calcolo ms evento/ora corrente da device remoto:{0}dtEve: {1}{0}dtCurr: {2}{0}{3}", Environment.NewLine, dtEve, dtCurr, exc), tipoLog.EXCEPTION); - } - } - // - if (idxMacchina != null && valore != null) - { - if (idxMacchina != "" && valore != "") - { - // 2016.12.23 modifica x recording catena di input... - // se abilitato registro evento sul DB - int idxMacc = 0; - try - { - idxMacc = Convert.ToInt32(idxMacchina); - } - catch - { } - if (idxMacc > 0 && MapoDb.MapoDb.obj.sLogEnabled(idxMacc)) - { - MapoDb.MapoDb.obj.saveSigLog(idxMacchina, valore, dataOraEvento, contatore); - } - // continuo col resto - try - { - // ora processo e salvo il valore del microstato... - MapoDb.MapoDb.obj.checkMicroStato(idxMacchina, valore, dataOraEvento, contatore); - answ = "OK"; // registro in risposta che è andato tutto bene... - } - catch (Exception exc) - { - if (memLayer.ML.confReadInt("_logLevel") > 5) - { - string errore = string.Format("Errore: {0}{1}", Environment.NewLine, exc); - logger.lg.scriviLog(errore, tipoLog.EXCEPTION); - answ = errore; - } - } - } - else - { - string errore = "Errore: parametri macchina/valore vuoti"; - logger.lg.scriviLog(errore, tipoLog.ERROR); - answ = errore; - } - } - else - { - string errore = "Errore: mancano parametri macchina/valore"; - logger.lg.scriviLog(errore, tipoLog.ERROR); - answ = errore; - } + answ = DataLayer.processInput(idxMacchina, valore, dtEve, dtCurr, contatore); // ripulisco pagina restituita e tolgo html (solo codice ok/NO) Response.Clear(); Response.Write(answ); - Context.Response.End(); + Context.Response.End(); +#endif } } } \ No newline at end of file diff --git a/MapoDb/DataLayer.cs b/MapoDb/DataLayer.cs index 00f923ab..0e5a338b 100644 --- a/MapoDb/DataLayer.cs +++ b/MapoDb/DataLayer.cs @@ -4,6 +4,7 @@ using System.Text; using SteamWare; using System.Reflection; using System.Data.SqlClient; +using System.Globalization; namespace MapoDb { @@ -396,6 +397,98 @@ namespace MapoDb return answ; } } + /// + /// Processa input da IOB eventualmente registrando i segnali inviati + /// + /// + /// + /// + /// + /// + /// + public static string processInput(string idxMacchina, string valore, string dtEve, string dtCurr, string contatore) + { + + string answ = ""; + DateTime dataOraEvento = DateTime.Now; + // controllo: se ho valori dt x evento e orario DIVERSI per acquisitore IOB calcolo dataOraEvento corretto + if (dtEve != dtCurr) + { + Int64 delta = 0; + try + { + delta = Convert.ToInt64(dtCurr) - Convert.ToInt64(dtEve); + // se meno di 60'000 ms ... + if (delta < 59999) + { + dataOraEvento = dataOraEvento.AddMilliseconds(-delta); + } + else + { + // in questo caso elimino i MS dalle stringhe e converto i datetime.... + CultureInfo provider = CultureInfo.InvariantCulture; + string format = "yyyyMMddHHmmssfff"; + DateTime dtEvento = DateTime.ParseExact(dtEve, format, provider); + DateTime dtCorrente = DateTime.ParseExact(dtCurr, format, provider); + Int64 tiks = dtCorrente.Ticks - dtEvento.Ticks; + dataOraEvento = dataOraEvento.AddTicks(-tiks); + } + } + catch (Exception exc) + { + logger.lg.scriviLog(string.Format("Errore calcolo ms evento/ora corrente da device remoto:{0}dtEve: {1}{0}dtCurr: {2}{0}{3}", Environment.NewLine, dtEve, dtCurr, exc), tipoLog.EXCEPTION); + } + } + // + if (idxMacchina != null && valore != null) + { + if (idxMacchina != "" && valore != "") + { + // 2016.12.23 modifica x recording catena di input... + // se abilitato registro evento sul DB + int idxMacc = 0; + try + { + idxMacc = Convert.ToInt32(idxMacchina); + } + catch + { } + if (idxMacc > 0 && MapoDb.obj.sLogEnabled(idxMacc)) + { + MapoDb.obj.saveSigLog(idxMacchina, valore, dataOraEvento, contatore); + } + // continuo col resto + try + { + // ora processo e salvo il valore del microstato... + MapoDb.obj.checkMicroStato(idxMacchina, valore, dataOraEvento, contatore); + answ = "OK"; // registro in risposta che è andato tutto bene... + } + catch (Exception exc) + { + if (memLayer.ML.confReadInt("_logLevel") > 5) + { + string errore = string.Format("Errore: {0}{1}", Environment.NewLine, exc); + logger.lg.scriviLog(errore, tipoLog.EXCEPTION); + answ = errore; + } + } + } + else + { + string errore = "Errore: parametri macchina/valore vuoti"; + logger.lg.scriviLog(errore, tipoLog.ERROR); + answ = errore; + } + } + else + { + string errore = "Errore: mancano parametri macchina/valore"; + logger.lg.scriviLog(errore, tipoLog.ERROR); + answ = errore; + } + return answ; + } #endregion }