Example #1
0
 public TDepthNode(EIssueType issueType, DateTime issueDateTime, String nodeCode, String depth)
 {
     IssueType     = issueType;
     IssueDateTime = issueDateTime;
     NodeCode      = nodeCode;
     Depth         = depth;
 }
Example #2
0
        public static List <TDetail> GetDetailsByTimeRange(EIssueType issueType, DateTime start, DateTime end)
        {
            List <TDetail> result = new List <TDetail>();

            using (var connection = SQLiteHelper.Connect())
            {
                connection.Open();
                result.GetNodeDetailsByTimeRange(connection, issueType, start, end);
                //这里可以做一次优化,所有一次取出,本地匹配处理
                var d = result.FirstOrDefault();
                if (d != null && d.IssueType == EIssueType.侧斜监测)
                {
                    foreach (var detail in result)
                    {
                        detail.FetchDepthNodes(connection);
                    }
                }
                else
                {
                    foreach (var detail in result)
                    {
                        detail.FetchNodes(connection);
                    }
                }
                connection.Close();
            }
            return(result);
        }
Example #3
0
        public string GetText(EIssueType issueType)
        {
            switch (issueType)
            {
            case EIssueType.建筑物沉降:
                return($"日报警值连续{GetText(BuildingSubsidence_Day)}天±{GetText(BuildingSubsidence_DailyMillimeter)}mm;累计{GetText(BuildingSubsidence_SumMillimeter)}mm");

            case EIssueType.地表沉降:
                return($"日报警值连续{GetText(SurfaceSubsidence_Day)}天±{GetText(SurfaceSubsidence_DailyMillimeter)}mm;累计{GetText(SurfaceSubsidence_SumMillimeter)}mm");

            case EIssueType.管线沉降_有压:
                return($"日报警值连续{GetText(PressedPipeLineSubsidence_Day)}天±{GetText(PressedPipeLineSubsidence_PipelineMillimeter)}mm、±{GetText(PressedPipeLineSubsidence_WellMillimeter)}mm(自流井);累计{GetText(PressedPipeLineSubsidence_SumMillimeter)}mm");

            case EIssueType.管线沉降_无压:
                return($"日报警值连续{GetText(UnpressedPipeLineSubsidence_Day)}天±{GetText(UnpressedPipeLineSubsidence_PipelineMillimeter)}mm、±{GetText(UnpressedPipeLineSubsidence_WellMillimeter)}mm(自流井);累计{GetText(UnpressedPipeLineSubsidence_SumMillimeter)}mm");

            case EIssueType.侧斜监测:
                return($"端头井累计值{GetText(SkewBack_WellMillimeter)}mm,标准段累计值{GetText(SkewBack_StandardMillimeter)}mm,变形速率{GetText(SkewBack_Speed)}mm/d(连续{GetText(SkewBack_Day)}天)");

            case EIssueType.钢支撑轴力监测:
                return($"大于设计轴力{GetText(STBAP_MaxAxleRate)}%,小于设计轴力{GetText(STBAP_MinAxleRate)}%");

            default:
                throw new NotImplementedException("暂不支持该类型");
            }
        }
Example #4
0
 public TNode(String segregation, EIssueType issueType, DateTime issueDateTime, String nodeCode)
 {
     Segregation   = segregation;
     IssueType     = issueType;
     IssueDateTime = issueDateTime;
     NodeCode      = nodeCode;
 }
Example #5
0
        public static string GetSheetName(this EIssueType issueType)
        {
            switch (issueType)
            {
            case EIssueType.TFFK:
                return("土方分块");

            case EIssueType.ZQDSPWY:
                return("桩(墙)顶水平位移");

            case EIssueType.ZQDCJ:
                return("桩(墙)顶沉降");

            case EIssueType.ZBDBCJ:
                return("周边地表沉降");

            case EIssueType.GXCJ:
                return("管线沉降");

            case EIssueType.TZC:
                return("砼支撑");

            case EIssueType.GZC:
                return("钢支撑");

            case EIssueType.SW:
                return("水位");

            case EIssueType.CX:    //侧斜无固定SheetName,特殊处理为CXn
            case EIssueType.None:
            default:
                throw new NotImplementedException();
            }
        }
