Beispiel #1
0
        private void bgwWait_DoWork(object sender, DoWorkEventArgs e)
        {
            bgwWait.ReportProgress(PubConstant.WaitMessageStatus.START);
            try
            {
                using (SRArrangedVouch.ArrangedVServiceClient client = new SRArrangedVouch.ArrangedVServiceClient())
                    using (SRCfPExecute.CfPExecuteServiceClient client1 = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret  = client.GetArrangedVouchByCode(context.SessionID, strArrangedVouchCode);
                        var ret1 = client1.GetArrangedVouchLogByCode(context.SessionID, strArrangedVouchCode);

                        if (ret.IsSuccess && ret1.IsSuccess)
                        {
                            this.Invoke((MethodInvoker) delegate()
                            {
                                arrangedVouchBindingSource.DataSource    = ret.Data;
                                arrangedVouchLogBindingSource.DataSource = ret1.Data;
                            });
                        }
                    }
            }
            catch (Exception ex)
            {
                bgwWait.ReportProgress(PubConstant.WaitMessageStatus.ERROR, ex.Message);
            }
            bgwWait.ReportProgress(PubConstant.WaitMessageStatus.END);
        }
Beispiel #2
0
        /// <summary>
        /// 组件工作事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        ///
        private void bgwWait_DoWork(object sender, DoWorkEventArgs e)
        {
            bgwWait.ReportProgress(PubConstant.WaitMessageStatus.START);
            try
            {
                switch (e.Argument.ToString())
                {
                case "LoadTreeData":
                    GetTreeData(e);
                    break;

                case "SearchData":
                    using (SRCfPExecute.CfPExecuteServiceClient client = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = client.GetCfPExecute(context.SessionID, model.ExecuteID);
                        if (ret.IsSuccess)
                        {
                            model        = ret.HeadData;
                            lstbodyModel = ret.BodyData.ToList();
                            this.Invoke((MethodInvoker) delegate()
                            {
                                craftsProcessExecuteBindingSource.DataSource = ret.HeadData;
                                if (ret.BodyData.Count() > 0)
                                {
                                    craftsProcessExecutesBindingSource.DataSource = ret.BodyData.OrderBy(t => t.Priority);
                                }
                                else
                                {
                                    craftsProcessExecutesBindingSource.DataSource = ret.BodyData;
                                }
                                gridControl1.RefreshDataSource();
                            });
                        }
                        else
                        {
                            bgwWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message);
                        }
                    }
                    break;

                default:
                    break;
                }
            }
            catch (System.ServiceModel.FaultException <SRCfPExecute.CustomFaultMessage> fex)
            {
                Utils.Logger.Error(fex.ToString());
                bgwWait.ReportProgress(PubConstant.WaitMessageStatus.ERROR, fex.Message);
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
                bgwWait.ReportProgress(PubConstant.WaitMessageStatus.ERROR, ex.Message);
            }
            bgwWait.ReportProgress(PubConstant.WaitMessageStatus.END);
        }
Beispiel #3
0
 /// <summary>
 /// 获取树形数据
 /// </summary>
 /// <param name="e"></param>
 private void GetTreeData(DoWorkEventArgs e)
 {
     using (SRCfPExecute.CfPExecuteServiceClient client = new SRCfPExecute.CfPExecuteServiceClient())
     {
         var ret = client.GetCfPExecutes(context.SessionID, ArrangedVouchCode);
         if (ret.IsSuccess)
         {
             e.Result = ret.Data;
         }
         else
         {
             bgwWait.ReportProgress(101, ret.Message);
             bgwWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message);
         }
     }
 }
