using CCWin; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WCS_Client.Models; using WCS_Client.Utility; namespace WCS_Client.From { public partial class Form_SrmData : CCSkinMain { DataTable _dt; DataRow _currentDr; public Form_SrmData() { InitializeComponent(); Bind(); } private static Form_SrmData childFromInstanc; public static Form_SrmData ChildFromInstanc { get { if (childFromInstanc == null || childFromInstanc.IsDisposed) { childFromInstanc = new Form_SrmData(); } return childFromInstanc; } } //绑定数据 private void Bind() { PageData pd = QueryPageDataMethods(1, 10000); if (pd != null) { dgvStackerData.DataSource = pd.Dt; _dt = pd.Dt; } else { if (_dt != null) _dt.Clear(); } } //获取数据集 private PageData QueryPageDataMethods(int PageIndex, int PageSize) { string _SQLText = @"SELECT * FROM wcs_stackerdata where 1=1 "; string _Orderby = " STA_EQUIPMENTNO asc"; List wherelist = new List(); if (string.IsNullOrWhiteSpace(txtSTA_EQUIPMENTNO.Text.Trim()) == false) { wherelist.Add(string.Format("STA_EQUIPMENTNO like '%{0}%'", txtSTA_EQUIPMENTNO.Text.Trim())); } if (string.IsNullOrWhiteSpace(txtSTA_PLCNAME.Text.Trim()) == false) { wherelist.Add(string.Format("STA_PLCNAME like '%{0}%'", txtSTA_PLCNAME.Text.Trim())); } PageData pd = BaseWorkflow.QueryPageData(_SQLText, _Orderby, wherelist, PageIndex, PageSize); //AddColumn(pd, "SrmDB540_SrmNo", typeof(int)); //AddColumn(pd, "SrmDB540_TaskNo", typeof(int)); //AddColumn(pd, "SrmDB540_SourcePosX_Fork1", typeof(int)); //AddColumn(pd, "SrmDB540_SourcePosY_Fork1", typeof(int)); //AddColumn(pd, "SrmDB540_SourcePosZ_Fork1", typeof(int)); //AddColumn(pd, "SrmDB540_DestinationPosX_Fork1", typeof(int)); //AddColumn(pd, "SrmDB540_DestinationPosY_Fork1", typeof(int)); //AddColumn(pd, "SrmDB540_DestinationPosZ_Fork1", typeof(int)); //AddColumn(pd, "SrmDB540_Command_Fork1", typeof(int)); //AddColumn(pd, "SrmDB540_EmergencyStop", typeof(int)); //AddColumn(pd, "SrmDB540_AlarmAck", typeof(int)); //AddColumn(pd, "SrmDB540_PalletSize", typeof(int)); //AddColumn(pd, "SrmDB540_TaskFinish", typeof(int)); //AddColumn(pd, "SrmDB540_stb", typeof(int)); //AddColumn(pd, "SrmDB540_ack", typeof(int)); //AddColumn(pd, "SrmDB541_Mode", typeof(int)); //AddColumn(pd, "SrmDB541_Alarm", typeof(int)); //AddColumn(pd, "SrmDB541_LiftFull", typeof(int)); //AddColumn(pd, "SrmDB541_PosX", typeof(int)); //AddColumn(pd, "SrmDB541_PosY", typeof(int)); //AddColumn(pd, "SrmDB541_PosZ_Fork1", typeof(int)); //AddColumn(pd, "SrmDB541_PosXmm", typeof(string)); //AddColumn(pd, "SrmDB541_PosYmm", typeof(string)); //AddColumn(pd, "SrmDB541_PosZmm_Fork1", typeof(int)); //AddColumn(pd, "SrmDB541_PickFinish_Fork1", typeof(int)); //AddColumn(pd, "SrmDB541_DeliveryFinish_Fork1", typeof(int)); //AddColumn(pd, "SrmDB541_TaskFinish_Fork1", typeof(int)); //AddColumn(pd, "SrmDB541_TaskNo_Fork1", typeof(int)); //AddColumn(pd, "SrmDB541_State_Fork1", typeof(int)); //foreach (DataRow row in pd.Dt.Rows) //{ // row["Sta_Data"].ToString(); // var srm = Deserialize(row["Sta_Data"].ToString()); // row["SrmDB540_SrmNo"] = srm.SrmDB540_SrmNo; // row["SrmDB540_TaskNo"] = srm.SrmDB540_TaskNo; // row["SrmDB540_SourcePosX_Fork1"] = srm.SrmDB540_SourcePosX_Fork1; // row["SrmDB540_SourcePosY_Fork1"] = srm.SrmDB540_SourcePosY_Fork1; // row["SrmDB540_SourcePosZ_Fork1"] = srm.SrmDB540_SourcePosZ_Fork1; // row["SrmDB540_DestinationPosX_Fork1"] = srm.SrmDB540_DestinationPosX_Fork1; // row["SrmDB540_DestinationPosY_Fork1"] = srm.SrmDB540_DestinationPosY_Fork1; // row["SrmDB540_DestinationPosZ_Fork1"] = srm.SrmDB540_DestinationPosZ_Fork1; // row["SrmDB540_Command_Fork1"] = srm.SrmDB540_Command_Fork1; // row["SrmDB540_EmergencyStop"] = srm.SrmDB540_EmergencyStop; // row["SrmDB540_AlarmAck"] = srm.SrmDB540_AlarmAck; // row["SrmDB540_PalletSize"] = srm.SrmDB540_PalletSize; // row["SrmDB540_TaskFinish"] = srm.SrmDB540_TaskFinish; // row["SrmDB540_stb"] = srm.SrmDB540_stb; // row["SrmDB540_ack"] = srm.SrmDB540_ack; // row["SrmDB541_Mode"] = srm.SrmDB541_Mode; // row["SrmDB541_Alarm"] = srm.SrmDB541_Alarm; // row["SrmDB541_LiftFull"] = srm.SrmDB541_LiftFull; // row["SrmDB541_PosX"] = srm.SrmDB541_PosX; // row["SrmDB541_PosY"] = srm.SrmDB541_PosY; // row["SrmDB541_PosZ_Fork1"] = srm.SrmDB541_PosZ_Fork1; // row["SrmDB541_PosXmm"] = srm.SrmDB541_PosXmm; // row["SrmDB541_PosYmm"] = srm.SrmDB541_PosYmm; // row["SrmDB541_PosZmm_Fork1"] = srm.SrmDB541_PosZmm_Fork1; // row["SrmDB541_PickFinish_Fork1"] = srm.SrmDB541_PickFinish_Fork1; // row["SrmDB541_DeliveryFinish_Fork1"] = srm.SrmDB541_DeliveryFinish_Fork1; // row["SrmDB541_TaskFinish_Fork1"] = srm.SrmDB541_TaskFinish_Fork1; // row["SrmDB541_TaskNo_Fork1"] = srm.SrmDB541_TaskNo_Fork1; // row["SrmDB541_State_Fork1"] = srm.SrmDB541_State_Fork1; //} return pd; } private void BtnRefresh_Click(object sender, EventArgs e) { Bind(); } private void btnRerset_Click(object sender, EventArgs e) { } private void dgvStackerData_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { _currentDr = GetDgvRow("STA_EQUIPMENTNO"); if (_currentDr != null) { string equType = _currentDr["STA_TYPE"].ToString(); string json = JsonConvert.SerializeObject(_currentDr["STA_DATA"].ToString(), Formatting.Indented); //txtSTA_DATA.Text = _currentDr["STA_DATA"].ToString(); var jar = JArray.Parse("["+_currentDr["STA_DATA"].ToString()+"]"); txtSTA_DATA.Text = jar.ToString(); } } public DataRow GetDgvRow(string cellName) { try { if (dgvStackerData.CurrentCell == null) return null; if (dgvStackerData.CurrentCell.RowIndex >= 0) { string no = Convert.ToString(dgvStackerData.Rows[dgvStackerData.CurrentCell.RowIndex].Cells[cellName].Value); return _dt.Select(cellName + "='" + no + "'")[0]; } return null; } catch (Exception ex) { return null; } } private static void AddColumn(PageData pd, string columnName, Type type) { DataColumn dc = new DataColumn(columnName, type); dc.DefaultValue = 0; pd.Dt.Columns.Add(dc); } } }