Files
2026-05-29 10:07:05 +08:00

94 lines
3.7 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
{
/// <summary>
///1.扫描配送单号用于接收物料扫描单号的时候将接收的物料信息显示在“物料拉动”Tab区域
///2.扫描料箱标签/看板卡,用于追溯物料批次信息
///3.扫描零件条码,根据零件图号进行防错
///第一步,判断条码类型,根据条码类型,执行对应的存储过程
///第二步,条码类型(将扫描的条码保存到对应的表中)
///第三步,扫描完成之后给出允许工作信号
/// 处理页面扫描条码
/// </summary>
/// <param name="OpName"></param>
/// <param name="barcode"></param>
public void Barcode(object e)
{
try
{
DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.CustomeEvetnArgs)e;
string OpName = Convert.ToString(msgEvent.OpName);
string barcode = Convert.ToString(msgEvent.TagValue);
bool IsSuccess = false;
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)
{
AsyncSendMessage_Notice(OpName,"设备未就绪请查看!");
return;
}
if (!IsSuccess)
{
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);
//获取订单号,发动机型号,发动机型号代码(在线首工位将选择的订单,机型等信息保存到监控表中)
bizFacade.BaseDataSystemMES.OpName_MIS_CreateMoby_Select(OpName, out string orderForm, out engineTypeID, out engineType, out engineID, out string palletCode, out int isRepair, out string repairCode);
MIS_BASE.Write_OrderForm_MES(OpName, orderForm);
MIS_BASE.Write_EngineTypeGetOver_MES(OpName, true);
}
SendInfomation("ShowMobyMES", engineID + "&" + engineType, OpName);
}
}
catch (Exception err)
{
////ApplicationLog.WriteLog(err, "Function05:Barcode");
}
}
}
}