using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using QMAPP.FJC.Entity.Operation; using QMAPP.Entity; using QMAPP.ServicesAgent; using QMAPP.MD.Entity; using QMAPP.FJC.Entity.Basic; namespace QMAPP.WinForm.Forms.Operation { public partial class PrintForm : Form { //获取服务代理 QMAPP.ServicesAgent.ServiceAgent _agent = ClientContext.GetServiceAgent(); List _barcodeRules=null; List cbsource = null; Product _CurrentProduct=null; public PrintForm() { InitializeComponent(); txtProcessCode.Focus(); infolabel.Text = ""; infolabel.ForeColor = Color.Red; } private void button1_Click(object sender, EventArgs e) { try { if (_CurrentProduct == null) { infolabel.Text = "请先输入仪表板表皮条码!"; txtProcessCode.SelectAll(); txtProcessCode.Focus(); return; } if (string.IsNullOrWhiteSpace(cbMaterial.Text)) { infolabel.Text = "请选择总成零件号!"; cbMaterial.Focus(); return; } if (cbMaterial.Enabled) { DataResult
result = _agent.InvokeServiceFunction>(B9IPCService.MainBLL_CreateMain.ToString(), _CurrentProduct.PRODUCTCODE, txtMaterialCode.Text); } else { var main = _agent.InvokeServiceFunction
(B9IPCService.MainBLL_GetByCondition.ToString(), new Main() { EPIDERMISCODE = _CurrentProduct.PRODUCTCODE }); main.COLOR = ""; main.HB = ""; //生产新总成条码 string materialCode = main.MATERIAL_CODE; var dataResult = _agent.InvokeServiceFunction>("MainCodeChangeBLL_Generate", materialCode); string MAINCODE = dataResult.Result.ToString(); //更新 Main upMian = (Main)main.Clone(); upMian.EPIDERMISCODE = ""; int UpdateCount = _agent.InvokeServiceFunction(B9IPCService.MainBLL_Update.ToString(), upMian); //插入T_AW_MAINCODECHANGE表 MainCodeChange mainchange = new MainCodeChange(); mainchange.ORIGMAINCODE = main.MAINCODE; mainchange.NEWMAINCODE = MAINCODE; mainchange.MATERIALCODE = main.MATERIAL_CODE; mainchange.PRODUCELINE = main.PRODUCELINE; mainchange.PRODUCTCODE = main.EPIDERMISCODE; int InsertCount2 = _agent.InvokeServiceFunction(B9IPCService.MainCodeChangeBLL_Insert.ToString(), mainchange); //插入Main表 main.MAINCODE = MAINCODE; int InsertCount1 = _agent.InvokeServiceFunction(B9IPCService.MainBLL_Insert.ToString(), main); } PrintAssemblyLabel(_CurrentProduct.PRODUCTCODE); txtProcessCode.SelectAll(); txtProcessCode.Focus(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { _CurrentProduct = null; txtProcessCode.Text = ""; infolabel.Text = ""; } #region //DataResult
result = _agent.InvokeServiceFunction>(B9BasicService.MainOperationBLL_GetPrintCode.ToString(), product); //#region 总成装配打印 //txtMainCode.Text = result.Result.MAINCODE; //QM.Assist.LabelInfo ll = new QM.Assist.LabelInfo(); //ll.BarCode = result.Result.MAINCODE + ",*" + result.Result.MAINCODE + "*,"; //if (barcode.Substring(12, 1).Equals("H")) //{ // ll.BarCode += "高"; //} //else //{ // ll.BarCode += "低"; //} //if (barcode.Substring(13, 1).Equals("1")) //{ // ll.BarCode += "黑"; //} //else if (barcode.Substring(13, 1).Equals("2")) //{ // ll.BarCode += "米"; //} //else //{ // ll.BarCode += "灰"; //} //ll.BarCode += System.Configuration.ConfigurationManager.AppSettings["ZCZP"].ToString(); //QM.Assist.PrintUtil.LabelList2.Add(ll); //QM.Assist.PrintUtil pu = new QM.Assist.PrintUtil(); //pu.PrintLabel2(System.Configuration.ConfigurationManager.AppSettings["proPath"].ToString // (), System.Configuration.ConfigurationManager.AppSettings["ZCtemPath"].ToString // (), System.Configuration.ConfigurationManager.AppSettings["ZCdataPath"].ToString // ()); //txtProcessCode.Text = ""; //txtProcessCode.Focus(); //#endregion #endregion } private void PrintAssemblyLabel(string processcode) { Main main = _agent.InvokeServiceFunction
(B9IPCService.MainBLL_GetByCondition.ToString(), new Main() { EPIDERMISCODE = processcode }); if (main == null) { MessageBox.Show("获取总成条码异常!"); return; } MaterialCodeInit mcinit = _agent.InvokeServiceFunction(B9IPCService.MainBLL_GetMaterialSetByCondition.ToString(), new MaterialCodeInit() { MATERIAL_CODE = main.MATERIAL_CODE, WORKCELL_CODE = "LS_ASSEMBLE_VW371" }); if (mcinit == null) { MessageBox.Show("获取总成条码异常!"); return; } #region 总成装配打印 //string xmlPath = System.Configuration.ConfigurationSettings.AppSettings["XmlName"].ToString(); ; //BarcodeLib.BarCodeGenerate g = new BarcodeLib.BarCodeGenerate( xmlPath); //bool b = g.PrintBarCode(_operationServiceParam.main.MAINCODE); QM.Assist.LabelInfo ll = new QM.Assist.LabelInfo(); ll.BarCode = main.MAINCODE + "," + main.MATERIAL_CODE + ","; ll.BarCode += mcinit.HB; //if (selectKey.ToUpper().Substring(12, 1) == "H") //{ // ll.BarCode += "高"; //} //else //{ // ll.BarCode += "低"; //} ll.BarCode += mcinit.COLOR; //if (selectKey.Substring(13, 1) == "1") //{ // ll.BarCode += "黑"; //} //else if (selectKey.Substring(13, 1) == "2") //{ // ll.BarCode += "灰"; //} //else //{ // ll.BarCode += "米"; //} ll.BarCode += " ";// +mcinit.PRODUCT_TYPES; //ll.BarCode += "\r\n" + ll.BarCode;//总成标签一式两份 QM.Assist.PrintUtil.LabelList2.Add(ll); QM.Assist.PrintUtil pu = new QM.Assist.PrintUtil(); pu.PrintLabel2(System.Configuration.ConfigurationManager.AppSettings["proPath"].ToString (), System.Configuration.ConfigurationManager.AppSettings["ZCtemPath"].ToString (), System.Configuration.ConfigurationManager.AppSettings["ZCdataPath"].ToString ()); ///总成标签一式两份 //pu.PrintLabel2(System.Configuration.ConfigurationManager.AppSettings["proPath"].ToString // (), System.Configuration.ConfigurationManager.AppSettings["ZCtemPath"].ToString // (), System.Configuration.ConfigurationManager.AppSettings["ZCdataPath"].ToString // ()); txtMainCode.Text = main.MAINCODE; _CurrentProduct = null; txtProcessCode.Text = ""; #endregion } private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode != Keys.Enter)//如果输入的是回车键 { return; } LoadProduct(); } private void LoadProduct() { txtMainCode.Text = ""; _CurrentProduct = null; cbMaterial.SelectedIndex = 0; cbMaterial.Enabled = true; txtMaterialCode.Text = ""; if(string.IsNullOrWhiteSpace(txtProcessCode.Text.Trim())) { infolabel.Text="请输入仪表板表皮条码!"; txtProcessCode.SelectAll(); txtProcessCode.Focus(); return; } //Product product = _agent.InvokeServiceFunction(B9BasicService.ProductBLL_GetProductInfo.ToString(), txtProcessCode.Text.Trim()); Product product = _agent.InvokeServiceFunction(B9BasicService.ProductBLL_GetProductInfo.ToString(), new Product { PRODUCTCODE = txtProcessCode.Text.Trim() }); if(product==null) { infolabel.Text = "输入的产品码不存在!"; txtProcessCode.SelectAll(); txtProcessCode.Focus(); return; } //if (product.MATERIAL_TYPE != "IP_SKIN") //{ // infolabel.Text="输入的条码并非仪表板表皮条码!"; // txtProcessCode.SelectAll(); // txtProcessCode.Focus(); // return; //} if (product.CAPACITY > 1) { infolabel.Text = "无法通过零件批次码/箱码确定唯一产品!"; txtProcessCode.SelectAll(); txtProcessCode.Focus(); return; } if (product.USINGSTATE == "2") { product = _agent.InvokeServiceFunction("ProductBLL_GetProductByPartID", product.PID); } IList materialList= cbMaterial.DataSource as IList; var material= materialList.FirstOrDefault(p=>p.MATERIAL_CODE==product.MATERIAL_CODE); if(material==null) { if (cbForce.Enabled) { infolabel.Text = "当前输入的仪表板条码没有总成装配的加工记录!\n\r请手工选择总成零件号"; List boms = _agent.InvokeServiceFunction>("PbomBLL_GetFinalPbom", product.MATERIAL_CODE); if (boms.Count > 0) { var filterlist = cbsource.Where(p => boms.Exists(b => b.MATERIAL_CODE == p.MATERIAL_CODE)).ToList(); if (filterlist.Count > 0) { filterlist.Insert(0, new Material { MATERIAL_NAME = "", MATERIAL_CODE = "" }); cbMaterial.DataSource = filterlist; } } cbMaterial.Focus(); } else { infolabel.Text = "当前输入的仪表板条码没有总成装配的加工记录!"; txtProcessCode.SelectAll(); txtProcessCode.Focus(); cbMaterial.Enabled = false; return; } } else { infolabel.Text = ""; cbMaterial.SelectedItem=material; cbMaterial.Enabled = false; } _CurrentProduct = product; } public void ss() { string barcode = txtProcessCode.Text.Trim().ToUpper(); if (string.IsNullOrEmpty(barcode)) { infolabel.Text = "请扫描条码!"; return; } Product product = new Product(); product.PRODUCTCODE = barcode; for (int i = 0; i < 1; i++) { i++; DataResult
result = _agent.InvokeServiceFunction>(B9BasicService.MainOperationBLL_GetPrintCode.ToString(), product); #region 总成装配打印 txtMainCode.Text = result.Result.MAINCODE; QM.Assist.LabelInfo ll = new QM.Assist.LabelInfo(); ll.BarCode = result.Result.MAINCODE + ",*" + result.Result.MAINCODE + "*,"; //if (barcode.Substring(12, 1).Equals("H")) //{ // ll.BarCode += "高"; //} //else //{ // ll.BarCode += "低"; //} //if (barcode.Substring(13, 1).Equals("1")) //{ // ll.BarCode += "黑"; //} //else if (barcode.Substring(13, 1).Equals("2")) //{ // ll.BarCode += "米"; //} //else //{ // ll.BarCode += "灰"; //} //ll.BarCode += System.Configuration.ConfigurationManager.AppSettings["ZCZP"].ToString(); string printUrl = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase; QM.Assist.PrintUtil.LabelList2.Add(ll); QM.Assist.PrintUtil pu = new QM.Assist.PrintUtil(); pu.PrintLabel2(System.Configuration.ConfigurationManager.AppSettings["proPath"].ToString (), printUrl + "zczp.qdf", printUrl + "zczp.txt"); //QM.Assist.PrintUtil.LabelList2.Add(ll); //QM.Assist.PrintUtil pu = new QM.Assist.PrintUtil(); //pu.PrintLabel2(System.Configuration.ConfigurationManager.AppSettings["proPath"].ToString // (), System.Configuration.ConfigurationManager.AppSettings["ZCtemPath"].ToString // (), System.Configuration.ConfigurationManager.AppSettings["ZCdataPath"].ToString // ()); #endregion } txtProcessCode.Text = ""; txtProcessCode.Focus(); } private void PrintForm_Load(object sender, EventArgs e) { //cbProductType.SelectedIndex = 0; _barcodeRules = _agent.InvokeServiceFunction>(B9BasicService.BarcodeRulesBLL_GetAllList.ToString()); LoadAssyMaterial(); } /// /// 加载总成物料 /// private void LoadAssyMaterial() { var ipassy = _agent.InvokeServiceFunction> ("MaterialBLL_GetMaterialForInjectOrder", "DASHBOARD"); ipassy = ipassy.OrderBy(p => p.MATERIAL_CODE).ToList(); cbsource = ipassy; cbsource.Insert(0, new Material { MATERIAL_NAME = "", MATERIAL_CODE = "" }); cbMaterial.DisplayMember = "MATERIAL_NAME"; cbMaterial.ValueMember = "MATERIAL_CODE"; cbMaterial.DataSource = cbsource; } private void cbMaterial_SelectedIndexChanged(object sender, EventArgs e) { txtMaterialCode.Text = cbMaterial.SelectedValue.ToString(); } private void button2_Click(object sender, EventArgs e) { LoadProduct(); } } }