using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Windows.Forms; using QMAPP.FJC.Entity.Injection; using QMAPP.ServicesAgent; using QMAPP.FJC.Entity.BZD; using DCS.Common; using QMAPP.FJC.Entity.Basic; using QMAPP.WinForm.Common; using QMAPP.Entity; using QMAPP.FJC.Entity.MD; using QMAPP.FJC.Entity.Operation; using PrintCode = QMAPP.FJC.Entity.Operation.PrintCode; namespace QMAPP.WinForm.Forms.Injection { /// /// /// public partial class InjectPrintForm : Form { //获取服务代理 QMAPP.ServicesAgent.ServiceAgent _agent = ClientContext.GetServiceAgent(); List _bzdConfig = null; //string txtMaterialCode = ""; //string textMaterialName = ""; //Product _CurrentProduct = null; private InjectPasswordForm _InjectPasswordForm; /// /// /// public InjectPrintForm(InjectPasswordForm InjectPasswordForm) { InitializeComponent(); LoadMachineList(); infolabel.Text = ""; infolabel.ForeColor = Color.Red; _InjectPasswordForm = InjectPasswordForm; } #region 打印按钮 /// /// 打印按钮 /// /// /// private void button1_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(txtProductCode.Text)) { infolabel.Text = "请扫描或填写装配码!"; txtProductCode.Focus(); return; } //***************************** _agent.InvokeServiceFunction(B9IPCService.BarCodeReplacementBLL_Insert.ToString(), new BarCodeReplacement() { ProductCode = txtProductCode.Text,Type="注塑条码补打" }); Print(txtProductCode.Text,true); txtProductCode.Text = ""; //txtMaterialCode = ""; //textMaterialName = ""; } catch (Exception exception) { txtProductCode.Text = ""; MessageBox.Show("打印失败!"); throw; } } #endregion private void Print(string code, bool IsManual) { var MachineCode = ""; List labels = new List(); string shiftCode = ClientContext.produceShift.PRODUCESHIFTTCODE; var selectmachine = comMachine.SelectedItem as MachineInfo; if (selectmachine != null && !string.IsNullOrEmpty(selectmachine.PID)) { MachineCode = selectmachine.MACHINECODDE; } List materialListInfo = new List(); var concationMaterial = new Material(); string materialcode1 = this.txtMaterialCode.Text; concationMaterial.MATERIAL_CODE = materialcode1; materialListInfo.Add(concationMaterial); var machine = comMachine.SelectedItem as MachineInfo; var model = cbMould.SelectedItem as MachineInfoModels; if (model == null) { model = new MachineInfoModels(); } DataResult> resultList = _agent.InvokeServiceFunction>>("MainOperationBLL_GetPrintCodeWithParam", materialListInfo, machine, model, "", new Dictionary()); var resule = resultList.Result; string typeTem = "InjectLabel100x30"; if (resule != null && resule.Count > 0) { foreach (PrintCode item in resultList.Result) { typeTem = item.PRINT_TEMPALTE_TEM; PrintTemplate.InjectLabel label = new PrintTemplate.InjectLabel { CreateDate = DateTime.Now, MachineCode = comMachine.SelectedValue + "", MaterialCode = txtMaterialCode.Text.ToString(), MaterialName = item.MATERIAL_NAME, ModelCode = cbMould.SelectedValue + "", SerialNumber = code, ShiftCode = shiftCode, IsManualPrint = IsManual }; labels.Add(label); } } //打印条码 string path = System.Configuration.ConfigurationManager.AppSettings["Template_Local_Path"]; if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } FastReport.Report fr = new FastReport.Report(); fr.RegisterData(labels, "Labels"); if (!System.IO.File.Exists(string.Format("{0}\\{1}.frx", path, typeTem))) { if (System.IO.File.Exists(string.Format("PrintTemplate\\{1}.frx", path, typeTem))) { System.IO.File.Copy(string.Format("PrintTemplate\\{1}.frx", path, typeTem) , string.Format("{0}\\{1}.frx", path, typeTem)); } else { fr.FileName = string.Format("{0}\\{1}.frx", path, typeTem); fr.Design(true); fr.Save(string.Format("{0}\\{1}.frx", path, typeTem)); } } fr.Load(string.Format("{0}\\{1}.frx", path, typeTem)); //fr.Design(false); fr.PrintSettings.ShowDialog = false; fr.Print(); fr.Dispose(); //QM.Assist.PrintUtil pu = new QM.Assist.PrintUtil(); //pu.PrintLabel2(System.Configuration.ConfigurationManager.AppSettings["proPath"].ToString // (), System.Configuration.ConfigurationManager.AppSettings[typeTem + "temPath"].ToString // (), System.Configuration.ConfigurationManager.AppSettings[typeData + "dataPath"].ToString // ()); } #region 点击选择零件信息 /// /// 点击选择零件信息 /// /// /// private void btnChoiceMaterial_Click(object sender, EventArgs e) { MaterialTreeForm materialForm = new MaterialTreeForm(); var ret = materialForm.ShowDialog(); if (ret == DialogResult.OK) { this.txtMaterialCode.Text = materialForm.MaterialCode; this.textMaterialName.Text = materialForm.MaterialName; //bool maintype = materialForm.MainType; //if (maintype) //{ // this.groupBox3.Enabled = true; //} //else //{ // this.groupBox3.Enabled = false; //} } } #endregion #region 加载设备列表 /// /// 加载设备列表 /// private void LoadMachineList() { #region BasicData basicData = new BasicData(); var machinelist = basicData.GetMachineInfoAndModelList(new string[] { "1" }, true); this.comMachine.DataSource = machinelist; this.comMachine.DisplayMember = "MACHINENAME"; this.comMachine.ValueMember = "MACHINECODDE"; comMachine_SelectedIndexChanged(null, null); #endregion } #endregion private void comMachine_SelectedIndexChanged(object sender, EventArgs e) { var selectmachine = comMachine.SelectedItem as MachineInfo; if (selectmachine != null && !string.IsNullOrEmpty(selectmachine.PID)) { var mouldList = _agent.InvokeServiceFunction>(B9BasicService.MachineInfoModelBLL_GetAllList.ToString(), new MachineInfoModels { MID = "INJ_MODEL" }); mouldList.Insert(0, new MachineInfoModels { }); cbMould.DisplayMember = "MODELNAME"; cbMould.ValueMember = "MODELCODE"; cbMould.DataSource = mouldList; } } } }