public string GetJSON(AVirtualSection obj) { FreightBreakOpenValue = obj.FreightBreakOpenValue; FreightBreakOpenTime = obj.FreightBreakOpenTime; BreakOpenTime = obj.BreakOpenTime; BreakOpenValue = obj.BreakOpenValue; LiftSpeedTime = obj.LiftSpeedTime; LiftSpeedValue = obj.LiftSpeedValue; PatrolTime = obj.PatrolTime; PatrolValue = obj.PatrolValue; JavaScriptSerializer serializer = new JavaScriptSerializer(); return(serializer.Serialize(this)); }
public override LEVELINFO LevelCalc(ALARMLEVEL[] alarmLevels, int rows, AVirtualSection avobj) { LEVELINFO m_pLastLevelInfo = new LEVELINFO(); LEVELINFO li = new LEVELINFO(); int lvl = -1; int maxLevel = -1; foreach (ILevelCalc obj in m_pLeveCalcs) { lvl = obj.Calc(alarmLevels, rows, g_nRecords, g_pList, this, ref li, avobj); if (lvl > maxLevel) { maxLevel = lvl; m_pLastLevelInfo = li; } } return(m_pLastLevelInfo); }
public int Calc(ALARMLEVEL[] alarmLevels, int rows, int nRecords, RFCLICK[] g_pList, ASiteObj obj, ref LEVELINFO pLevelinfo, AVirtualSection avobj) { int i, hourRain, d; hourRain = 0; long N = nRecords; for (i = 0; i < rows; ++i) { if (alarmLevels[i].tag != TagType.tag_daily) { continue; } hourRain = alarmLevels[i].dur * 10; long _nLiftTime = 0; //int span = 0; //d = alarmLevels[i].delta * 10; //switch (alarmLevels[i].level) //{ // case 1: // span = d + avobj.PatrolValue; // break; // case 2: // span = d + avobj.LiftSpeedValue; // _nLiftTime = avobj.LiftSpeedTime; // break; // case 3: // span = d + avobj.BreakOpenValue; // break; // case 4: // span = d + avobj.FreightBreakOpenValue; // break; //} long _nNow = g_pList[N - 1].tm; if (_nNow - _nLiftTime >= alarmLevels[i].dur * 24 * 3600) { long _nStart = _nNow - alarmLevels[i].dur * 24 * 3600; int _nRain = 0; while (N >= 1) { if (g_pList[N - 1].tm <= _nNow && g_pList[N - 1].tm >= _nStart) { _nRain++; if (N == 1) { break; } if (g_pList[N - 1].tm - g_pList[N - 2].tm >= 48 * 3600) { break; } } else { break; } N--; } if (_nRain >= alarmLevels[i].delta * 10) { if (i < rows) { pLevelinfo.site_id = obj.SiteID; pLevelinfo.t1 = Time.DateTime2DbTime(System.DateTime.Now); pLevelinfo.t2 = alarmLevels[i].dur; pLevelinfo.delta = alarmLevels[i].delta * 10; pLevelinfo.level = alarmLevels[i].level; pLevelinfo.tag = TagType.tag_daily; pLevelinfo.liftValue = alarmLevels[i].liftValue; pLevelinfo.liftTime = 600; pLevelinfo.TRAIN = alarmLevels[i].TRAIN; } else { return(-1); } } } } return(pLevelinfo.level); }
public int Calc(ALARMLEVEL[] alarmLevels, int rows, int nRecords, RFCLICK[] g_pList, ASiteObj obj, ref LEVELINFO pLevelinfo, AVirtualSection avobj) { /* * int i; * int hourRain = 0; * long N = nRecords; * for (i = 0; i < rows; ++i) * { * if (alarmLevels[i].tag != TagType.tag_hourcont) * continue; * hourRain = alarmLevels[i].dur * 10; * if (g_pList[N - 1].contJmp >= alarmLevels[i].delta * 10) * { * if (g_pList[N - 1].tm - g_pList[N - alarmLevels[i].delta * 10].tm < alarmLevels[i].c_time * 60) * { * int nDouble = 0; * switch (alarmLevels[i].level) * { * * case 3: * nDouble = hourRain + avobj.BreakOpenValue; * break; * case 4: * nDouble = hourRain + avobj.FreightBreakOpenValue; * break; * } * if (N >= nDouble) * { * long span = 0; * if (hourRain > 0) * span = g_pList[N - 1].tm - g_pList[N - hourRain].tm; * else * span = g_pList[N - 1].tm - g_pList[N - 1].tm; * if (span <= 3600) * { * if (i < rows) * { * pLevelinfo.site_id = obj.SiteID; * pLevelinfo.t1 = Time.DateTime2DbTime(System.DateTime.Now); * pLevelinfo.t2 = 0; * pLevelinfo.delta = g_pList[N - 1].contJmp; * pLevelinfo.level = alarmLevels[i].level; * pLevelinfo.tag = TagType.tag_hourcont; * pLevelinfo.hValue = hourRain; * pLevelinfo.liftValue = alarmLevels[i].liftValue; * pLevelinfo.liftTime = 600; * pLevelinfo.TRAIN = alarmLevels[i].TRAIN; * } * else * return -1; * } * } * } * * } * } * return pLevelinfo.level; */ return(0); }
public int Calc(ALARMLEVEL[] alarmLevels, int rows, int nRecords, RFCLICK[] g_pList, ASiteObj obj, ref LEVELINFO pLevelinfo, AVirtualSection avobj) { int i, hourRain; hourRain = 0; long N = nRecords; for (i = 0; i < rows; ++i) { if (alarmLevels[i].tag != TagType.tag_cont) { continue; } hourRain = alarmLevels[i].dur * 10; if (alarmLevels[i].level == 1) { if (g_pList[N - 1].contJmp == alarmLevels[i].delta * 10) { if (i < rows) { pLevelinfo.site_id = obj.SiteID; pLevelinfo.t1 = Time.DateTime2DbTime(System.DateTime.Now); pLevelinfo.t2 = 0; pLevelinfo.delta = g_pList[N - 1].contJmp; pLevelinfo.level = alarmLevels[i].level; pLevelinfo.tag = TagType.tag_cont; pLevelinfo.TRAIN = alarmLevels[i].TRAIN; } else { return(-1); } } } else { if (hourRain <= 0) { if (g_pList[N - 1].contJmp == alarmLevels[i].delta * 10) { if (i < rows) { pLevelinfo.site_id = obj.SiteID; pLevelinfo.t1 = Time.DateTime2DbTime(System.DateTime.Now); pLevelinfo.t2 = 0; pLevelinfo.delta = g_pList[N - 1].contJmp; pLevelinfo.level = alarmLevels[i].level; pLevelinfo.tag = TagType.tag_cont; pLevelinfo.hValue = hourRain; pLevelinfo.liftValue = alarmLevels[i].liftValue; pLevelinfo.liftTime = 600; pLevelinfo.TRAIN = alarmLevels[i].TRAIN; } else { return(-1); } } } else { if (g_pList[N - 1].contJmp >= alarmLevels[i].delta * 10) { int nDouble = 0; switch (alarmLevels[i].level) { case 2: nDouble = hourRain + avobj.LiftSpeedValue; break; case 3: nDouble = hourRain + avobj.BreakOpenValue; break; case 4: nDouble = hourRain + avobj.FreightBreakOpenValue; break; } if (N >= nDouble) { long span = 0; if (hourRain > 0) { span = g_pList[N - 1].tm - g_pList[N - hourRain].tm; } else { span = g_pList[N - 1].tm - g_pList[N - 1].tm; } if (span <= 3600) { if (i < rows) { pLevelinfo.site_id = obj.SiteID; pLevelinfo.t1 = Time.DateTime2DbTime(System.DateTime.Now); pLevelinfo.t2 = 0; pLevelinfo.delta = g_pList[N - 1].contJmp; pLevelinfo.level = alarmLevels[i].level; pLevelinfo.tag = TagType.tag_cont; pLevelinfo.hValue = hourRain; pLevelinfo.liftValue = alarmLevels[i].liftValue; pLevelinfo.liftTime = 600; pLevelinfo.TRAIN = alarmLevels[i].TRAIN; } else { return(-1); } } } } } } } return(pLevelinfo.level); }
public int Calc(ALARMLEVEL[] alarmLevels, int rows, int nRecords, RFCLICK[] g_pList, ASiteObj obj, ref LEVELINFO pLevelinfo, AVirtualSection avobj) { int i, d, h; int N = nRecords; for (i = 0; i < rows; i++) { if (alarmLevels[i].tag != TagType.tag_delta) { continue; } int span = 0; d = alarmLevels[i].delta * 10; switch (alarmLevels[i].level) { case 1: span = d + avobj.PatrolValue; break; case 2: span = d + avobj.LiftSpeedValue; break; case 3: span = d + avobj.BreakOpenValue; break; case 4: span = d + avobj.FreightBreakOpenValue; break; } if (N >= span) { if (g_pList[N - 1].tm - g_pList[N - d].tm <= alarmLevels[i].dur * 60) { if (alarmLevels[i].level > pLevelinfo.level) { pLevelinfo.dur = alarmLevels[i].dur.ToString(); pLevelinfo.level = alarmLevels[i].level; pLevelinfo.delta = d; pLevelinfo.t1 = g_pList[N - d].tm; pLevelinfo.t2 = g_pList[N - 1].tm; pLevelinfo.tag = TagType.tag_delta; pLevelinfo.liftValue = alarmLevels[i].liftValue; pLevelinfo.liftTime = 600; pLevelinfo.site_id = obj.SiteID; pLevelinfo.TRAIN = alarmLevels[i].TRAIN; } } } } return(pLevelinfo.level); }