using MesServerWork;
using MisDataFunDll;
using System;
using System.Threading;
//using SystemFramework;

namespace MesServerFunctions
{
    partial class FunctionMES
    {
        /// <summary>
        /// 工件到位与离开时，清空MES自身信号
        /// </summary>
        /// <param name="OpName"></param>
        /// <param name="tagValue"></param>
        private void WorkStart(object  e)
        {
            try
            {
                var msgEvent = (DeviceDriver_BasicData.CustomeEvetnArgs)e;
                string OpName = Convert.ToString(msgEvent.OpName);
                string tagValue = msgEvent.TagValue.ToString();

                if (tagValue == "1")
                {
                    string msg = "工件到位！";
                    MisDataFun.LogRecording_OP(OpName, "INFO", "MIS", msg);
                    MisDataFun.MOBY_TrayStart_Update(OpName); // 记录托盘到达时间
                }
                else
                {
                    string msg = "工件离开！";
                    MisDataFun.LogRecording_OP(OpName, "INFO", "MIS", msg);
                    // 清除工位数据
                    MIS_BASE.Write_EngineTypeGetOver_MES(OpName, false); // 传递机型（MES）
                    MIS_BASE.Write_MesWorkFinish(OpName, false); // 工作完成（MES）
                    MIS_BASE.Write_FalseGO(OpName, false); // 不合格放行（MES）
                    MIS_BASE.Write_ConfirmOkGo(OpName, false); // 合格放行（MES）
                    MIS_BASE.Write_FixAllow(OpName, false); // 允许PLC拧紧工作（MES）
                    MIS_BASE.Write_ProcessCode(OpName, 0); // 拧紧序号（MES）
                    MIS_BASE.Write_BoltCode(OpName, 0); // 套筒号（MES）
                    MIS_BASE.Write_MesReadOver(OpName, false); // MES保存完数据（MES）
                    MIS_BASE.Write_EngineTypeID_MES(OpName, 0); // 机型标志（MES）
                    MIS_BASE.Write_EngineID_MES(OpName, ""); // 工件编号（MES）
                    MIS_BASE.Write_EngineType_MES(OpName, ""); // 产品型号（MES）
                    MIS_BASE.Write_OrderForm_MES(OpName, ""); // 订单号(MES)
                    MIS_BASE.Write_MachineTime_ReadOver(OpName, false); // 托盘校验完成
                    MIS_BASE.Write_MesErrorType(OpName, 0); // MES报警点
                    MIS_BASE.Write_TagValueByTagTypeID(93, OpName, 0); // 返修上线标志 
                    MIS_BASE.Write_TagValueByTagTypeID(28, OpName, 0); // 返修点
                    MIS_BASE.Write_TagValueByTagTypeID(118, OpName, 0); // 再起始工位号
                }
            }
            catch (Exception err)
            {
                MisDataFun.LogRecording_OP("Function1051", "INFO", "WorkStart", err.Message.ToString());
            }
        }

    }
}
