using System; using System.Collections.Generic; using System.Windows.Forms; using QM.Common; using QMAPP.FJC.Entity; using QMAPP.FJC.Entity.Basic; using QMAPP.FJC.Entity.Operation; using QMAPP.ServicesAgent; using QMAPP.WinForm.Common; using QMAPP.Entity; using QMAPP.MD.Entity; using QMAPP.FJC.DAL.Operation; using QMAPP.FJC.Entity.FIS; namespace QMAPP.WinForm.Forms.Injection { /// /// 模块编号:M12-2 /// 作 用:注塑条码打印 /// 作 者:王庆男 /// 编写日期:2015年05月28日 /// public partial class InjectionMoldingPrintEditForm : Form { Product recorder = new Product(); /// /// 新建 /// public InjectionMoldingPrintEditForm() { InitializeComponent(); } /// /// 编辑 /// /// public InjectionMoldingPrintEditForm(string pid) { recorder.PID = pid; InitializeComponent(); } /// /// 窗体加载 /// /// /// private void Form_Load(object sender, EventArgs e) { #region 绑定下拉列表 BasicData basicData = new BasicData(); //加载注塑设备列表 //this.comMachineCode.DataSource = basicData.GetMachineInfoList(new string[] { EnumGeter.ProcessType.gujiazhusu.GetHashCode().ToString(), EnumGeter.ProcessType.fengdaozhusu.GetHashCode().ToString(), EnumGeter.ProcessType.qinangzhijiazhusu.GetHashCode().ToString(), EnumGeter.ProcessType.zhongkongzhijiazhusu.GetHashCode().ToString(), EnumGeter.ProcessType.HUDfengdaozhusu.GetHashCode().ToString() }, true); string ordertype = "INJECT"; this.comMachineCode.DataSource = basicData.GetMachineList(ordertype, true); this.comMachineCode.DisplayMember = "MACHINENAME"; this.comMachineCode.ValueMember = "MACHINECODDE"; //加载物料类型分类 MaterialClass searchModelType = new MaterialClass(); this.materialType.DataSource = basicData.GetMaterialTypeList(ordertype, true); this.materialType.DisplayMember = "MATERIAL_TYPE_NAME"; this.materialType.ValueMember = "MATERIAL_TYPE_CODE"; //产品类型 //ProductBasic searchModelList = new ProductBasic(); //searchModelList.PRODUCTMAINTYPE = EnumGeter.PRODUCTMAINTYPE.zhusu.GetHashCode().ToString(); //searchModelList.PRODUCTUNIT = EnumGeter.PRODUCTUNIT.SINGLE.GetHashCode().ToString(); //this.comProType.DataSource = basicData.GetProductBasicList(searchModelList, true); //this.comProType.DisplayMember = "PRODUCTNAME"; //this.comProType.ValueMember = "PRODUCTTYPE"; #endregion //加工日期 this.dtpDate.Text = DateTime.Now.ToString(); #region 编辑 //判断是否为编辑加载编辑数据 //if (string.IsNullOrEmpty(recorder.PID) == false) //{ // QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent(); // recorder = agent.InvokeServiceFunction(B9BasicService.ProductBLL_Get.ToString(), recorder); // this.txtProductCode.Text = recorder.PRODUCTCODE; //} #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 加载保存信息 Product product = new Product(); ProductBasic basic = this.materialType.SelectedItem as ProductBasic; MachineInfo machine = this.comMachineCode.SelectedItem as MachineInfo; MaterialClass materialtype = this.materialType.SelectedItem as MaterialClass; Material material = this.materialCode.SelectedItem as Material; string proCode = ""; QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent(); DataResult pageresult = new DataResult(); OrderPlan ordermodel = new OrderPlan(); ordermodel.MATERIAL_CODE = material.MATERIAL_CODE; ordermodel.MACHINECODDE = machine.MACHINECODDE; pageresult = agent.InvokeServiceFunction>("OrderPlanBLL_Get", ordermodel); DataResult updateresult = new DataResult(); if (pageresult.IsSuccess) { updateresult = agent.InvokeServiceFunction>("OrderPlanBLL_ChangeOrderPlan", ordermodel); } #region 注释 //if (basic.PRODUCTTYPE.Equals(EnumGeter.ProductType.gujia.GetHashCode().ToString())) //{ // proCode = "B9A"; // product.CURRENTPROCESS = EnumGeter.ProcessType.huoyanjiagong.GetHashCode().ToString();//需要读取该类别最后的一道工序 //} //else if (basic.PRODUCTTYPE.Equals(EnumGeter.ProductType.qinangzhijia.GetHashCode().ToString())) //{ // proCode = "FJC"; // product.CURRENTPROCESS = EnumGeter.ProcessType.hongwaihanjie.GetHashCode().ToString();//需要读取该类别最后的一道工序 //} //else if (basic.PRODUCTTYPE.Equals(EnumGeter.ProductType.fengdao.GetHashCode().ToString())) //{ // proCode = "B9B"; // product.CURRENTPROCESS = EnumGeter.ProcessType.maojie.GetHashCode().ToString();//需要读取该类别最后的一道工序 //} //else if (basic.PRODUCTTYPE.Equals(EnumGeter.ProductType.HUDfengdao.GetHashCode().ToString())) //{ // proCode = "B9C"; // product.CURRENTPROCESS = EnumGeter.ProcessType.maojie.GetHashCode().ToString();//需要读取该类别最后的一道工序 //} //else if (basic.PRODUCTTYPE.Equals(EnumGeter.ProductType.kaiguanzhijia.GetHashCode().ToString())) //{ // proCode = "B9E"; // product.CURRENTPROCESS = EnumGeter.ProcessType.chaoshengbohanjie.GetHashCode().ToString();//需要读取该类别最后的一道工序 //} //DateTime opDate = new DateTime(); //if (basic.PRODUCTTYPE.Equals(EnumGeter.ProductType.qinangzhijia.GetHashCode().ToString())) //{ // if (string.IsNullOrEmpty(this.dtpDate.Text.Trim())) // { // proCode += DateTime.Now.ToString("yyMMddHHmmss"); // opDate = DateTime.Now; // } // else // { // proCode += Convert.ToDateTime(this.dtpDate.Text.Trim()).ToString("yyMMddHHmmss"); // opDate = Convert.ToDateTime(this.dtpDate.Text.Trim()); // } // proCode += string.IsNullOrEmpty(ClientContext.LoginInfo.EmployeeNo) == false ? ClientContext.LoginInfo.EmployeeNo : "01"; // proCode += machine.MACHINENUM; // proCode += Convert.ToDateTime(DateTime.Now).ToString("ff"); ;//获取流水已经精确到秒了还要流水? //} //else //{ // if (string.IsNullOrEmpty(this.dtpDate.Text.Trim())) // { // proCode += DateTime.Now.ToString("yyMMddHHmm"); // opDate = DateTime.Now; // } // else // { // proCode += Convert.ToDateTime(this.dtpDate.Text.Trim()).ToString("yyMMddHHmm"); // opDate = Convert.ToDateTime(this.dtpDate.Text.Trim()); // } // proCode += machine.MACHINENUM; // proCode += string.IsNullOrEmpty(this.materialCode.SelectedValue.ToString()) == false ? this.materialCode.SelectedValue.ToString() : "01"; // proCode += DateTime.Now.ToString("ssff"); ;//获取流水已经精确到秒了还要流水? //} #endregion DateTime opDate = new DateTime(); MaterialCodeInit codeInit = new MaterialCodeInit(); codeInit = agent.InvokeServiceFunction("MaterialBLL_GetProductType", materialtype.MATERIAL_TYPE_CODE); if (string.IsNullOrEmpty(codeInit.PRODUCT_TYPES) == false) { proCode += codeInit.PRODUCT_TYPES; product.WORKCELL_CODE = codeInit.WORKCELL_CODE; } if (string.IsNullOrEmpty(this.dtpDate.Text.Trim())) { proCode += DateTime.Now.ToString("yyyyMMddHHmmss"); opDate = DateTime.Now; } else { proCode += Convert.ToDateTime(this.dtpDate.Text.Trim()).ToString("yyyyMMddHHmmss"); opDate = Convert.ToDateTime(this.dtpDate.Text.Trim()); } //int no = new ProductDAL().GetNum(product); //proCode += string.IsNullOrEmpty(no.ToString()) == false ? this.materialCode.SelectedValue.ToString() : "01"; //proCode += DateTime.Now.ToString("ssff"); product.PRODUCTTYPE = DBNull.Value.ToString(); product.PRODUCTCODE = proCode;//需要生成条码 //骨架注塑条码规则,列如条码号B9A14081403301664950,其中B9A表示骨架注塑,140814表示日期,0330表示时间精确到秒,1表示机器号,66表示操作员号,4950表示流水号。 //气囊支架注塑条码规则,列如条码号B9D14081403301664950,其中B9D表示气囊支架注塑,140814表示日期,0330表示时间精确到秒,1表示机器号,66表示操作员号,4950表示流水号。 //开关支架包装盒条码规则:例如2015060908012511,其中2015表示年,06表示月,09表示日期,08表示小时,01表示分钟,25表示秒,11表示操作者号。 //风道注塑条码规则,例如条码号B9B14081403301664950,其中B9B表示风道注塑,140814表示日期,0330表示时间精确到分钟,1表示机器号,66表示操作员号,4950表示流水号。 //HUD风道注塑条码规则,例如条码号B9C14081403301664950,其中B9C表示HUD风道注塑,140814表示日期,0330表示时间精确到分钟,1表示机器号,66表示操作员号,4950表示流水号。 product.MACHINECODDE = machine.MACHINECODDE;//暂时用这个码 product.MACHINENAME = machine.MACHINENAME; product.PRODUCESHIFTNAME = ClientContext.produceShift.PRODUCESHIFTNAME;//班组 product.PRODUCESHIFTTCODE = ClientContext.produceShift.PRODUCESHIFTTCODE;//班组 product.STATUS = EnumGeter.PRODUCTSTAUTS.QUALIFIED.GetHashCode().ToString(); product.PRODUCELINE = EnumGeter.PRODUCELINE.B9.ToString(); product.OUTFLAG = EnumGeter.PRODUCTOUTFLAG.INLIBRARY.GetHashCode().ToString(); product.USINGSTATE = EnumGeter.PRODUCTUSESTATE.UNUSED.GetHashCode().ToString(); product.CAPACITY = 1; product.USINGCOUNT = 0; product.MATERIAL_TYPE = materialtype.MATERIAL_TYPE_CODE; product.MATERIAL_CODE = material.MATERIAL_CODE; product.PRODUCTSOURCE = EnumGeter.PRODUCTSOURCE.SELFMADE.GetHashCode().ToString(); product.CREATEDATE = opDate; product.CREATEUSER = ClientContext.LoginInfo.UserID; product.UPDATEUSER = ClientContext.LoginInfo.UserID; #endregion #region 保存 //QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent(); DataResult result;//判断是否成功 if (string.IsNullOrEmpty(product.PID) == true) { result = agent.InvokeServiceFunction>(B9BasicService.ProductBLL_InsertInjection.ToString(), product, machine); } else { result = agent.InvokeServiceFunction>(B9BasicService.ProductBLL_Update.ToString(), product); } 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.comMachineCode.SelectedValue == null || this.comMachineCode.SelectedValue == string.Empty) { strMessage += Resource1.SlushMachineNullValidate + "\r\n"; } //物料类别 if (this.materialType.SelectedValue == null || this.materialType.SelectedValue == string.Empty) { strMessage += Resource1.MaterialTypeNullValidate + "\r\n"; } //物料 if (this.materialCode.SelectedValue == null || this.materialCode.SelectedValue == string.Empty) { strMessage += Resource1.MaterialCodeNullValidate + "\r\n"; } //时间 if (this.dtpDate.Text == null || this.dtpDate.Text == string.Empty) { strMessage += Resource1.WorktimeValidate + "\r\n"; } //调用服务判断产品类型 //判断是否重复 //Product product = new Product(); //product.PRODUCTCODE = this.txtProductCode.Text.Trim(); //QMAPP.ServicesAgent.ServiceAgent agent = ClientContext.GetServiceAgent(); //bool result = agent.InvokeServiceFunction(B9BasicService.ProductBLL_ExistsProduct.ToString(), product); //if (result) //{ // strMessage += Resource1.ProductCodeRepeartValidate + "\r\n"; //} return strMessage; #endregion } /// /// (物料类别联动)物料号下拉 /// /// /// private void materialType_SelectedIndexChanged(object sender, EventArgs e) { //加载物料 BasicData basicData = new BasicData(); if (this.materialType.SelectedValue != null && !string.IsNullOrEmpty(this.materialType.SelectedValue.ToString())) { this.materialCode.DataSource = basicData.GetmaterialCodeList(this.materialType.SelectedValue.ToString(), true); ; this.materialCode.DisplayMember = "MATERIAL_NAME"; this.materialCode.ValueMember = "MATERIAL_CODE"; } } } }