Example #6
0
        /// <summary>
        /// 日周期化的数据(TNode数据)
        /// </summary>
        public static List <DateTimeValue> GetDateTimeValues(EIssueType issueType, string nodeCode, string fieldName, DateTime startTime, int daySpan)
        {
            List <DateTimeValue> result;

            using (var connection = SQLiteHelper.Connect())
            {
                connection.Open();
                switch (issueType)
                {
                case EIssueType.建筑物沉降:
                case EIssueType.地表沉降:
                case EIssueType.管线沉降_有压:
                case EIssueType.管线沉降_无压:
                case EIssueType.钢支撑轴力监测:
                    result = new TNode().GetDateTimeValues(issueType, nodeCode, fieldName, startTime, daySpan, connection);
                    break;

                case EIssueType.侧斜监测:
                default:
                    throw new NotImplementedException("该方法暂不支持该类型");
                }
                connection.Close();
            }
            return(result);
        }
Example #7
0
        public static EIssueTypeEntity GetEntity(this EIssueType issueType)
        {
            switch (issueType)
            {
            case EIssueType.建筑物沉降:
                return(new BuildingSubsidence());

            case EIssueType.地表沉降:
                return(new SurfaceSubsidence());

            case EIssueType.钢支撑轴力监测:
                return(new STBAP());

            case EIssueType.管线沉降_无压:
                return(new UnpressedPipeLineSubsidence());

            case EIssueType.管线沉降_有压:
                return(new PressedPipeLineSubsidence());

            case EIssueType.侧斜监测:
                return(new SkewBack());

            default:
                throw new NotImplementedException($"暂未实现类型{issueType.ToString()}的EIssueTypeEntity");
            }
        }
Example #8
0
 public TDepthNode(String segregation, EIssueType issueType, DateTime issueDateTime, String nodeCode, String depth)
 {
     Segregation   = segregation;
     IssueType     = issueType;
     IssueDateTime = issueDateTime;
     NodeCode      = nodeCode;
     Depth         = depth;
 }
Example #9
0
        public static List <TList> GetLists(EIssueType issueType, DateTime date)
        {
            List <TList> result = new List <TList>();

            using (var connection = SQLiteHelper.Connect())
            {
                connection.Open();
                result.GetListsByKeys(connection, issueType, date);
                connection.Close();
            }
            return(result);
        }
Example #10
0
        public static List <string> GetNodeCodesByType(EIssueType issueType)
        {
            List <string> result;

            using (var connection = SQLiteHelper.Connect())
            {
                connection.Open();
                result = new TNode().GetNodeCodesByIssueType(issueType, connection);
                connection.Close();
            }
            return(result);
        }
Example #11
0
        public static List <string> GetNodeCodesByIssueType(this TNode entity, EIssueType issueType, SQLiteConnection connection)
        {
            var           command = connection.CreateCommand();
            List <string> selects = new List <string>();

            selects.Add(nameof(entity.NodeCode));
            List <KeyOperatorValue> wheres = new List <KeyOperatorValue>();

            wheres.Add(new KeyOperatorValue(nameof(entity.IssueType), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString <EIssueType>(issueType)));
            command.CommandText = SQLiteHelper.GetSQLiteQuery_Select(selects, entity.TableName, wheres, "distinct");
            var           reader  = command.ExecuteReader();
            List <string> results = new List <string>();

            while (reader.Read())
            {
                results.Add(reader[nameof(entity.NodeCode)].ToString());
            }
            return(results);
        }
