1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
using FLY.Thick.Blowing.IService.IBulkDBServicePack;
using FLY.Thick.Blowing.Server.Model;
using FObjBase;
using Misc;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FLY.Thick.Blowing.IService
{
/// <summary>
/// 基于DB 的 bulkdata
/// </summary>
public interface IBulkDbService : INotifyPropertyChanged
{
/// <summary>
/// 数据库中总数量,当它变化了,肯定有新数据
/// </summary>
int Count { get; }
/// <summary>
/// 开始产生数据时间
/// </summary>
DateTime StartTime { get; }
/// <summary>
/// 最后产生数据时间
/// </summary>
DateTime EndTime { get; }
/// <summary>
/// 当前生产,已经结束,已经下辊了
/// </summary>
bool IsFinished { get; }
/// <summary>
/// 临时数据改变
/// </summary>
event BulkDBTempFrameChangedEventHander TempFrameChanged;
/// <summary>
/// 获取N幅数据
/// </summary>
/// <param name="request"></param>
/// <param name="AsyncDelegate"></param>
/// <param name="AsyncContext"></param>
void GetFrame(
Pack_GetFrameRequest request,
AsyncCBHandler AsyncDelegate, object AsyncContext);
/// <summary>
/// 获取纵向趋势图
/// </summary>
/// <param name="request"></param>
/// <param name="AsyncDelegate"></param>
/// <param name="AsyncContext"></param>
void GetTrend(
Pack_GetTrendRequest request,
AsyncCBHandler AsyncDelegate, object AsyncContext);
/// <summary>
/// 完成
/// </summary>
void Finish();
}
}
namespace FLY.Thick.Blowing.IService.IBulkDBServicePack
{
public class Pack_GetFrameRequest
{
/// <summary>
/// 第1个数据 序号
/// </summary>
public Int64 Index;
/// <summary>
/// 从后向前获取N幅数据
/// </summary>
public int Count;
}
public class Pack_GetFrameReponse
{
public Pack_GetFrameRequest Request;
public List<Lc_ScanData> Values;
}
public class Pack_GetTrendRequest
{
/// <summary>
/// 第1个数据 序号
/// </summary>
public Int64 Index;
/// <summary>
/// 长度
/// </summary>
public int Count;
}
public class Pack_GetTrendReponse
{
public Pack_GetTrendRequest Request;
public List<TrendValue> Values;
}
public class TrendValue
{
public DateTime Time { get; set; }
public double Value { get; set; }
public double Sigma { get; set; }
}
public class BulkDBTempFrameChangedEventArgs : EventArgs
{
/// <summary>
/// 开始位置
/// </summary>
public int StartIndex { get; set; }
/// <summary>
/// 数据
/// </summary>
public double[] D { get; set; }
}
public delegate void BulkDBTempFrameChangedEventHander(object sender, BulkDBTempFrameChangedEventArgs e);
}