Beispiel #4
0
        private void SuBmitBtn_Click(object sender, EventArgs e)
        {
            using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
            {
                var ret = MESclient.GetDurmsUpFeedingByDevCode(context.SessionID, WorkbrachNameTextEdit.Text);
                vw_DurmsUpFeedingModel.CreateTime = DateTime.Now;
                if (ret.Data[0].DevName != vw_DurmsUpFeedingModel.DevName)
                {
                    ClsMsg.ShowErrMsg("该转鼓跟二维码编码不一致,请重新扫描转鼓号码!");
                    return;
                }

                if (ret.Data != null)
                {
                    DeveUseStatusSpinEdit.EditValue = ret.Data[0].DeveUseStatus.ToString();
                }
                else
                {
                    ClsMsg.ShowErrMsg("无该设备状态数据,请跟管理员沟通");
                }

                var Proret = MESclient.GeCraftsProcessdByWorkbrachName(context.SessionID, WorkbrachNameTextEdit.Text);



                if (Proret.Data.ExecuteOrder != vw_DurmsUpFeedingModel.ExecuteOrder || Proret.Data.ExecuteStatus != vw_DurmsUpFeedingModel.ExecuteStatus)
                {
                    vw_DurmsUpFeedingModel.WorkbrachCode = "";
                    vw_DurmsUpFeedingModel.DevName       = "";
                    ClsMsg.ShowErrMsg("该转鼓在同一时间被进行了操作,请重新扫描转鼓号码!");
                    return;
                }
            }
            if (WorkbrachNameTextEdit.Text == "")
            {
                ClsMsg.ShowErrMsg("当前二维码为空,请扫描正确的鼓号!");
                return;
            }

            if (FrequencyEdit.Text == "")
            {
                ClsMsg.ShowErrMsg("当前没有选择班次,请先选择班次!");
                return;
            }
            if (CraftsNameTextEdit.Text != "空鼓" && CraftsNameTextEdit.Text != "上料")
            {
                ClsMsg.ShowErrMsg("当前鼓号工艺状态异常,请扫描正确的鼓号,或者完成刷卡操作!");
                return;
            }

            if (OperatDescEdit.Text != "" && WorkbrachNameTextEdit.Text != "" && CraftsNameTextEdit.Text == "空鼓" && DeveUseStatusSpinEdit.Text == "正常" && ClsMsg.ShowQuestionMsg("是否要保存空鼓上料信息呢?") == DialogResult.Yes)
            {
                BgWait.RunWorkerAsync("InsterArrangedVouchCode");
            }
            else if (OperatDescEdit.Text != "" && RFIDCodeTextEdit.Text != "" && CraftsNameTextEdit.Text == "上料" && DeveUseStatusSpinEdit.Text == "正常" && ClsMsg.ShowQuestionMsg("是否要保存原料绑卡信息呢?") == DialogResult.Yes)
            {
                BgWait.RunWorkerAsync("UpdateArrangedVouchCode");
            }

            else if (RFIDCodeTextEdit.Text == "" && CraftsNameTextEdit.Text != "空鼓" && CraftsNameTextEdit.Text != "上料")
            {
                ClsMsg.ShowErrMsg("当前鼓号工艺状态异常,请扫描正确的鼓号,或者完成刷卡操作!");
                return;
            }

            else if (RFIDCodeTextEdit.Text == "" && CraftsNameTextEdit.Text == "上料")
            {
                ClsMsg.ShowErrMsg("当前工艺为刷卡绑定操作,请正确刷卡!");
                return;
            }
            else if (DeveUseStatusSpinEdit.Text != "正常")
            {
                ClsMsg.ShowErrMsg("当前鼓号设备状态异常,请扫描正确的鼓号!");
                return;
            }
            else if (OperatDescEdit.Text == "")
            {
                ClsMsg.ShowErrMsg("当前鼓号信息异常,操作项目为空,请扫描正确卡号!");
                return;
            }
        }