Example #12
0
        public static List <DateTimeValue> GetDateTimeValue(this TDetail entity, EIssueType issueType, DateTime startTime, int daySpan, SQLiteConnection connection)
        {
            var           command = connection.CreateCommand();
            List <string> selects = new List <string>();

            selects.Add(nameof(entity.IssueDateTime));
            selects.Add(nameof(entity.ExtraValue3));
            List <KeyOperatorValue> wheres = new List <KeyOperatorValue>();

            wheres.Add(new KeyOperatorValue(nameof(entity.Segregation), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString(UniqueIdHelper.UniqueIdStr)));
            wheres.Add(new KeyOperatorValue(nameof(entity.IssueType), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString <EIssueType>(issueType)));
            wheres.Add(new KeyOperatorValue(nameof(entity.IssueDateTime), SQLiteOperater.GTorEq, SQLiteHelper.ToSQLiteString(startTime)));
            wheres.Add(new KeyOperatorValue(nameof(entity.IssueDateTime), SQLiteOperater.LT, SQLiteHelper.ToSQLiteString(startTime.AddDays(daySpan + 10))));//+10作预留区间允许其中有个10天的空档
            command.CommandText = SQLiteHelper.GetSQLiteQuery_Select(selects, entity.TableName, wheres);
            var reader = command.ExecuteReader();
            List <DateTimeValue> results = new List <DateTimeValue>();

            switch (issueType)
            {
            case EIssueType.钢支撑轴力监测:
                while (reader.Read())
                {
                    DateTimeValue data = new DateTimeValue();
                    var           time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                    data.DateTime = time;
                    double value;
                    if (double.TryParse(reader[nameof(entity.ExtraValue3)].ToString(), out value))
                    {
                        data.Value = value;
                    }
                    results.Add(data);
                }
                break;

            default:
                break;
            }
            return(results);
        }
Example #13
0
        public static Worksheet GetWorksheet(string path, EIssueType issueType)
        {
            if (!File.Exists(path))
            {
                throw new NotImplementedException("无效的文件路径");
            }

            ApplicationClass excelApp = new ApplicationClass();
            var workbook = excelApp.Workbooks.Open(path);

            if (workbook == null)
            {
                throw new NotImplementedException("Workbook文档对象无效");
            }
            var sheetName = issueType.GetSheetName();

            if (workbook.Worksheets[sheetName] == null)
            {
                throw new NotImplementedException("Worksheet名称无效");
            }
            return(workbook.Worksheets[sheetName] as Worksheet);
        }
Example #14
0
        public static string GetSheetName(this EIssueType issueType)
        {
            switch (issueType)
            {
            case EIssueType.建筑物沉降:
                return("建筑物沉降");

            case EIssueType.地表沉降:
                return("地表沉降");

            case EIssueType.管线沉降_无压:
            case EIssueType.管线沉降_有压:
                return("管线沉降");

            case EIssueType.侧斜监测:
                return("");

            case EIssueType.钢支撑轴力监测:
                return("钢支撑轴力");

            default:
                throw new NotImplementedException();
            }
        }
