using Core.Mes.Client.Comm.Control; using Core.StlMes.Client.Judge.Commons; using CoreFS.CA06; using Infragistics.Win; using System; using System.Data; using System.Windows.Forms; namespace Core.StlMes.Client.Judge.Controls { public partial class ProcessInfoNewCtrl : UserControl { private readonly BundlingInfoCtrl _bundlingInfoCtrl; private readonly ChamferingInfoCtrl _chamferingInfoCtrl; private readonly Dal _d; private readonly DetectInfoCtrl _detectInfoCtrl; private readonly FaceInfoCtrl _faceInfoCtrl; private readonly FinalCheckInfoCtrl _finalCheckInfoCtrl; private readonly HreadInfoCtrl _hreadInfoCtrl; private readonly MeasureInfoCtrl _measureInfoCtrl; private readonly PathInfoCtrl _pathInfoCtrl; private readonly CraftOrdDesignStdDicCtrl _stdDicCtrl; private readonly CraftOrdDesignStdWicCtrl _stdWicCtrl; private readonly ThreaderInfoCtrl _threaderInfoCtrl; private readonly TwistinglyInfoCtrl _twistinglyInfoCtrl; private readonly WaterInfoCtrl _waterInfoCtrl; private readonly CouplingRemanenceCtrl _remanenceCtrl; private string _batchNo = ""; private bool _clearData = true; private string _craftSeq = ""; private string _judgeStoveNo = ""; private string _mscPline = ""; private string _ordLnPk = ""; private string _processCode = ""; private string _plineCode = ""; private string _zpMLh = ""; public ProcessInfoNewCtrl(Control container, OpeBase ob, string processCode) { InitializeComponent(); _d = new Dal(ob); _processCode = processCode; container.Controls.Add(this); Dock = DockStyle.Fill; ultraGrid1.DisplayLayout.Bands[0].Override.AllowUpdate = DefaultableBoolean.False; _faceInfoCtrl = new FaceInfoCtrl(splitContainer2.Panel1, ob, processCode); _detectInfoCtrl = new DetectInfoCtrl(splitContainer2.Panel1, ob, processCode); _stdDicCtrl = new CraftOrdDesignStdDicCtrl(splitContainer2.Panel2, ob); _waterInfoCtrl = new WaterInfoCtrl(splitContainer2.Panel1, ob, false); _stdWicCtrl = new CraftOrdDesignStdWicCtrl(splitContainer2.Panel2, ob); _twistinglyInfoCtrl = new TwistinglyInfoCtrl(splitContainer2.Panel1, ob); _pathInfoCtrl = new PathInfoCtrl(splitContainer2.Panel1, ob); _threaderInfoCtrl = new ThreaderInfoCtrl(splitContainer2.Panel1, ob); _hreadInfoCtrl = new HreadInfoCtrl(splitContainer2.Panel1, ob); _measureInfoCtrl = new MeasureInfoCtrl(splitContainer2.Panel1, ob); _bundlingInfoCtrl = new BundlingInfoCtrl(splitContainer2.Panel1, ob); _chamferingInfoCtrl = new ChamferingInfoCtrl(splitContainer2.Panel1, ob); _finalCheckInfoCtrl = new FinalCheckInfoCtrl(splitContainer2.Panel1, ob); _remanenceCtrl = new CouplingRemanenceCtrl(splitContainer2.Panel1, ob); SetControlVisible(null, null); splitContainer1.SplitterDistance = 100; splitContainer2.SplitterDistance = 150; } public void Query(string applyCode, string judgeStoveNo, string batchNo, string zpMLh, string ordLnPk, string craftSeq, string mscPline, string processCode, string plineCode, bool clearData) { _judgeStoveNo = judgeStoveNo; _batchNo = batchNo; _zpMLh = zpMLh; _ordLnPk = ordLnPk; _craftSeq = craftSeq; _mscPline = mscPline; _processCode = processCode; _plineCode = plineCode; _clearData = clearData; var jsonData = _d.GetJsonData("com.steering.pss.judge.Bll.BllZcColligateJudge.getJgxResultInfo", applyCode, judgeStoveNo, batchNo); var dt = JsonHelper.toTable(jsonData); if (ultraGrid1.DataSource == null && dt != null) { dt.Columns["item"].Caption = "项目"; dt.Columns["result"].Caption = "结果"; ultraGrid1.DataSource = dt; } else { GridHelper.CopyDataToDatatable(dt, (DataTable)ultraGrid1.DataSource, clearData); } if (ultraGrid1.DisplayLayout.Bands[0].Columns.Exists("itemCode")) { ultraGrid1.DisplayLayout.Bands[0].Columns["itemCode"].Hidden = true; } } public void ClearData() { if (ultraGrid1.DataSource == null) return; ((DataTable)ultraGrid1.DataSource).Clear(); _bundlingInfoCtrl.ClearData(); _chamferingInfoCtrl.ClearData(); _detectInfoCtrl.ClearData(); _faceInfoCtrl.ClearData(); _finalCheckInfoCtrl.ClearData(); _hreadInfoCtrl.ClearData(); _measureInfoCtrl.ClearData(); _pathInfoCtrl.ClearData(); _stdDicCtrl.ClearData(); _stdWicCtrl.ClearData(); _threaderInfoCtrl.ClearData(); _twistinglyInfoCtrl.ClearData(); _waterInfoCtrl.ClearData(); _remanenceCtrl.ClearData(); } private void UltraGrid1_AfterRowActivate(object sender, EventArgs e) { var itemCode = ultraGrid1.GetActiveRowValue("itemCode"); if (itemCode == "403204")//探伤 { _detectInfoCtrl.Query(_judgeStoveNo, _batchNo, _zpMLh, true); _stdDicCtrl.Query(_ordLnPk, _craftSeq, _mscPline, _processCode); SetControlVisible(_detectInfoCtrl, _stdDicCtrl); } else if (itemCode == "403205")//水压 { _waterInfoCtrl.Query(_judgeStoveNo, _batchNo, _processCode, true); _stdWicCtrl.Query(_ordLnPk, _craftSeq, _mscPline, _processCode); SetControlVisible(_waterInfoCtrl, _stdWicCtrl); } else if (itemCode == "70250")//拧接 { _twistinglyInfoCtrl.Query(_judgeStoveNo, _batchNo, true); SetControlVisible(_twistinglyInfoCtrl, null); } else if (itemCode == "70270")//通径(管端) { _pathInfoCtrl.Query(_processCode, _judgeStoveNo, _batchNo, true); SetControlVisible(_pathInfoCtrl, null); } else if (itemCode == "70232")//通径(全长) { _pathInfoCtrl.Query(_processCode, _judgeStoveNo, _batchNo, true); SetControlVisible(_pathInfoCtrl, null); } else if (itemCode == "70210")//车丝 { _threaderInfoCtrl.Query(_judgeStoveNo, _batchNo, true); SetControlVisible(_threaderInfoCtrl, null); } else if (itemCode == "70230")//螺纹 { _hreadInfoCtrl.Query(_judgeStoveNo, _batchNo, true); SetControlVisible(_hreadInfoCtrl, null); } else if (itemCode == "70490" || itemCode == "70530")//倒棱 { _chamferingInfoCtrl.Query(_judgeStoveNo, _batchNo, true); SetControlVisible(_chamferingInfoCtrl, null); } else if (itemCode == "70350")//表检 { _faceInfoCtrl.Query(_judgeStoveNo, _batchNo, _zpMLh); SetControlVisible(_faceInfoCtrl, null); } else if (itemCode == "finalCheck")//入库检验 { _finalCheckInfoCtrl.Query(_judgeStoveNo, _batchNo, _plineCode, true); SetControlVisible(_finalCheckInfoCtrl, null); } else if (itemCode == "70760")//剩磁 { _remanenceCtrl.Query(_judgeStoveNo, _batchNo, true); SetControlVisible(_remanenceCtrl, null); } else { SetControlVisible(null, null); } } private void SetControlVisible(Control visibleControl, Control visibleControl2) { foreach (Control control in splitContainer2.Panel1.Controls) control.Visible = visibleControl == control; if (visibleControl2 == null) { splitContainer2.Panel2Collapsed = true; } else { splitContainer2.Panel2Collapsed = false; foreach (Control control in splitContainer2.Panel2.Controls) control.Visible = visibleControl2 == control; } } } }