Beispiel #5
0
        private void BgWait_DoWork(object sender, DoWorkEventArgs e)
        {
            BgWait.ReportProgress(PubConstant.WaitMessageStatus.START);
            try
            {
                switch (e.Argument.ToString())
                {
                case "SearchRFID":

                    using (var QZclient = new SRQZData.QZDataServiceClient())
                    {
                        var ret    = QZclient.GetQZRFIDCodeData(context.SessionID, RFIDCodeTextEdit.Text);
                        var Newret = QZclient.GetNewQZRFIDCodeData(context.SessionID, RFIDCodeTextEdit.Text);
                        if (Newret != null && Newret.Rows.Count > 0)
                        {
                            //该位置应存储过磅单号,RFID卡号,配方编号,配方名称,合计重量

                            //vw_DurmsUpFeedingModel.RFIDCode = ret.Rows[0][0].ToString();
                            //vw_DurmsUpFeedingModel.FormulaName = ret.Rows[0][9].ToString();
                            //vw_DurmsUpFeedingModel.MaterialVouchCode = ret.Rows[0][10].ToString();

                            //vw_DurmsUpFeedingModel.InputWeight = Decimal.Parse(ret.Rows[0][2].ToString());


                            NewCraftsName.Text = "上料";
                            vw_DurmsUpFeedingModel.RFIDCode    = Newret.Rows[0]["RFID卡号"].ToString();
                            vw_DurmsUpFeedingModel.FormulaName = Newret.Rows[0]["配方名称"].ToString();

                            vw_DurmsUpFeedingModel.ProPlanNum = Newret.Rows[0]["参数表编码"].ToString();

                            vw_DurmsUpFeedingModel.MaterialVouchCode = Newret.Rows[0]["过磅单号"].ToString();
                            vw_DurmsUpFeedingModel.FormulaCode       = Newret.Rows[0]["配方单号"].ToString();

                            vw_DurmsUpFeedingModel.InputWeight = Decimal.Parse(Newret.Rows[0]["每鼓合计重量"].ToString());
                        }
                        else
                        {
                            ClsMsg.ShowErrMsg("没有该卡号信息,请重新刷卡");
                            BgWait.ReportProgress(PubConstant.WaitMessageStatus.END);
                            return;
                        }
                    }


                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        //    GetCfPExecuteByArrangedVouchCode        WorkbrachName
                        var ArrRet = MESclient.GetCfPExecuteByArrangedVouchCode(context.SessionID, vw_DurmsUpFeedingModel.ArrangedVouchCode);

                        vw_DurmsUpFeedingModel.WorkbrachCode     = ArrRet.Data.WorkbrachCode;
                        vw_DurmsUpFeedingModel.ExecuteOrder      = ArrRet.Data.ExecuteOrder;
                        vw_DurmsUpFeedingModel.ExecuteStatus     = ArrRet.Data.ExecuteStatus;//暂定用于判断保存时数据是否被后台或同一时间进行了修正
                        vw_DurmsUpFeedingModel.CraftsName        = ArrRet.Data.CraftsName;
                        vw_DurmsUpFeedingModel.CraftsCode        = ArrRet.Data.CraftsCode;
                        vw_DurmsUpFeedingModel.ArrangedVouchCode = ArrRet.Data.ArrangedVouchCode;

                        if (vw_DurmsUpFeedingModel.CraftsName != "上料" && vw_DurmsUpFeedingModel.CraftsName != "空鼓")
                        {
                            ClsMsg.ShowErrMsg("本转鼓不处于空鼓或上料开始阶段,无法使用保存功能");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }
                        else if (vw_DurmsUpFeedingModel.CraftsName == "空鼓")
                        {
                            vw_DurmsUpFeedingModel.ArrangedVouchCode = "";
                            OperatDescEdit.Text = "上料开始";
                            NewCraftsName.Text  = "上料";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }

                        else if (vw_DurmsUpFeedingModel.CraftsName == "上料" && ArrRet.Data.ExecuteStatus != 2)
                        {
                            vw_DurmsUpFeedingModel.ArrangedVouchCode = ArrRet.Data.ArrangedVouchCode;
                            OperatDescEdit.Text = "原料扫卡绑定";
                            NewCraftsName.Text  = "上料";
                            RFIDCodeTextEdit.Properties.ReadOnly = false;
                        }

                        else
                        {
                            ClsMsg.ShowErrMsg("本转鼓不处于空鼓或上料开始阶段,无法使用保存功能");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }
                    }

                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);
                        if (ret.Data != null)
                        {
                            e.Result = ret.Data;
                        }
                        else
                        {
                            BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message);
                        }
                    }
                    break;

                case "SearchDevStatus":
                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.GetDurmsUpFeedingByDevCode(context.SessionID, WorkbrachNameTextEdit.Text);
                        if (ret.Data != null)
                        {
                            DeveUseStatusSpinEdit.EditValue = ret.Data[0].DeveUseStatus.ToString();
                            vw_DurmsUpFeedingModel.DevName  = ret.Data[0].DevName;

                            vw_DurmsUpFeedingModel.WorkbrachName = ret.Data[0].DevName;

                            vw_DurmsUpFeedingModel.WorkbrachCode = ret.Data[0].DevCode;
                        }
                        else
                        {
                            ClsMsg.ShowErrMsg("无该设备状态数据,请跟管理员沟通");
                        }

                        //vw_DurmsUpFeedingModel.WorkbrachName = ret.Data[0].DevCode;


                        var Proret = MESclient.GeCraftsProcessdByWorkbrachName(context.SessionID, WorkbrachNameTextEdit.Text);
                        //  vw_DurmsUpFeedingModel.WorkbrachName = Proret.Data.WorkbrachName;
                        vw_DurmsUpFeedingModel.ExecuteOrder = Proret.Data.ExecuteOrder;

                        vw_DurmsUpFeedingModel.ExecuteStatus = Proret.Data.ExecuteStatus;     //暂定用于判断保存时数据是否被后台或同一时间进行了修正

                        vw_DurmsUpFeedingModel.CraftsName  = Proret.Data.CraftsName;
                        vw_DurmsUpFeedingModel.RFIDCode    = "";
                        vw_DurmsUpFeedingModel.FormulaName = "";
                        vw_DurmsUpFeedingModel.InputWeight = null;


                        if (vw_DurmsUpFeedingModel.CraftsName != "上料" && vw_DurmsUpFeedingModel.CraftsName != "空鼓")
                        {
                            ClsMsg.ShowErrMsg("本转鼓不处于空鼓或上料开始阶段,无法使用保存功能");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }
                        else if (vw_DurmsUpFeedingModel.CraftsName == "空鼓")
                        {
                            vw_DurmsUpFeedingModel.ArrangedVouchCode = "";
                            OperatDescEdit.Text = "上料开始";
                            NewCraftsName.Text  = "上料";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }

                        else if (vw_DurmsUpFeedingModel.CraftsName == "上料" && Proret.Data.ExecuteStatus != 2)
                        {
                            vw_DurmsUpFeedingModel.ArrangedVouchCode = Proret.Data.ArrangedVouchCode;
                            //   OperatDescEdit.Text = "原料扫卡绑定";
                            NewCraftsName.Text = "上料";
                            RFIDCodeTextEdit.Properties.ReadOnly = false;
                        }

                        else
                        {
                            ClsMsg.ShowErrMsg("本转鼓不处于空鼓或上料开始阶段,无法使用保存功能");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                        }



                        using (var MESclientLog = new SRCfPExecute.CfPExecuteServiceClient())
                        {
                            var retLog = MESclientLog.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);

                            if (retLog.Data != null)
                            {
                                e.Result = retLog.Data;
                            }
                            else
                            {
                                BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, retLog.Message);
                            }
                        }
                    }
                    vw_DurmsUpFeedingModel.CreateTime = DateTime.Now;
                    break;

                case "SearchArrangedVouchLogCode":

                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);
                        if (ret.Data != null)
                        {
                            e.Result = ret.Data;
                        }
                        else
                        {
                            BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message);
                        }
                    }
                    break;

                case "InsterArrangedVouchCode":


                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.InsterArrVouchByVw(context.SessionID, vw_DurmsUpFeedingModel);     //保存排配单数据
                        if (ret.IsSuccess)
                        {
                            var logModel = new SRCfPExecute.ArrangedVouchLog()
                            {
                                ArrangedVouchCode = ret.Data.ArrangedVouchCode,
                                OperatingTime     = vw_DurmsUpFeedingModel.CreateTime,
                                OperatDesc        = OperatDescEdit.Text,
                                Operator          = OperatorEdit.Text,
                                Frequency         = FrequencyEdit.Text,
                                CraftsName        = CraftsNameTextEdit.Text,
                            };

                            vw_DurmsUpFeedingModel.ArrangedVouchCode = ret.Data.ArrangedVouchCode;

                            MESclient.InsterArrVouchLog(context.SessionID, logModel);      //保存操作日志数据
                            BgWait.ReportProgress(99, "保存成功!");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            OperatDescEdit.Text = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = false;
                            vw_DurmsUpFeedingModel.CreateTime    = DateTime.Now;
                            vw_DurmsUpFeedingModel.Creator       = context.UserName;

                            using (var MESclientLog = new SRCfPExecute.CfPExecuteServiceClient())
                            {
                                var retLog = MESclientLog.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);
                                if (retLog.Data != null)
                                {
                                    e.Result = retLog.Data;
                                }
                                else
                                {
                                    BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, retLog.Message);
                                }
                            }
                        }
                    }
                    break;

                case "InsterCraProDataById":

                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.UpdateCraftsProcessData(context.SessionID, "CSGH17011", vw_DurmsUpFeedingModel);     //保存排配单数据
                        if (ret.IsSuccess)
                        {
                            BgWait.ReportProgress(99, "保存成功!");
                        }
                        else
                        {
                            BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, ret.Message);
                        }
                    }
                    break;


                case "UpdateArrangedVouchCode":
                    using (var MESclient = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = MESclient.UpdateArrangedVouchCode(context.SessionID, vw_DurmsUpFeedingModel);     //保存排配单数据



                        var retTail = MESclient.UpdateCraftsProcessData(context.SessionID, vw_DurmsUpFeedingModel.ProPlanNum, vw_DurmsUpFeedingModel);     //修改执行子表跟主表数据


                        var TestRet = MESclient.UpdateCraftsProcessExecute(context.SessionID, vw_DurmsUpFeedingModel.ArrangedVouchCode, 1, 2);


                        if (ret.IsSuccess)
                        {
                            var logModel = new SRCfPExecute.ArrangedVouchLog()
                            {
                                ArrangedVouchCode = ret.Data.ArrangedVouchCode,
                                OperatingTime     = vw_DurmsUpFeedingModel.CreateTime,
                                OperatDesc        = OperatDescEdit.Text,
                                Operator          = OperatorEdit.Text,
                                Frequency         = FrequencyEdit.Text,
                                CraftsName        = CraftsNameTextEdit.Text,
                            };

                            MESclient.InsterArrVouchLog(context.SessionID, logModel);      //保存操作日志数据
                            BgWait.ReportProgress(99, "保存成功!");
                            vw_DurmsUpFeedingModel.WorkbrachCode = "";
                            OperatDescEdit.Text = "";
                            RFIDCodeTextEdit.Properties.ReadOnly = true;
                            vw_DurmsUpFeedingModel.CreateTime    = DateTime.Now;
                            vw_DurmsUpFeedingModel.Creator       = context.UserName;
                            using (var MESclientLog = new SRCfPExecute.CfPExecuteServiceClient())
                            {
                                var retLog = MESclientLog.GetArrangedVouchLogByCode(context.SessionID, ArrangedVouchCodeTextEdit.Text);

                                if (retLog.Data != null)
                                {
                                    e.Result = retLog.Data;
                                }
                                else
                                {
                                    BgWait.ReportProgress(PubConstant.WaitMessageStatus.WARNING, retLog.Message);
                                }
                            }
                        }
                    }
                    break;


                default:
                    break;
                }
            }


            catch (Exception ex)
            {
                BgWait.ReportProgress(PubConstant.WaitMessageStatus.ERROR, ex.Message);
            }

            BgWait.ReportProgress(PubConstant.WaitMessageStatus.END);
        }
