using System;
using MesServerWork;
using MisDataFunDll;
using WebApi;

namespace MesServerFunctions
{
    partial class FunctionMES
    {
        /// <summary>
        /// 退回并重新配送
        /// </summary>
        /// <param name="e"></param>
        private void ReturnAndRedispatch(object e)
        {
            try
            {
                //DeviceDriver_BasicData.CustomeEvetnArgs msgEvent = (DeviceDriver_BasicData.CustomeEvetnArgs)e;
                //string OpName = Convert.ToString(msgEvent.OpName);
                //int tagValue = Convert.ToInt32(msgEvent.TagValue);

                //if (tagValue == 1)
                //{
                //    // 这个流程不太对 具体流程待二次确认
                //    // 记录退回并重新配送状态 
                //    MisDataFun.Location_MIS_MOBY_Insert(OpName, "ReturnAndRedispatch", "1");

                //    // 当器具码校验不通过时，PLC会置位此信号
                //    // 需要通知AGV退回当前器具并重新配送正确的物料
                //    // 调用工厂叫料接口，类型为送料（3）
                //    MisDataFun.Location_MIS_MOBY_Insert(OpName, "配送类型", "3");
                //    CALL_Inerface_DataHandle.CALL_Inerface_CallMaterial(OpName, "3");

                //    // 发送消息通知
                //    string msg = $"【{OpName}】请求退回物料，退回并重新配送";
                //    SendMessage.AsyncSendMessage_Notice(OpName, msg);
                //    MyLog4Net.MyLogHelper.Info("ReturnAndRedispatch", msg);
                //}
                //else
                //{
                //    MisDataFun.Location_MIS_MOBY_Insert(OpName, "ReturnAndRedispatch", "0");
                //    MIS_BASE.WritePLC(301, OpName, false); // 请求进入
                //    MIS_BASE.WritePLC(302, OpName, false); // 托盘到位
                //    MIS_BASE.WritePLC(303, OpName, false); // AGV已离开
                //    MIS_BASE.WritePLC(305, OpName, "0");   // 比对结果
                //    MIS_BASE.WritePLC(304, OpName, false); // 比对完成
                //}
            }
            catch (Exception err)
            {
                MisDataSaveDate.FuntionMesRead.Alarm_SaveFileLog4Error(System.Reflection.MethodBase.GetCurrentMethod().Name, e, "Fun1054", err);
            }
        }
    }
} 