Beispiel #1
0
    /// <summary>
    /// 温度相差8度
    /// </summary>
    /// <param name="eleHighTemID"></param>
    /// <param name="highTemValueCur"></param>
    /// <param name="eleLowTemID"></param>
    /// <param name="lowTemValueCur"></param>
    /// <param name="rd_cur"></param>
    /// <returns></returns>
    protected bool subTemExp(string eleHighTemID, string highTemValueCur, string eleLowTemID, string lowTemValueCur, RecordeData2 rd_cur)
    {
        bool flag = false;

        if (rd_cur != null && mRecordeData_Pre != null)
        {
            int maxTemSub = 0;
            int minTemSub = 0;

            foreach (RecordeData2 rd_pre in mRecordeData_Pre)
            {
                if (rd_cur.StationID == rd_pre.StationID && rd_cur.Time == rd_pre.Time && rd_cur.DataType == rd_pre.DataType)
                {
                    string highTemValuePre = valueElement(eleHighTemID, rd_pre);
                    string lowTemValuePre  = valueElement(eleLowTemID, rd_pre);

                    if (!(eleHighTemID == "" || highTemValueCur == "" || highTemValuePre == "" || highTemValueCur == "99" || highTemValuePre == "99"))
                    {
                        maxTemSub = temNgv(highTemValueCur) - temNgv(highTemValuePre);
                    }
                    if (!(eleLowTemID == "" || lowTemValueCur == "" || lowTemValuePre == "" || lowTemValueCur == "99" || lowTemValuePre == "99"))
                    {
                        minTemSub = temNgv(lowTemValueCur) - temNgv(lowTemValuePre);
                    }

                    if (Math.Abs(maxTemSub) >= 8 || Math.Abs(minTemSub) >= 8)
                    {
                        TemRecordData trd = new TemRecordData();
                        trd.Time        = rd_pre.Time.Value;
                        trd.TimeType    = rd_pre.TimeType.Value;
                        trd.DataType    = rd_pre.DataType.Value;
                        trd.StationID   = rd_pre.StationID;
                        trd.StationName = rd_pre.StationName;
                        if (highTemValuePre != "")
                        {
                            trd.HighTem = temNgv(highTemValuePre).ToString();
                        }
                        if (lowTemValuePre != "")
                        {
                            trd.LowTem = temNgv(lowTemValuePre).ToString();
                        }
                        ExpStationMessage.SubTemStationName.Add(trd);

                        flag = true;
                        return(flag);
                    }
                    break;
                }
            }
        }
        return(flag);
    }
Beispiel #2
0
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ///20130702/////
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    /// <summary>
    /// 20130702 与前一天温度对比
    /// </summary>
    protected void cmpCurTemPre()
    {
        rd_Tem_SubErr = new List <TemRecordData>();

        string maxTemEl = "";
        string minTemEl = "";


        for (int i = 0; i < mElementRelation.Length; i++)
        {
            string elementName = mElementRelation[i].ElementNameCN;

            switch (elementName)
            {
            case "最高气温":
                maxTemEl = mElementRelation[i].ElementName;

                break;

            case "最低气温":
                minTemEl = mElementRelation[i].ElementName;

                break;

            default:
                break;
            }
        }

        try
        {
            if (mRecordeData != null && mRecordeData_Pre != null)
            {
                foreach (RecordeData rd_cur in mRecordeData)
                {
                    foreach (RecordeData rd_pre in mRecordeData_Pre)
                    {
                        if (rd_cur.StationID == rd_pre.StationID && rd_cur.DataType == rd_pre.DataType && rd_cur.Time == rd_pre.Time)
                        {
                            int maxTemSub = 0;
                            int minTemSub = 0;

                            string maxTemValueCur = valueElement(maxTemEl, rd_cur);
                            string minTemValueCur = valueElement(minTemEl, rd_cur);
                            string maxTemValuePre = valueElement(maxTemEl, rd_pre);
                            string minTemValuePre = valueElement(minTemEl, rd_pre);
                            if (!(maxTemEl == "" || maxTemValueCur == "" || maxTemValuePre == "" || maxTemValueCur == "99" || maxTemValuePre == "99"))
                            {
                                maxTemSub = temNgv(maxTemValueCur) - temNgv(maxTemValuePre);
                            }
                            if (!(minTemEl == "" || minTemValueCur == "" || minTemValuePre == "" || minTemValueCur == "99" || minTemValuePre == "99"))
                            {
                                minTemSub = temNgv(minTemValueCur) - temNgv(minTemValuePre);
                            }

                            if (Math.Abs(maxTemSub) >= 8 || Math.Abs(minTemSub) >= 8)
                            {
                                TemRecordData trd = new TemRecordData();
                                trd.Time      = rd_pre.Time;
                                trd.TimeType  = rd_pre.TimeType;
                                trd.DataType  = rd_pre.DataType;
                                trd.StationID = rd_pre.StationID;
                                if (maxTemValuePre != "")
                                {
                                    trd.HighTem = temNgv(maxTemValuePre).ToString();
                                }
                                if (minTemValuePre != "")
                                {
                                    trd.LowTem = temNgv(minTemValuePre).ToString();
                                }
                                rd_Tem_SubErr.Add(trd);
                                //rd_Tem_Err.Add(rd_pre);
                            }


                            //如果有满足需求的,就跳出本次判断,以减少判断次数
                            break;
                        }
                    }
                }
            }
        }

        catch
        {
        }
    }