Beispiel #6
0
        public static void AcceptCallback(IAsyncResult er)
        {
            bool Flag_IP = false;

            try
            {
                allDone.Set();
                // 异步获取用户对象
                Socket listener = (Socket)er.AsyncState;
                //异步接收连接通讯
                Socket      handler = listener.EndAccept(er);
                StateObjcet state   = new StateObjcet();
                state.workSocket = handler;
                IPAddress remote_ip = ((IPEndPoint)handler.RemoteEndPoint).Address;  //获取远程连接IP,用于安全处理



                using (SRCfPExecute.CfPExecuteServiceClient client = new SRCfPExecute.CfPExecuteServiceClient())
                {
                    var ret = client.GetAllIPRegistForm("test");
                    foreach (SRCfPExecute.IPRegistForm i in ret.Data)
                    {
                        if (remote_ip.ToString() == i.IP)
                        {
                            UpdateControl(new MainForm(), new EventArgs(), handler);
                            Utils.Logger.Debug(i.IP + "该IP已登记,顺利连接");
                            Flag_IP = true;
                            break;
                        }
                    }
                }
                if (!Flag_IP)
                {
                    Utils.Logger.Debug(remote_ip.ToString() + "该IP未登记,连接中断");
                    Byte[] byteMessage = new Byte[100]; //存放消息的字节数组缓冲区, 注意数组表示方法,和C不同的.
                    byteMessage = System.Text.Encoding.Default.GetBytes("error 401:IP no Regiter");
                    Socket SelectSocket = handler;
                    SelectSocket.BeginSend(byteMessage, 0, byteMessage.Length, 0, new AsyncCallback(SendCallback), SelectSocket);
                    SelectSocket.Dispose();
                }
                else
                {
                    Byte[] byteMessage = new Byte[100]; //存放消息的字节数组缓冲区, 注意数组表示方法,和C不同的.
                    byteMessage = System.Text.Encoding.Default.GetBytes("Connectting");
                    Socket SelectSocket = handler;

                    try
                    {
                        SelectSocket.BeginSend(byteMessage, 0, byteMessage.Length, 0, new AsyncCallback(SendCallback), SelectSocket);

                        handler.BeginReceive(state.buffer, 0, StateObjcet.BufferSize, 0, new AsyncCallback(ReadCallback), state);
                    }
                    catch (ObjectDisposedException ex)
                    {
                        Utils.Logger.Error(ex.ToString());
                    }
                }
            }
            catch (ObjectDisposedException ex)
            {
                Utils.Logger.Error(ex.ToString());
            }
        }