Example #15
0
        public static List <DateTimeValue> GetDateTimeValues(this TNode entity, EIssueType issueType, string nodeCode, string fieldName, DateTime startTime, int daySpan, SQLiteConnection connection)
        {
            var           command = connection.CreateCommand();
            List <string> selects = new List <string>();

            selects.Add(nameof(entity.Data));
            selects.Add(nameof(entity.IssueDateTime));
            List <KeyOperatorValue> wheres = new List <KeyOperatorValue>();

            wheres.Add(new KeyOperatorValue(nameof(entity.IssueType), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString <EIssueType>(issueType)));
            wheres.Add(new KeyOperatorValue(nameof(entity.NodeCode), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString(nodeCode)));
            wheres.Add(new KeyOperatorValue(nameof(entity.IssueDateTime), SQLiteOperater.GTorEq, SQLiteHelper.ToSQLiteString(startTime)));
            wheres.Add(new KeyOperatorValue(nameof(entity.IssueDateTime), SQLiteOperater.LTorEq, SQLiteHelper.ToSQLiteString(startTime.AddDays(daySpan))));
            command.CommandText = SQLiteHelper.GetSQLiteQuery_Select(selects, entity.TableName, wheres);
            var reader = command.ExecuteReader();
            List <DateTimeValue> results = new List <DateTimeValue>();

            switch (issueType)
            {
            case EIssueType.未指定:
                break;

            case EIssueType.建筑物沉降:
                switch (fieldName)
                {
                case nameof(BuildingSubsidenceDataV1.SumChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new BuildingSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(BuildingSubsidenceDataV1.CurrentChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new BuildingSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.CurrentChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(BuildingSubsidenceDataV1.SumBuildingEnvelope):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new BuildingSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumBuildingEnvelope, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(BuildingSubsidenceDataV1.SumPeriodBuildingEnvelope):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new BuildingSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumPeriodBuildingEnvelope, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                default:
                    break;
                }
                break;

            case EIssueType.地表沉降:
                switch (fieldName)
                {
                case nameof(SurfaceSubsidenceDataV1.SumChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new SurfaceSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(SurfaceSubsidenceDataV1.CurrentChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new SurfaceSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.CurrentChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                default:
                    break;
                }
                break;

            case EIssueType.管线沉降_有压:
                switch (fieldName)
                {
                case nameof(PressedPipeLineSubsidenceDataV1.SumChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new PressedPipeLineSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(PressedPipeLineSubsidenceDataV1.CurrentChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new PressedPipeLineSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.CurrentChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(PressedPipeLineSubsidenceDataV1.SumPeriodBuildingEnvelope):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new PressedPipeLineSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumPeriodBuildingEnvelope, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(PressedPipeLineSubsidenceDataV1.SumBuildingEnvelope):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new PressedPipeLineSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumBuildingEnvelope, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                default:
                    break;
                }
                break;

            case EIssueType.管线沉降_无压:
                switch (fieldName)
                {
                case nameof(UnpressedPipeLineSubsidenceDataV1.SumChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new UnpressedPipeLineSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(UnpressedPipeLineSubsidenceDataV1.CurrentChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new UnpressedPipeLineSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.CurrentChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(UnpressedPipeLineSubsidenceDataV1.SumPeriodBuildingEnvelope):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new UnpressedPipeLineSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumPeriodBuildingEnvelope, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(UnpressedPipeLineSubsidenceDataV1.SumBuildingEnvelope):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new UnpressedPipeLineSubsidenceDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumBuildingEnvelope, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                default:
                    break;
                }
                break;

            case EIssueType.钢支撑轴力监测:
                switch (fieldName)
                {
                case nameof(STBAPDataV1.AxialForce):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new STBAPDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.AxialForce, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(STBAPDataV1.SumChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new STBAPDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.SumChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                case nameof(STBAPDataV1.CurrentChanges):
                    while (reader.Read())
                    {
                        var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                        var    data = new STBAPDataV1(nodeCode, reader[nameof(entity.Data)].ToString());
                        double value;
                        if (double.TryParse(data.CurrentChanges, out value))
                        {
                            results.Add(new DateTimeValue(time, value));
                        }
                    }
                    break;

                default:
                    break;
                }
                break;

            default:
                break;
            }
            return(results);
        }
Example #16
0
 public TNode(EIssueType issueType, DateTime issueDateTime, String nodeCode)
 {
     IssueType     = issueType;
     IssueDateTime = issueDateTime;
     NodeCode      = nodeCode;
 }
Example #17
0
        /// <summary>
        /// 首日用与时间区间的判断,并不进行节点数据的获取
        /// </summary>
        public static void GetNodeDetailsByTimeRange(this List <TDetail> entities, SQLiteConnection connection, EIssueType issueType, DateTime start, DateTime end)
        {
            var command = connection.CreateCommand();
            List <KeyOperatorValue> wheres = new List <KeyOperatorValue>();

            wheres.Add(new KeyOperatorValue(nameof(TDetail.Segregation), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString(UniqueIdHelper.UniqueIdStr)));
            wheres.Add(new KeyOperatorValue(nameof(TDetail.IssueDateTime), SQLiteOperater.LT, SQLiteHelper.ToSQLiteString(end)));
            var weightedStart = start.AddDays(-1).Date;

            wheres.Add(new KeyOperatorValue(nameof(TDetail.IssueDateTime), SQLiteOperater.GT, SQLiteHelper.ToSQLiteString(weightedStart)));//往前多取一天
            command.CommandText = SQLiteHelper.GetSQLiteQuery_Select(null, new TDetail().TableName, wheres);
            var reader = command.ExecuteReader();

            while (reader.Read())
            {
                entities.Add(new TDetail(reader));
            }
            foreach (var entity in entities)
            {
                if (entity.IssueDateTime.Date == weightedStart)
                {
                    continue;
                }
            }
        }
Example #18
0
 public TList(String segregation, EIssueType issueType, DateTime issueDate)
 {
     Segregation = segregation;
     IssueType   = issueType;
     IssueDate   = issueDate;
 }
Example #19
0
 public TList(EIssueType issueType, DateTime issueDate)
 {
     IssueType = issueType;
     IssueDate = issueDate;
 }
Example #20
0
        public static void GetListsByKeys(this List <TList> lists, SQLiteConnection connection, EIssueType issueType, DateTime issueDateTime)
        {
            var command = connection.CreateCommand();
            var entity  = new TList();
            List <KeyOperatorValue> wheres = new List <KeyOperatorValue>();

            wheres.Add(new KeyOperatorValue(nameof(entity.Segregation), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString(UniqueIdHelper.UniqueIdStr)));
            wheres.Add(new KeyOperatorValue($"datetime({nameof(entity.IssueDate)},'start of month')", SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString(issueDateTime)));
            wheres.Add(new KeyOperatorValue(nameof(entity.IssueType), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString <EIssueType>(issueType)));
            command.CommandText = SQLiteHelper.GetSQLiteQuery_Select(null, entity.TableName, wheres);
            var reader = command.ExecuteReader();

            while (reader.Read())
            {
                lists.Add(new TList(reader));
            }
        }
Example #21
0
 public TDetail(EIssueType issueType, DateTime issueDateTime)
 {
     IssueType     = issueType;
     IssueDateTime = issueDateTime;
 }
        public static List <DateTimeValue> GetDateTimeValues(this TDepthNode entity, EIssueType issueType, string nodeCode, string depth, string fieldName, DateTime startTime, int daySpan, SQLiteConnection connection)
        {
            var           command = connection.CreateCommand();
            List <string> selects = new List <string>();

            selects.Add(nameof(entity.Data));
            selects.Add(nameof(entity.IssueDateTime));
            List <KeyOperatorValue> wheres = new List <KeyOperatorValue>();

            wheres.Add(new KeyOperatorValue(nameof(entity.Segregation), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString(UniqueIdHelper.UniqueIdStr)));
            wheres.Add(new KeyOperatorValue(nameof(entity.IssueType), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString <EIssueType>(issueType)));
            wheres.Add(new KeyOperatorValue(nameof(entity.NodeCode), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString(nodeCode)));
            wheres.Add(new KeyOperatorValue(nameof(entity.Depth), SQLiteOperater.Eq, SQLiteHelper.ToSQLiteString(depth)));
            wheres.Add(new KeyOperatorValue(nameof(entity.IssueDateTime), SQLiteOperater.GTorEq, SQLiteHelper.ToSQLiteString(startTime)));
            wheres.Add(new KeyOperatorValue(nameof(entity.IssueDateTime), SQLiteOperater.LTorEq, SQLiteHelper.ToSQLiteString(startTime.AddDays(daySpan))));
            command.CommandText = SQLiteHelper.GetSQLiteQuery_Select(selects, entity.TableName, wheres);
            var reader = command.ExecuteReader();
            List <DateTimeValue> results = new List <DateTimeValue>();

            switch (fieldName)
            {
            case nameof(SkewBackDataV1.CurrentChange):
                while (reader.Read())
                {
                    var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                    var    data = new SkewBackDataV1(nodeCode, depth, reader[nameof(entity.Data)].ToString());
                    double value;
                    if (double.TryParse(data.CurrentChange, out value))
                    {
                        results.Add(new DateTimeValue(time, value));
                    }
                }
                break;

            case nameof(SkewBackDataV1.CurrentSum):
                while (reader.Read())
                {
                    var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                    var    data = new SkewBackDataV1(nodeCode, depth, reader[nameof(entity.Data)].ToString());
                    double value;
                    if (double.TryParse(data.CurrentSum, out value))
                    {
                        results.Add(new DateTimeValue(time, value));
                    }
                }
                break;

            case nameof(SkewBackDataV1.PreviousChange):
                while (reader.Read())
                {
                    var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                    var    data = new SkewBackDataV1(nodeCode, depth, reader[nameof(entity.Data)].ToString());
                    double value;
                    if (double.TryParse(data.PreviousChange, out value))
                    {
                        results.Add(new DateTimeValue(time, value));
                    }
                }
                break;

            case nameof(SkewBackDataV1.PreviousSum):
                while (reader.Read())
                {
                    var    time = DateTime.Parse(reader[nameof(entity.IssueDateTime)].ToString());
                    var    data = new SkewBackDataV1(nodeCode, depth, reader[nameof(entity.Data)].ToString());
                    double value;
                    if (double.TryParse(data.PreviousSum, out value))
                    {
                        results.Add(new DateTimeValue(time, value));
                    }
                }
                break;

            default:
                break;
            }
            return(results);
        }
Example #23
0
        /// <summary>
        /// 监测类型变更
        /// 级联影响(监测点,深度)
        /// </summary>

        private void cb_IssueType_TextChanged(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(cb_IssueType.Text))
            {
                return;
            }
            var issueType = (EIssueType)Enum.Parse(typeof(EIssueType), cb_IssueType.Text);

            CurrentType = issueType;
            if (CurrentType != EIssueType.未指定)
            {
                //Y轴选项 级联处理
                cb_Y.DisplayMember = nameof(TypeKeyDdscription.Description);
                cb_Y.ValueMember   = nameof(TypeKeyDdscription.Key);
                System.Data.DataTable table = new System.Data.DataTable();
                var datas = TypeKeyDescriptions.Where(c => c.Type == issueType).ToList();
                table.Columns.Add(new DataColumn(nameof(TypeKeyDdscription.Description), typeof(string)));
                table.Columns.Add(new DataColumn(nameof(TypeKeyDdscription.Key), typeof(string)));
                table.Columns.Add(new DataColumn(nameof(TypeKeyDdscription.Type), typeof(string)));
                foreach (var data in datas)
                {
                    var row = table.NewRow();
                    row[nameof(TypeKeyDdscription.Description)] = data.Description;
                    row[nameof(TypeKeyDdscription.Key)]         = data.Key;
                    table.Rows.Add(row);
                }
                cb_Y.DataSource = table;
                Clear(cb_Y);
            }
            switch (issueType)
            {
            case EIssueType.未指定:
                //清空监测点
                Clear(cb_NodeCode);
                break;

            case EIssueType.建筑物沉降:
            case EIssueType.地表沉降:
            case EIssueType.管线沉降_有压:
            case EIssueType.管线沉降_无压:
            case EIssueType.钢支撑轴力监测:
                //监测点 级联处理
                var nodeCodes = Facade.GetNodeCodesByType(issueType);
                cb_NodeCode.DataSource = null;
                cb_NodeCode.DataSource = nodeCodes;
                //重置当前值
                Clear(cb_Depth);
                Clear(cb_NodeCode);
                //深度 控件隐藏
                cb_Depth.Hide();
                lbl_Depth.Hide();
                break;

            case EIssueType.侧斜监测:
                //监测点 级联处理
                nodeCodes = Facade.GetNodeCodesByType(issueType);
                cb_NodeCode.DataSource = null;
                cb_NodeCode.DataSource = nodeCodes;
                //重置当前值
                Clear(cb_Depth);
                Clear(cb_NodeCode);
                //深度 控件显示
                cb_Depth.Show();
                lbl_Depth.Show();
                break;

            default:
                throw new NotImplementedException("暂不支持该类型");
            }
        }
Example #24
0
 public TypeKeyDdscription(EIssueType type, string key, string description)
 {
     Type        = type;
     Key         = key;
     Description = description;
 }
Example #25
0
 public TDetail(String segregation, EIssueType issueType, DateTime issueDateTime)
 {
     Segregation   = segregation;
     IssueType     = issueType;
     IssueDateTime = issueDateTime;
 }