| | |
| | | using Gs.DevApp.Entity; |
| | | using DevExpress.XtraGrid.Columns; |
| | | using Gs.DevApp.Entity; |
| | | using Gs.DevApp.ToolBox; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Linq; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Dynamic; |
| | | using System.IO; |
| | | using System.Text; |
| | | using System.Windows.Forms; |
| | | |
| | | namespace Gs.DevApp.DevFrm.Work |
| | |
| | | public partial class Frm_Work01 : DevExpress.XtraEditors.XtraForm |
| | | { |
| | | string _webServiceName = "WorkCollect/"; |
| | | string fGx = ""; |
| | | string fBc = ""; |
| | | public Frm_Work01(string _fGx, string _fBc) |
| | | { |
| | | InitializeComponent(); |
| | | this.Text = "工序采集 - " + _fGx+ " - "+ fBc; |
| | | this.fGx = _fGx; |
| | | this.fBc = _fBc; |
| | | txt_gx.Text = fGx; |
| | | txt_bc.Text = fBc; |
| | | txt_barCode.KeyDown += (s, e) => |
| | | { |
| | | if (e.KeyCode == Keys.Enter) { getModel("", "√"); }; |
| | | }; |
| | | btnGood.Click += (s, e) => |
| | | { |
| | | getModel("", "√"); |
| | | }; |
| | | btnBad.Click += (s, e) => { |
| | | getModel("", "×"); |
| | | }; |
| | | } |
| | | string dianJianPath = "";//电检取值路径 |
| | | string goodTag = "√"; |
| | | string badTag = "×"; |
| | | string fGxTouRu = "G001:投入"; |
| | | string fGxDianJian = "G002:电检"; |
| | | string fGxShouJian = "G003:水检"; |
| | | string fGxZhongJian = "G004:终检"; |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="_checkVal">检测值</param> |
| | | /// <param name="_checkResult">检测结果</param> |
| | | private void getModel(string _checkVal, string _checkResult) |
| | | /// <param name="_fGx">工序</param> |
| | | /// <param name="_fBc">班次</param> |
| | | /// <param name="_strinOther">目前为电检路径</param> |
| | | public Frm_Work01(string _fGx, string _fBc, string _strinOther) |
| | | { |
| | | InitializeComponent(); |
| | | txt_gx.Text = _fGx; |
| | | txt_bc.Text = _fBc; |
| | | txt_dianJianPath.Text = _strinOther; |
| | | dianJianPath= _strinOther; |
| | | this.Text = "工序采集【" + _fGx + " - " + _fBc + "】"; |
| | | addColumn(); |
| | | txt_barCode.KeyDown += (s, e) => |
| | | { |
| | | if (e.KeyCode == Keys.Enter) { addModel(goodTag); }; |
| | | }; |
| | | btnGood.Click += (s, e) => |
| | | { |
| | | addModel(goodTag); |
| | | }; |
| | | btnBad.Click += (s, e) => |
| | | { |
| | | UcDictionarySelect frm = new UcDictionarySelect("工序不良描述", " a.s_type='工序不良描述' and pid<>'00000000-0000-0000-0000-000000000000'"); |
| | | 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 |
| | | addModel(badTag, _txt); |
| | | }; |
| | | frm.ShowDialog(); |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据工序,构造不同类型的实体 |
| | | /// </summary> |
| | | /// <param name="_barCode">条码</param> |
| | | /// <param name="_checkResult">结果</param> |
| | | /// <param name="_badDescription">不良描述</param> |
| | | /// <returns></returns> |
| | | private dynamic getObj(string _barCode, string _checkResult, string _badDescription = "") |
| | | { |
| | | dynamic _obj = new ExpandoObject(); |
| | | _obj.barCode = _barCode; |
| | | _obj.checkResult = _checkResult;//检测结果 |
| | | _obj.processNo = txt_gx.Text.Trim();//工序 |
| | | _obj.banCi = txt_bc.Text.Trim();//班次 |
| | | _obj.gongWei = txt_gw.Text.Trim();//工位 |
| | | _obj.badDescription = _badDescription.Trim();//不良描述 |
| | | if (txt_gx.Text.Trim() == fGxTouRu) |
| | | { |
| | | return _obj; |
| | | } |
| | | if (txt_gx.Text.Trim() == fGxDianJian) |
| | | { |
| | | string TM = ""; |
| | | string JD = ""; |
| | | string JY = ""; |
| | | string JN = ""; |
| | | string XL = ""; |
| | | string GV = ""; |
| | | string JDV = ""; |
| | | string JYV = ""; |
| | | string JNV = ""; |
| | | string XLV = ""; |
| | | string GVV = ""; |
| | | string myStr = File.ReadAllText(dianJianPath, Encoding.Default); |
| | | if (myStr == "") |
| | | { |
| | | return null; |
| | | } |
| | | |
| | | JArray dsTemp = JArray.Parse(myStr); |
| | | foreach (var ss in dsTemp) //查找某个字段与值 |
| | | { |
| | | TM = (((JObject)ss)["TiaoMa"] == null) ? "" : ((JObject)ss)["TiaoMa"].ToString(); |
| | | JD = (((JObject)ss)["JieDi"] == null) ? "" : ((JObject)ss)["JieDi"]["state"].ToString(); |
| | | JY = (((JObject)ss)["JueYuan"] == null) ? "" : ((JObject)ss)["JueYuan"]["state"].ToString(); |
| | | JN = (((JObject)ss)["JiaoNai"] == null) ? "" : ((JObject)ss)["JiaoNai"]["state"].ToString(); |
| | | XL = (((JObject)ss)["XieLou"] == null) ? "" : ((JObject)ss)["XieLou"]["state"].ToString(); |
| | | GV = (((JObject)ss)["GongLv"] == null) ? "" : ((JObject)ss)["GongLv"]["state"].ToString(); |
| | | JDV = (((JObject)ss)["JieDi"] == null) ? "" : ((JObject)ss)["JieDi"]["value"].ToString().Replace(" ", ","); |
| | | JYV = (((JObject)ss)["JueYuan"] == null) ? "" : ((JObject)ss)["JueYuan"]["value"].ToString().Replace(" ", ", "); |
| | | JNV = (((JObject)ss)["JiaoNai"] == null) ? "" : ((JObject)ss)["JiaoNai"]["value"].ToString().Replace(" ", ", "); |
| | | XLV = (((JObject)ss)["XieLou"] == null) ? "" : ((JObject)ss)["XieLou"]["value"].ToString().Replace(" ", ", "); |
| | | GVV = (((JObject)ss)["GongLv"] == null) ? "" : ((JObject)ss)["GongLv"]["value"].ToString().Replace(" ", ", "); |
| | | } |
| | | _obj.t001 = TM; |
| | | _obj.t002 = JD; |
| | | _obj.t003 = JY; |
| | | _obj.t004 = JN; |
| | | _obj.t005 = XL; |
| | | _obj.t006 = GV; |
| | | _obj.t007 = JDV; |
| | | _obj.t008 = JYV; |
| | | _obj.t009 = JNV; |
| | | _obj.t010 = XLV; |
| | | _obj.t011 = GVV; |
| | | // File.WriteAllText(dianJianPath, ""); |
| | | return _obj; |
| | | } |
| | | |
| | | if (txt_gx.Text.Trim() == fGxShouJian) |
| | | { |
| | | string strCsl1 = "strCsl1"; |
| | | string strSw1 = "strSw1"; |
| | | string strCsl2 = "strCsl2"; |
| | | string strSw2 = "strSw2"; |
| | | string strCsl3 = "strCsl3"; |
| | | string strSw3 = "strSw3"; |
| | | string strCsl4 = "strCsl4"; |
| | | string strSw4 = "strSw4"; |
| | | string strCsl5 = "strCsl5"; |
| | | string strSw5 = "strSw5"; |
| | | string SJJG = ""; |
| | | _obj.t002 = strCsl1; |
| | | _obj.t003 = strSw1; |
| | | _obj.t004 = strCsl2; |
| | | _obj.t005 = strSw2; |
| | | _obj.t006 = strCsl3; |
| | | _obj.t007 = strSw3; |
| | | _obj.t008 = strCsl4; |
| | | _obj.t009 = strSw4; |
| | | _obj.t010 = strCsl5; |
| | | _obj.t011 = strSw5; |
| | | // _obj.t012 = SJJG;这个待确定 |
| | | return _obj; |
| | | } |
| | | |
| | | if (txt_gx.Text.Trim() == fGxZhongJian) |
| | | { |
| | | return _obj; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 上报实体 |
| | | /// </summary> |
| | | /// <param name="_checkResult">结果:√</param> |
| | | /// <param name="_badDescription">不良描述</param> |
| | | private void addModel(string _checkResult, string _badDescription = "") |
| | | { |
| | | string _barCode = txt_barCode.Text.Trim(); |
| | | string _inBz = ""; ; //备注 |
| | | if (string.IsNullOrEmpty(_barCode)) |
| | | { |
| | | Toast vm = new Toast(System.Drawing.Color.DodgerBlue, "请先扫码"); |
| | | Toast vm = new Toast(-1, "~请先扫追溯码~"); |
| | | vm.Show(); |
| | | return; |
| | | } |
| | | var _obj = new |
| | | dynamic _obj = getObj(_barCode, _checkResult, _badDescription); |
| | | if (_obj == null) |
| | | { |
| | | barCode = _barCode, |
| | | inBz = _inBz, |
| | | checkVal = _checkVal, |
| | | checkResult = _checkResult, |
| | | processNo = txt_gx.Text.Trim(),//工序 |
| | | banCi = txt_bc.Text.Trim(),//班次 |
| | | gongWei = txt_gw.Text.Trim(),//工位 |
| | | }; |
| | | Toast vm = new Toast(-1, "~读取数据失败,请检查设备~"); |
| | | vm.Show(); |
| | | return; |
| | | } |
| | | try |
| | | { |
| | | string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj)); |
| | |
| | | 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(); |
| | |
| | | { |
| | | Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1); |
| | | } |
| | | //不良品列表 |
| | | JArray array2 = new JArray(); |
| | | foreach (var a in _job["rtnData"]["list2"]) |
| | | { |
| | |
| | | string _msg = _rtn.rtnMsg; |
| | | if (!string.IsNullOrEmpty(_msg)) |
| | | { |
| | | //设置单窗口出现弹出的速度 |
| | | this.alertControl1.FormDisplaySpeed = DevExpress.XtraBars.Alerter.AlertFormDisplaySpeed.Fast; |
| | | //设置显示多少时间窗口会自动关闭 以毫秒为单位 |
| | | this.alertControl1.AutoFormDelay = 3000; |
| | | //设置提出窗口的显示的位置 |
| | | this.alertControl1.FormLocation = DevExpress.XtraBars.Alerter.AlertFormLocation.BottomLeft; |
| | | this.alertControl1.Show(this, "提示!", _msg); |
| | | Toast vm = new Toast((goodTag == "√" ? 1 : -1), _msg); |
| | | vm.Show(); |
| | | }; |
| | | } |
| | | else |
| | | ToolBox.MsgHelper.ShowError("提示:" + _rtn.rtnMsg); |
| | | { |
| | | Toast vm = new Toast(-1, _rtn.rtnMsg); |
| | | vm.Show(); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | ToolBox.MsgHelper.ShowError("提示:" + ex.Message); |
| | | Toast vm = new Toast(-1, ex.Message); |
| | | vm.Show(); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 增加电检取数的列 |
| | | /// </summary> |
| | | public void addColumn() |
| | | { |
| | | List<dynamic> _lst = new List<dynamic>(); |
| | | if (txt_gx.Text.Trim() == fGxDianJian) |
| | | { |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t002", |
| | | wenben = "接地", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t004", |
| | | wenben = "交耐", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t005", |
| | | wenben = "泄漏", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t006", |
| | | wenben = "功率", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t007", |
| | | wenben = "接地结果", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t009", |
| | | wenben = "交耐结果", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t010", |
| | | wenben = "泄漏结果", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t011", |
| | | wenben = "功率结果", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | } |
| | | if (txt_gx.Text.Trim() == fGxShouJian) |
| | | { |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t002", |
| | | wenben = "出水量1", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t003", |
| | | wenben = "水温1", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t004", |
| | | wenben = "出水量2", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t005", |
| | | wenben = "水温2", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t006", |
| | | wenben = "出水量3", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t007", |
| | | wenben = "水温3", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t008", |
| | | wenben = "出水量4", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t009", |
| | | wenben = "水温4", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t010", |
| | | wenben = "出水量5", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | _lst.Add(new |
| | | { |
| | | ziduan = "t011", |
| | | wenben = "水温5", |
| | | kejian = true, |
| | | visibleIndex = 1, |
| | | }); |
| | | } |
| | | foreach (var item in _lst) |
| | | { |
| | | GridColumn newColumn = new GridColumn(); |
| | | newColumn.FieldName = item.ziduan; // 设置与数据源对应的字段名 |
| | | newColumn.Caption = item.wenben; // 设置列的标题 |
| | | //newColumn.Visible = item.visibleIndex; // 设置列是否可见 |
| | | newColumn.VisibleIndex = item.visibleIndex; // 设置列的显示顺序 |
| | | gvMx1.Columns.Add(newColumn); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |