using DevExpress.Utils.MVVM.Services; using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Data; using System.Windows.Forms; namespace Gs.DevApp.DevFrm.Work { public partial class Frm_Work01 : DevExpress.XtraEditors.XtraForm { string _webServiceName = "WorkCollect/"; string fGx = ""; string fBc = ""; string goodTag = "√"; string badTag = "×"; public Frm_Work01(string _fGx, string _fBc) { InitializeComponent(); this.fGx = _fGx; this.fBc = _fBc; this.Text = "工序采集 - " + fGx + " - " + fBc; txt_gx.Text = fGx; txt_bc.Text = fBc; txt_barCode.KeyDown += (s, e) => { if (e.KeyCode == Keys.Enter) { getModel("", goodTag); }; }; btnGood.Click += (s, e) => { getModel("", goodTag); }; btnBad.Click += (s, e) => { UcDictionarySelect frm = new UcDictionarySelect("缺陷描述", " s_type='工序采集不良项目'"); frm.UpdateParent += (ss, ee) => { System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(); var lst = ee.DynamicList; foreach (dynamic dym in lst) { if (stringBuilder.Length > 0) stringBuilder.Append("|"); stringBuilder.Append(dym.dicTxt); } string _txt = stringBuilder.ToString(); if (string.IsNullOrEmpty(_txt)) { Toast vm = new Toast(-1, "~当为不良时,请选择不良项目~"); vm.Show(); } else getModel("", badTag, _txt); }; frm.ShowDialog(); }; } /// /// /// /// 检测值 /// 检测结果 /// 不良原因 /// 备注 private void getModel(string _checkVal, string _checkResult, string _badReson = "", string _inBz = "") { string _barCode = txt_barCode.Text.Trim(); if (string.IsNullOrEmpty(_barCode)) { Toast vm = new Toast(-1, "~请先扫追溯码~"); vm.Show(); return; } var _obj = new { barCode = _barCode, inBz = _inBz.Trim(), checkVal = _checkVal, checkResult = _checkResult, processNo = txt_gx.Text.Trim(),//工序 banCi = txt_bc.Text.Trim(),//班次 gongWei = txt_gw.Text.Trim(),//工位 badReson = _badReson.Trim() }; try { string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj)); ReturnModel _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); if (_rtn.rtnCode > 0) { dynamic dy = _rtn.rtnData; //头表和汇总 UtilityHelper.SetValueByObj(this.layoutMx1.Controls, dy, false); lbSum1.Text = dy.lbSum1; lbSum2.Text = dy.lbSum2; lbSum3.Text = dy.lbSum3; lbSum4.Text = dy.lbSum4; prog1.Position = dy.jd; //良品 txt_barCode.ReadOnly = false; JObject _job = JObject.Parse(strJson); JArray array = new JArray(); foreach (var a in _job["rtnData"]["list"]) { array.Add(a); } DataTable dt = JsonConvert.DeserializeObject(array.ToString()); if (dt.Rows.Count > 0) { gcMx1.BindingContext = new BindingContext(); gcMx1.DataSource = dt; gcMx1.ForceInitialize(); gvMx1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx1); } else { Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1); } //不良品 JArray array2 = new JArray(); foreach (var a in _job["rtnData"]["list2"]) { array2.Add(a); } DataTable dt2 = JsonConvert.DeserializeObject(array2.ToString()); if (dt2.Rows.Count > 0) { gcMx2.BindingContext = new BindingContext(); gcMx2.DataSource = dt2; gcMx2.ForceInitialize(); gvMx2.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx2); } else { Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx2, gvMx2); } string _msg = _rtn.rtnMsg; if (!string.IsNullOrEmpty(_msg)) { Toast vm = new Toast((goodTag == "√" ? 1 : -1), _msg); vm.Show(); }; } else { Toast vm = new Toast(-1, _rtn.rtnMsg); vm.Show(); } } catch (Exception ex) { Toast vm = new Toast(-1, ex.Message); vm.Show(); } } } }