using Yw;
|
using Yw.WinFrmUI;
|
|
|
namespace IBox.WinFrmUI
|
{
|
public partial class IBoxFormLog : DocumentPage
|
{
|
|
private string startCode = "[&start&]";
|
private string endCode = "[&end&]";
|
private string paramCode = "[¶m&]";
|
private string getlogCode = "getlog";
|
private string clearlogCode = "clearlog";
|
public IBoxFormLog()
|
{
|
this.PageTitle.Caption = "日志管理";
|
InitializeComponent();
|
}
|
|
private void EboxFormLog_Load(object sender, EventArgs e)
|
{
|
//BluetoothHelper.GetInstance().SMR -= null;
|
//BluetoothHelper.GetInstance().SMR += new BluetoothHelper.ShowMessReturn(GetReceive);
|
//BluetoothHelper.GetInstance().ListenerData();
|
this.dateEditStartDate.EditValue = DateTime.Now.ToString("yyyy-MM-dd");
|
this.dateEditEndDate.EditValue = DateTime.Now.ToString("yyyy-MM-dd");
|
SetData();
|
var m = new GetCalcValueModel()
|
{
|
StartDate = DateTime.Parse(this.dateEditStartDate.EditValue.ToString()),
|
EndDate = DateTime.Parse(this.dateEditEndDate.EditValue.ToString()),
|
LogEvent = "",
|
LogResult = ""
|
};
|
|
SendText(startCode + getlogCode + paramCode + JsonHelper.Object2Json(m) + endCode);
|
}
|
|
private void SetData()
|
{
|
var dic = GetDic();
|
imageComboBoxEdit1.Properties.Items.Add("全部", "", -1);
|
foreach (var item in dic)
|
{
|
imageComboBoxEdit1.Properties.Items.Add(item.Value, item.Key, -1);
|
}
|
|
imageComboBoxEdit2.Properties.Items.Add("全部", "", -1);
|
imageComboBoxEdit2.Properties.Items.Add("成功", "success", -1);
|
imageComboBoxEdit2.Properties.Items.Add("提示", "info", -1);
|
imageComboBoxEdit2.Properties.Items.Add("失败", "fail", -1);
|
imageComboBoxEdit2.Properties.Items.Add("异常", "error", -1);
|
|
imageComboBoxEdit1.SelectedIndex = 0;
|
imageComboBoxEdit2.SelectedIndex = 0;
|
|
}
|
|
public void GetReceive(string msg)
|
{
|
if (!this.IsHandleCreated || this.IsDisposed || string.IsNullOrEmpty(msg)) return;
|
if (msg.StartsWith("error:") && msg.Contains("目标主机坏了"))
|
{
|
MessageBoxHelper.ShowWarning("l 蓝牙设备连接失败,请重试!"); return;
|
}
|
if (!string.IsNullOrEmpty(msg) && msg.Contains(startCode))
|
{
|
var order = msg.Replace(endCode, "").Replace(startCode, "").Trim();
|
SetOrder(order);
|
}
|
else MessageBoxHelper.ShowWarning("l 蓝牙设备连接失败");
|
}
|
|
public event EventHandler<string> SendData;
|
private void SendText(string content)
|
{
|
//BluetoothHelper.GetInstance().SendData(content);
|
SendData?.Invoke(null, content);
|
}
|
|
private void SetOrder(string order)
|
{
|
var smsg = order.Split(new string[] { paramCode }, StringSplitOptions.RemoveEmptyEntries);
|
if (smsg.Length < 2)
|
{
|
return;
|
}
|
|
switch (smsg[0].Trim())
|
{
|
case "getlog":
|
var getloglist = JsonHelper.Json2Object<List<IBoxLogViewModel>>(smsg[1].Trim());
|
BindData(getloglist);
|
break;
|
}
|
}
|
|
private void simpleButton1_Click(object sender, EventArgs e)
|
{
|
//查询
|
//SendText(startCode + getlogCode + paramCode + endCode);
|
//this.dateEditStartDate.EditValue = DateTime.Now.ToString("yyyy-MM-dd");
|
//this.dateEditEndDate.EditValue = DateTime.Now.ToString("yyyy-MM-dd");
|
var m = new GetCalcValueModel()
|
{
|
StartDate = DateTime.Parse(this.dateEditStartDate.EditValue.ToString()),
|
EndDate = DateTime.Parse(this.dateEditEndDate.EditValue.ToString()),
|
LogResult = imageComboBoxEdit2.EditValue?.ToString(),
|
LogEvent = imageComboBoxEdit1.EditValue?.ToString()
|
};
|
|
SendText(startCode + getlogCode + paramCode + JsonHelper.Object2Json(m) + endCode);
|
}
|
|
private void simpleButton2_Click(object sender, EventArgs e)
|
{
|
//清空
|
this.Invoke(new Action(() =>
|
{
|
eboxLogViewModelBindingSource.DataSource = null;
|
this.gridView1.RefreshData();
|
}));
|
SendText(startCode + clearlogCode + paramCode + endCode);
|
}
|
|
private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
|
{
|
|
if (e.Column.FieldName == "LogResult")
|
{
|
var celValue = e.CellValue.ToString();
|
var celNewValue = "成功";
|
switch (celValue)
|
{
|
case "info":
|
celNewValue = "提示";
|
e.Appearance.ForeColor = Color.Blue;
|
break;
|
case "fail":
|
celNewValue = "失败";
|
e.Appearance.ForeColor = Color.Coral;
|
break;
|
case "error":
|
celNewValue = "异常";
|
e.Appearance.ForeColor = Color.Red;
|
break;
|
default:
|
celNewValue = "成功";
|
e.Appearance.ForeColor = Color.Green;
|
break;
|
}
|
e.CellValue = celNewValue;
|
}
|
}
|
|
private Dictionary<string, string> GetDic()
|
{
|
|
return new Dictionary<string, string>
|
{
|
//{ "heartbeat", "心跳" },
|
//{ "getbase", "获取基础信息" },
|
//{ "getrules", "获取规则信息" },
|
//{ "saverules", "保存规则信息" },
|
//{ "getprotocol", "获取协议配置" },
|
//{ "saveprotocol", "保存协议配置" },
|
//{ "getalarmbysignalid", "获取单个信号报警信息" },
|
//{ "getalarmbyday", "按天查询报警信息" },
|
//{ "getbysignalidofdayrange", "根据日期范围查询报警信息" },
|
//{ "getrealrecord", "查询实时数据" },
|
//{ "datadownload", "数据下发" },
|
//{ "gethistoryrecord", "查询单个信号历史数据" },
|
//{ "getlog", "获取日志" },
|
//{ "clearlog", "清空日志" },
|
//{ "getparams", "获取参数配置" },
|
//{ "saveparams", "保存参数配置" },
|
{ "controll", "智能控制" },
|
{ "postdata", "数据推送" },
|
{ "default", "常规" },
|
{ "datadocking", "数据采集" },
|
//{ "getcalvalue", "获取智能控制数据" },
|
//{ "execcalvalue", "执行智能控制" }
|
};
|
}
|
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
|
{
|
if (e.Column.FieldName == "LogEvent")
|
{
|
var celValue = e.Value.ToString();
|
var celNewValue = "";
|
// 创建一个字典,键为字符串,值为字符串
|
|
var commandDescriptions = GetDic();
|
string key = celValue;
|
string value;
|
if (commandDescriptions.TryGetValue(key, out value))
|
{
|
celNewValue = value;
|
}
|
|
e.DisplayText = celNewValue;
|
}
|
if (e.Column.FieldName == "LogResult")
|
{
|
var celValue = e.Value.ToString();
|
var celNewValue = "成功";
|
switch (celValue)
|
{
|
case "info":
|
celNewValue = "提示";
|
break;
|
case "fail":
|
celNewValue = "失败";
|
break;
|
case "error":
|
celNewValue = "异常";
|
break;
|
default:
|
celNewValue = "成功";
|
break;
|
}
|
e.DisplayText = celNewValue;
|
}
|
|
}
|
|
public void BindData(List<IBoxLogViewModel> eboxLogs, bool isBlue = true)
|
{
|
if (isBlue)
|
{
|
this.Invoke(new Action(() =>
|
{
|
eboxLogViewModelBindingSource.DataSource = eboxLogs;
|
this.gridView1.RefreshData();
|
}));
|
}
|
else
|
{
|
eboxLogViewModelBindingSource.DataSource = eboxLogs;
|
this.gridView1.RefreshData();
|
}
|
}
|
}
|
}
|