using System; //using SystemFramework; using MesServerWork; using MisDataFunDll; namespace MesServerFunctions { partial class FunctionMES { /// ///1.扫描配送单号,用于接收物料,扫描单号的时候,将接收的物料信息显示在“物料拉动”Tab区域 ///2.扫描料箱标签/看板卡,用于追溯物料批次信息 ///3.扫描零件条码,根据零件图号进行防错 ///第一步,判断条码类型,根据条码类型,执行对应的存储过程 ///第二步,条码类型(将扫描的条码保存到对应的表中) ///第三步,扫描完成之后给出允许工作信号 /// 处理页面扫描条码 /// /// /// public void Barcode(object e) { { var msgEvent = (DeviceDriver_BasicData.CustomeEvetnArgs)e; string OpName = Convert.ToString(msgEvent.OpName); string barcode = Convert.ToString(msgEvent.TagValue); try { // 自动工位不进行物料扫码 // 但是150工位需要扫模组码进行二次校验~ // 读取PLC中的信息 int EngineTypeID;//机型代码 string EngineType;//机型 string EngineID;//工件编号 string OrderForm; // 工单号 int PartPallet_Code;//托盘编号 bool PartLoad_EngineGetOver_PLC; MIS_BASE.GetEngineTypeFromPLC(OpName, out EngineTypeID, out EngineType, out EngineID, out PartPallet_Code, out OrderForm); // PDC产线plc只写了发动机号和机型代码,其余要从数据库中读取 MisDataFun.Moby_Select_PDC(EngineID, out OrderForm, out EngineType, out int EngineTypeID2); if (!MisDataBaseFun.CheckMesApiIsOk(OpName, EngineID, "miFindCustomAndSfcData")) return; // 验证入站接口是否成功! // 验证托盘码 int ScanPalletCodeStatu = MisDataBaseFun.ScanPalletCode(OpName, barcode, EngineID); if (ScanPalletCodeStatu != 2) { // 走传递机型的流程 // 机型信息写入数据库 MisDataFun.OpName_MIS_MOBY_Insert(OpName, EngineTypeID, EngineType, EngineID, PartPallet_Code, OrderForm, 0, 0, ""); EngineTypeGetOver_PLC_Work(OpName, EngineTypeID, EngineType, EngineID, PartPallet_Code, OrderForm); } } catch (Exception err) { ////ApplicationLog.WriteLog(err, "Function02:Barcode"); } } } } }