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); }
/// <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); }
/// <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); } } }
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; } }
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); }
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()); } }
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); }