using System; using System.Collections.Generic; using System.Linq; using System.Text; using MesServerWork; using bizFacade; using System.Data; using SystemFramework; namespace MesServerFunctions { partial class Functions_BASE_05 { /// ///1.扫描配送单号,用于接收物料,扫描单号的时候,将接收的物料信息显示在“物料拉动”Tab区域 ///2.扫描料箱标签/看板卡,用于追溯物料批次信息 ///3.扫描零件条码,根据零件图号进行防错 ///第一步,判断条码类型,根据条码类型,执行对应的存储过程 ///第二步,条码类型(将扫描的条码保存到对应的表中) ///第三步,扫描完成之后给出允许工作信号 /// 处理页面扫描条码 /// /// /// public void Barcode(object e) { try { OpcData.CustomeEvetnArgs msgEvent = (OpcData.CustomeEvetnArgs)e; string OpName = Convert.ToString(msgEvent.OpName); string barcode = Convert.ToString(msgEvent.TagValue); int IsSuccess = 0; bool WorkStart_PLC = false; int engineTypeID; string engineID; string engineType; int IsAllowWork; BaseDataSystemMES.PartMaterial_DM_Update(OpName, barcode, out IsSuccess); MIS_BASE.Read_WorkStart(OpName, out WorkStart_PLC); if (!WorkStart_PLC && IsSuccess == 1) { AsyncSendMessage_Notice(OpName,"设备未就绪请查看!"); return; } if (IsSuccess == 0) { AsyncSendMessage_Notice(OpName,"条码无效,请确认"); return; } SendInfomation("MaterialList", "1", OpName); BaseDataSystemMES.MesServer_Judge_IsCanWork(OpName, out IsAllowWork);//判断是否允许工 if (IsAllowWork == 1)//扫描完成需要给PLC传递机型 { CreateEngineIDByBarcode(OpName, out engineType, out engineTypeID, out engineID); if (engineType == "-1" || engineType == "" || engineTypeID == -1 || engineID == "") { AsyncSendMessage_Notice(OpName, "未选择订单或机型,请选择后重新到位"); return; } else { //将产品信息写入PLC MIS_BASE.Write_EngineTypeID_MES(OpName, engineTypeID); MIS_BASE.Write_EngineType_MES(OpName, engineType); MIS_BASE.Write_EngineID_MES(OpName, engineID); MIS_BASE.Write_EngineTypeGetOver_MES(OpName, true); } SendInfomation("ShowMobyMES", engineID + "&" + engineType, OpName); } } catch (Exception err) { ApplicationLog.WriteLog(err, "Function05:Barcode"); } } } }