Beispiel #1
0
 public override string Entry4FanInPubData(string name, string data)
 {
     Logging.logger.Debug(name + "" + data);
     if (name == "WarnPub")
     {
         PushMessage pm = (PushMessage)JsonConvert.DeserializeObject(data, typeof(PushMessage));
         ProcessWarnIssue(pm);
     }
     return(null);
 }
Beispiel #2
0
        public static int PushWarningMessage(ModuleBase current, string name, WarningMessageModel wmm)
        {
            if (current == null || wmm == null || name == null)
            {
                Logging.logger.Error(MsgConstStr.ParmNull + " " + current + " " + name + " " + wmm);
                return(-1);
            }

            PushMessage sm = new PushMessage();

            sm.ModName  = current.ModName;
            sm.MsgType  = Warning.WarnType.ToString();
            sm.Content  = JsonConvert.SerializeObject(wmm);
            wmm.modname = current.ModName;
            string json = JsonConvert.SerializeObject(sm);
            int    rlt  = current.FaninClientSendData(name, json);

            if (rlt != 0)
            {
                Logging.logger.Error(MsgConstStr.FaninCSendFail + " " + 0);
                return(-1);
            }
            return(0);
        }
Beispiel #3
0
        private int ProcessWarnIssue(PushMessage pm)
        {
            bool ret;
            int  rlt = -1;

            if (ModWarnSts.ContainsKey(pm.ModName))
            {
                ModWarnStsAll mwsa = ModWarnSts[pm.ModName];

                if (mwsa.ModName != pm.ModName)
                {
                    Logging.logger.Error(MsgConstStr.ModNameWrong + mwsa.ModName + " " + pm.ModName);
                    return(rlt);
                }

                WarningMessageModel wmm = (WarningMessageModel)JsonConvert.DeserializeObject(pm.Content, typeof(WarningMessageModel));

                if (mwsa.WarnStsMon.ContainsKey(wmm.warnNo))
                {
                    WarnStsMonAll wsma = mwsa.WarnStsMon[wmm.warnNo];

                    if (wsma.WarnNo != wmm.warnNo)
                    {
                        Logging.logger.Error(MsgConstStr.WarnIssueWrong);
                        return(rlt);
                    }

                    WarnStatusMon wsm;
                    if (wsma.WarnCodeAll.ContainsKey(wmm.code))
                    {
                        wsm = wsma.WarnCodeAll[wmm.code];
                        if (wsm.code != wmm.code)
                        {
                            Logging.logger.Warn(MsgConstStr.WarnCodeWrong);
                            wsm.code = wmm.code;
                        }

                        if (wsm.WarnNo != wmm.warnNo)
                        {
                            Logging.logger.Warn(MsgConstStr.WarnIssueWrong);
                            wsm.WarnNo = wmm.warnNo;
                        }

                        if (wsm.status == WarningSts.NormalSts)
                        {
                            //save data to db
                            ret = WarningDA.AddWarning(wmm);
                            if (ret)
                            {
                                wsm.status = WarningSts.WarnSts;
                                wsm.start  = Convert.ToDateTime(wmm.time);
                                wsm.count  = 0;
                                rlt        = 0;
                            }
                            else
                            {
                                Logging.logger.Error(MsgConstStr.SaveWarn2DBWrong);
                            }
                        }
                        else
                        {
                            if (DateTime.Compare(wsm.start.AddMinutes(warntimelimit), DateTime.Now) < 0)
                            {
                                //save data to db
                                ret = WarningDA.AddWarning(wmm);
                                if (ret)
                                {
                                    wsm.status = WarningSts.WarnSts;
                                    wsm.count  = 0;
                                    wsm.start  = Convert.ToDateTime(wmm.time);
                                    rlt        = 0;
                                }
                                else
                                {
                                    Logging.logger.Error(MsgConstStr.SaveWarn2DBWrong);
                                }
                            }
                            else
                            {
                                wsm.count += 1;
                            }
                        }
                    }
                    else
                    {
                        wsm           = new WarnStatusMon();
                        wsm.code      = wmm.code;
                        wsm.start     = Convert.ToDateTime(wmm.time);
                        wsm.status    = WarningSts.WarnSts;
                        wsm.WarnNo    = wmm.warnNo;
                        wsm.WarnValue = wmm.title;
                        wsm.count     = 0;

                        ret = WarningDA.AddWarning(wmm);
                        if (!ret)
                        {
                            Logging.logger.Error(MsgConstStr.SaveWarn2DBWrong);
                        }
                        rlt = 0;
                        wsma.WarnCodeAll.Add(wsm.code, wsm);
                    }
                }
                else
                {
                    Logging.logger.Error(MsgConstStr.NoWarnIssue);
                    return(rlt);
                }
            }
            else
            {
                Logging.logger.Error(MsgConstStr.NoWarnIssue);
                rlt = 0;
            }
            return(rlt);
        }