Beispiel #7
0
        private void BgwWait_DoWork(object sender, DoWorkEventArgs e)
        {
            BgwWait.ReportProgress(PubConstant.WaitMessageStatus.START);
            try
            {
                switch (e.Argument.ToString())
                {
                case "SearchData":
                    using (SRCfPExecute.CfPExecuteServiceClient client = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = client.GetAllIPRegistForm(context.SessionID);
                        e.Result = ret.Data;
                    }

                    break;

                case "SaveData":
                    using (SRCfPExecute.CfPExecuteServiceClient client = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = client.InsterRegistForm(context.SessionID, model);

                        if (ret.IsSuccess)
                        {
                            e.Result = client.GetAllIPRegistForm(context.SessionID).Data;

                            BgwWait.ReportProgress(99, "保存成功!");
                        }

                        break;
                    }

                case "DelData":

                    using (SRCfPExecute.CfPExecuteServiceClient client = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = client.DeleteRegistFormById(context.SessionID, model);
                        if (ret.IsSuccess)
                        {
                            e.Result = client.GetAllIPRegistForm(context.SessionID).Data;
                            BgwWait.ReportProgress(99, "删除成功!");
                        }

                        break;
                    }

                case "UpdData":


                    using (SRCfPExecute.CfPExecuteServiceClient client = new SRCfPExecute.CfPExecuteServiceClient())
                    {
                        var ret = client.UpdateRegistForm(context.SessionID, model);
                        if (ret.IsSuccess)
                        {
                            e.Result = client.GetAllIPRegistForm(context.SessionID).Data;
                            BgwWait.ReportProgress(99, "修改成功!");
                        }

                        break;
                    }

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                BgwWait.ReportProgress(101, ex.Message);
            }

            BgwWait.ReportProgress(PubConstant.WaitMessageStatus.END);
        }