using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using QM.Common; using QMAPP.FJC.Entity; using QMAPP.FJC.Entity.Basic; using QMAPP.FJC.Entity.Injection; using QMAPP.ServicesAgent; using QMAPP.WinForm.Common; using QMAPP.Entity; namespace QMAPP.WinForm.Forms.Injection { /// /// 模块编号:M12-1 /// 作 用:投料记录 /// 作 者:王庆男 /// 编写日期:2015年06月08日 /// public partial class PouringMoldingEditForm : Form { InjectionRecorder recorder = new InjectionRecorder();//编辑保存实体 /// /// 新建 /// public PouringMoldingEditForm() { InitializeComponent(); } /// /// 编辑 /// /// public PouringMoldingEditForm(string pid) { recorder.PID = pid; InitializeComponent(); } /// /// 窗体加载 /// /// /// private void Form_Load(object sender, EventArgs e) { new KeyEvent().SetKeyToTxt(this); #region 绑定下拉列表 BasicData basicData = new BasicData(); //加载注塑设备列表 this.comMachineCode.DataSource = basicData.GetMachineInfoList(new string[] { EnumGeter.ProcessType_M.Foaming.GetHashCode().ToString() }, true); this.comMachineCode.DisplayMember = "MACHINENAME"; this.comMachineCode.ValueMember = "MACHINECODDE"; if (comMachineCode.Items.Count > 0) this.comMachineCode.SelectedIndex = 0; //if (ClientContext.MachineInfo != null) //{ // this.comMachineCode.SelectedValue = ClientContext.MachineInfo.MACHINECODDE; //} //else //{ // this.comMachineCode.SelectedIndex = 0; //} //this.comMachineCode.SelectedValue = ClientContext.MachineInfo.MACHINECODDE;//默认当前设备 //加载物料列表 this.comMaterialCode.DataSource = basicData.GetMaterielInfoList("RAW_FOAM", true); this.comMaterialCode.DisplayMember = "MATERIAL_NAME"; this.comMaterialCode.ValueMember = "MATERIAL_CODE"; //加载操作人列表 this.comOpreator.DataSource = basicData.GetOperatorInfoList(EnumGeter.ProcessType.jiaozhu.GetHashCode().ToString(), true); ; this.comOpreator.DisplayMember = "OPERATOR"; this.comOpreator.ValueMember = "PID"; #endregion #region 加载编辑 //判断是否为编辑加载编辑数据 if (string.IsNullOrEmpty(recorder.PID) == false) { QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent(); recorder = agent.InvokeServiceFunction(B9BasicService.InjectionRecorderBLL_Get.ToString(), recorder); //窗口赋值 this.comMaterialCode.SelectedValue = recorder.MATERIALCODE; this.comMachineCode.SelectedValue = recorder.MACHINECODDE; this.txtMeterialWeight.Text = recorder.METERIALWEIGHT.ToString("0"); this.comOpreator.SelectedValue = recorder.CREATEUSER.Trim(); this.txtMaterialBatch.Text = recorder.MATERIALBATCH; this.dtpOperateDate.ValueX = recorder.MAKEDATE; dtpCreateUserLimit.ValueX = recorder.VALIDDATE; this.txtPackageNo.Text = recorder.PACKAGENO; } else { this.dtpOperateDate.ValueX = DateTime.Now; } #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.MATERIALCODE = this.comMaterialCode.SelectedValue.ToString(); //原材料信息 var mateial = (this.comMaterialCode.DataSource as List).Where(m => m.MATERIAL_CODE == recorder.MATERIALCODE); if (mateial.Count() > 0) { MD.Entity.Material materielInfo = mateial.First(); recorder.MATERIALNAME = materielInfo.MATERIAL_NAME; recorder.MATERIALTYPE = materielInfo.MATERIAL_TYPE_NAME; recorder.LIMITTIME = 1; } //获取设备信息 MachineInfo machineInfo = this.comMachineCode.SelectedItem as MachineInfo; recorder.MACHINECODDE = machineInfo.MACHINECODDE; recorder.MACHINENAME = machineInfo.MACHINENAME; recorder.MACHINETYPE = EnumGeter.MACHINETYPE.jiaozhu.GetHashCode().ToString(); //工序类别 recorder.PROCESSTYPE = EnumGeter.ProcessType.jiaozhu.GetHashCode().ToString(); //重量 recorder.METERIALWEIGHT = Convert.ToInt32(this.txtMeterialWeight.Text); //批次 recorder.MATERIALBATCH = this.txtMaterialBatch.Text; recorder.PRODUCELINE = EnumGeter.PRODUCELINE.B9.ToString(); //生产日期 recorder.MAKEDATE = dtpOperateDate.Value; recorder.VALIDDATE = dtpCreateUserLimit.Value; recorder.PACKAGENO = txtPackageNo.Text; //操作人 recorder.CREATEUSER = this.comOpreator.SelectedValue.ToString().Trim(); recorder.PRODUCESHIFTNAME = ClientContext.produceShift.PRODUCESHIFTNAME;//班组 recorder.PRODUCESHIFTTCODE = ClientContext.produceShift.PRODUCESHIFTTCODE;//班组 #endregion #region 保存 QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent(); DataResult result;//判断是否成功 if (string.IsNullOrEmpty(recorder.PID) == true) { result = agent.InvokeServiceFunction>(B9BasicService.InjectionRecorderBLL_Insert.ToString(), recorder); } else { result = agent.InvokeServiceFunction>(B9BasicService.InjectionRecorderBLL_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 (this.comMaterialCode.SelectedValue == string.Empty) { strMessage += Resource1.MaterialCodeNullValidate + "\r\n"; } //设备 if (this.comMachineCode.SelectedValue == null || this.comMachineCode.SelectedValue == string.Empty) { strMessage += Resource1.InjectionMachineNullValidate + "\r\n"; } //批次 if (this.txtMaterialBatch.Text == string.Empty) { strMessage += Resource1.MaterialBatchNullValidate + "\r\n"; } //批次 if (this.txtPackageNo.Text == string.Empty) { strMessage += "料桶号不能为空!" + "\r\n"; } //重量 if (this.txtMeterialWeight.Text == string.Empty) { strMessage += Resource1.MeterialWeightNullValidate + "\r\n"; } else { if (SysValidate.IsInt(txtMeterialWeight.Text.Trim()) == false) { strMessage += Resource1.MeterialWeightFormatValidate + "\r\n"; } } //操作人 if (this.comOpreator.SelectedValue == null || this.comOpreator.SelectedValue == string.Empty) { strMessage += Resource1.OpreatorNullValidate + "\r\n"; } //生产日期 if (this.dtpCreateUserLimit.ValueX == null) { strMessage += "有效日期不能为空!" + "\r\n"; } if (this.dtpCreateUserLimit.Value < DateTime.Now) { strMessage += Resource1.BeyondLimitTime + "\r\n"; } //投料时间 if (this.dtpOperateDate.ValueX == null) { strMessage += "投料时间不能为空!" + "\r\n"; } //if (this.dtpCreateUserLimit.ValueX < this.dtpCreateUserStart.ValueX) //{ // strMessage += "生产日期不能早于有效日期!" + "\r\n"; //} return strMessage; #endregion } private void comMaterialCode_SelectedIndexChanged(object sender, EventArgs e) { if (this.comMaterialCode.SelectedValue != null && this.comMaterialCode.SelectedValue != string.Empty) { this.txtMeterialWeight.Text = (this.comMaterialCode.SelectedItem as MD.Entity.Material).WEIGHT.ToString(); } } } }