cdk
3 天以前 adc3fd8af6ff791cd3f924890419cd0cba385f51
DevApp/Gs.DevApp/DevFrm/Work/Frm_Work01.cs
@@ -1,4 +1,5 @@
using DevExpress.XtraGrid.Columns;
using DevExpress.XtraLayout.Utils;
using Gs.DevApp.Entity;
using Gs.DevApp.ToolBox;
using Newtonsoft.Json;
@@ -29,20 +30,27 @@
        /// </summary>
        /// <param name="_fGx">工序</param>
        /// <param name="_fBc">班次</param>
        public Frm_Work01(string _fGx, string _fBc)
        /// <param name="_strinOther">目前为电检路径</param>
        public Frm_Work01(string _fGx, string _fBc, string _strinOther)
        {
            InitializeComponent();
            gvMx1.IndicatorWidth = 60;
            gvMx1.CustomDrawRowIndicator += (s, e) =>
            {
                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
                    e.Info.DisplayText = (e.RowHandle + 1).ToString();
            };
            txt_gx.Text = _fGx;
            txt_bc.Text = _fBc;
            this.Text = "工序采集 - " + _fGx + " - " + _fBc;
            if (!getConfig())
            {
                Gs.DevApp.ToolBox.MsgHelper.ShowError("读取配置文件失败,请联系管理员!");
            }
            txt_dianJianPath.Text = _strinOther;
            dianJianPath = _strinOther;
            this.Text = "工序采集【" + _fGx + " - " + _fBc + "】";
            label8.Text = _fGx + "数量";
            addColumn();
            txt_barCode.KeyDown += (s, e) =>
            {
                if (e.KeyCode == Keys.Enter) { addModel(goodTag); };
                if (e.KeyCode == Keys.Enter) { addModel(goodTag); }
                ;
            };
            btnGood.Click += (s, e) =>
            {
@@ -50,7 +58,14 @@
            };
            btnBad.Click += (s, e) =>
            {
                UcDictionarySelect frm = new UcDictionarySelect("缺陷描述", " s_type='工序采集不良项目'");
                string _barCode = txt_barCode.Text.Trim();
                if (string.IsNullOrEmpty(_barCode))
                {
                    Toast vm = new Toast(-1, "~请先扫追溯码~");
                    vm.Show();
                    return;
                }
                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();
@@ -75,41 +90,13 @@
        }
        /// <summary>
        /// 先读取配置
        /// 根据工序,构造不同类型的实体
        /// </summary>
        /// <param name="_barCode">条码</param>
        /// <param name="_checkResult">结果</param>
        /// <param name="_badDescription">不良描述</param>
        /// <returns></returns>
        private bool getConfig()
        {
            string _where = " and 1=1 and  defect_code='7001'";
            var pgq = new PageQueryModel(1, 999999, "a.defect_code", "asc", "", _where);
            var json = JsonConvert.SerializeObject(pgq);
            try
            {
                var strReturn = UtilityHelper.HttpPost("", "MesDefectCodeManager/GetListPage", json);
                var dd = UtilityHelper.ReturnToTablePage(strReturn);
                var dt = dd.rtnData.list;
                if (dt != null && dt.Rows.Count > 0)
                {
                    dianJianPath = dt.Rows[0]["defectName"].ToString();
                    return true;
                }
                return false;
            }
            catch (Exception ex)
            {
                MsgHelper.Warning("提示:" + ex.Message);
                return false;
            }
        }
        /// <summary>
        /// 读取实体
        /// </summary>
        /// <param name="_barCode"></param>
        /// <param name="_checkResult"></param>
        /// <param name="_badReson"></param>
        /// <returns></returns>
        private dynamic getObj(string _barCode, string _checkResult, string _badReson = "")
        private dynamic getObj(string _barCode, string _checkResult, string _badDescription = "")
        {
            dynamic _obj = new ExpandoObject();
            _obj.barCode = _barCode;
@@ -117,11 +104,12 @@
            _obj.processNo = txt_gx.Text.Trim();//工序
            _obj.banCi = txt_bc.Text.Trim();//班次
            _obj.gongWei = txt_gw.Text.Trim();//工位
            _obj.badReson = _badReson.Trim();//不良原因
            _obj.badDescription = _badDescription.Trim();//不良描述
            if (txt_gx.Text.Trim() == fGxTouRu)
            {
                return _obj;
            }
            //电检
            if (txt_gx.Text.Trim() == fGxDianJian)
            {
                string TM = "";
@@ -138,9 +126,8 @@
                string myStr = File.ReadAllText(dianJianPath, Encoding.Default);
                if (myStr == "")
                {
                    return null;
                    return _obj;
                }
                File.WriteAllText(dianJianPath, "");
                JArray dsTemp = JArray.Parse(myStr);
                foreach (var ss in dsTemp)  //查找某个字段与值
                {
@@ -150,7 +137,7 @@
                    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(" ", ", ");
                    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(" ", ", ");
@@ -167,9 +154,11 @@
                _obj.t009 = JNV;
                _obj.t010 = XLV;
                _obj.t011 = GVV;
                //正式上线要清空文本数据
                //File.WriteAllText(dianJianPath, "");
                return _obj;
            }
            //水检
            if (txt_gx.Text.Trim() == fGxShouJian)
            {
                string strCsl1 = "strCsl1";
@@ -193,7 +182,11 @@
                _obj.t009 = strSw4;
                _obj.t010 = strCsl5;
                _obj.t011 = strSw5;
               // _obj.t012 = SJJG;这个待确定
                // _obj.t012 = SJJG;这个待确定
                return _obj;
            }
            if (txt_gx.Text.Trim() == fGxZhongJian)
            {
                return _obj;
            }
            return null;
@@ -202,9 +195,9 @@
        /// <summary>
        /// 上报实体
        /// </summary>
        /// <param name="_checkResult">判定结果</param>
        /// <param name="_badReson">不良原因,可空</param>
        private void addModel(string _checkResult, string _badReson = "")
        /// <param name="_checkResult">结果:√</param>
        /// <param name="_badDescription">不良描述</param>
        private void addModel(string _checkResult, string _badDescription = "")
        {
            string _barCode = txt_barCode.Text.Trim();
            if (string.IsNullOrEmpty(_barCode))
@@ -213,13 +206,7 @@
                vm.Show();
                return;
            }
            dynamic _obj = getObj(_barCode, _checkResult, _badReson);
            if (_obj == null)
            {
                Toast vm = new Toast(-1, "~读取数据失败,请检查设备~");
                vm.Show();
                return;
            }
            dynamic _obj = getObj(_barCode, _checkResult, _badDescription);
            try
            {
                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
@@ -279,7 +266,8 @@
                    {
                        Toast vm = new Toast((goodTag == "√" ? 1 : -1), _msg);
                        vm.Show();
                    };
                    }
                    ;
                }
                else
                {
@@ -295,10 +283,21 @@
        }
        /// <summary>
        /// 增加电检取数的列
        /// 增加电检,水检的列
        /// </summary>
        public void addColumn()
        {
            //只有电检才显示
            if (txt_gx.Text.Trim() == fGxDianJian)
                layDianJian.Visibility = LayoutVisibility.Always;
            else
                layDianJian.Visibility = LayoutVisibility.Never;
            //只有水检才显示
            if (txt_gx.Text.Trim() == fGxShouJian)
                layShuiJian.Visibility = LayoutVisibility.Always;
            else
                layShuiJian.Visibility = LayoutVisibility.Never;
            List<dynamic> _lst = new List<dynamic>();
            if (txt_gx.Text.Trim() == fGxDianJian)
            {
@@ -351,7 +350,6 @@
                    kejian = true,
                    visibleIndex = 1,
                });
                _lst.Add(new
                {
                    ziduan = "t011",
@@ -418,7 +416,6 @@
                    kejian = true,
                    visibleIndex = 1,
                });
                _lst.Add(new
                {
                    ziduan = "t010",