using System; using System.Collections.Generic; using System.Windows.Forms; using QMAPP.ServicesAgent; using QMAPP.WinForm.Common; using QMAPP.Entity; using QMAPP.MD.Entity.Bucket; namespace QMAPP.WinForm.Forms.Injection { /// /// 模块编号:M12-1 /// 作 用:投料记录 /// 作 者:王庆男 /// 编写日期:2015年06月08日 /// public partial class InjectionMoldingNEWEditForm1 : Form { RawMaterial recorder = new RawMaterial();//编辑保存实体 //获取服务代理 QMAPP.ServicesAgent.ServiceAgent _agent = ClientContext.GetServiceAgent(); /// /// 错误的声音文件路径 /// private string errorSoundPath = null; /// /// 新建 /// public InjectionMoldingNEWEditForm1() { InitializeComponent(); BucketCode.Focus(); } /// /// 编辑 /// /// public InjectionMoldingNEWEditForm1(string pid) { recorder.PID = pid; InitializeComponent(); BucketCode.Focus(); } /// /// 窗体加载 /// /// /// private void Form_Load(object sender, EventArgs e) { BucketCode.Focus(); new KeyEvent().SetKeyToTxt(this); #region 绑定下拉列表 BasicData basicData = new BasicData(); #endregion #region 加载编辑 //判断是否为编辑加载编辑数据 if (string.IsNullOrEmpty(recorder.PID) == false) { recorder = _agent.InvokeServiceFunction>(B9BasicService.RawMaterialBLL_Get.ToString(), recorder).Result; this.BatchCode.Text = recorder.BatchCode; this.BucketCode.Text = recorder.BucketCode; this.textBox1.Text = recorder.PartCode; this.SerialCode.Text = recorder.SerialCode; } #endregion } /// /// 窗体保存事件 /// /// /// private void tsbSave_Click(object sender, EventArgs e) { //窗体数据校验 string errorMessae = ErrorCheck(); if (errorMessae != "") { MessageBox.Show(errorMessae, Resource1.ConfirmTitle, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } #region 加载保存信息 //批次 recorder.BatchCode = this.BatchCode.Text; recorder.BucketCode = this.BucketCode.Text; recorder.PartCode = this.textBox1.Text; recorder.SerialCode = this.SerialCode.Text; #endregion #region 保存 DataResult result;//判断是否成功 if (string.IsNullOrEmpty(recorder.PID) == true) { result = _agent.InvokeServiceFunction>(B9BasicService.RawMaterialBLL_Insert.ToString(), recorder); } else { result = _agent.InvokeServiceFunction>(B9BasicService.RawMaterialBLL_Update.ToString(), recorder); } //保存成功 MessageBox.Show(result.Msg); if (result.IsSuccess) { this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } #endregion } /// /// 窗体关闭 /// /// /// private void tsbClose_Click(object sender, EventArgs e) { this.Close(); } /// ///错误检测 /// /// private string ErrorCheck() { #region 校验 string strMessage = ""; if (!string.IsNullOrEmpty(this.BucketCode.Text) && !string.IsNullOrEmpty(this.textBox1.Text)) { var List = _agent.InvokeServiceFunction>(DictService.BucketMaterialBLL_GetBucketMaterialList.ToString(), new BucketMaterial() { BucketCode = this.BucketCode.Text }); if (List != null && List.Count > 0) { var count = 0; foreach (var t in List) { if (System.Text.RegularExpressions.Regex.IsMatch(this.textBox1.Text, t.RawMaterial)) count++; } if (count == 0) { strMessage += this.BucketCode.Text + "原料上料错误 \r\n"; } } } //批次 if (this.BatchCode.Text == string.Empty) { strMessage += Resource1.MaterialBatchNullValidate + "\r\n"; } //料筒 if (this.BucketCode.Text == string.Empty) { strMessage += "料筒不能为空\r\n"; } //零件号 if (this.textBox1.Text == string.Empty) { strMessage += "零件号不能为空\r\n"; } return strMessage; #endregion } private void PartCode_TextChanged(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter && (sender as TextBox).Name == "textBox1") { if (!string.IsNullOrEmpty(this.BucketCode.Text) && !string.IsNullOrEmpty(this.textBox1.Text)) { var List = _agent.InvokeServiceFunction>(DictService.BucketMaterialBLL_GetBucketMaterialList.ToString(), new BucketMaterial() { BucketCode = this.BucketCode.Text }); if (List != null && List.Count > 0) { var count = 0; foreach (var t in List) { if (this.textBox1.Text== t.RawMaterial) count++; } if (count == 0) { //SpVoice voice = new SpVoice(); //voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0); //voice.Speak(this.BucketCode.Text + "原料上料错误"); //PlaySound.PlaySounds.Play(); } } } else { //PlaySound.PlaySounds.Play("条码扫描不规范"); //SpVoice voice = new SpVoice(); //voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0); //voice.Speak("条码扫描不规范"); } BatchCode.Focus(); } } private void BucketCode_TextChanged(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter && (sender as TextBox).Name == "BucketCode") { textBox1.Focus(); } } private void BatchCode_TextChanged(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter && (sender as TextBox).Name == "BatchCode") SerialCode.Focus(); } } }