111
cjs
2025-06-30 f6e624ccbea24503d0a77e839eeb2af13038d8ac
HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs
@@ -13,26 +13,26 @@
        public const string AlterControlSwitch01 = "1";//任务上报MES变更开发 1-开启 0-关闭
        public static void OperateAgvTaskStatus(AgvTaskState model) {
            if (string.IsNullOrEmpty(model.No)) {
            if (string.IsNullOrEmpty(model.task_no)) {
                //无任务号请求(交管)
                //DeviceProcess.Traffic(model.ForkliftNo, model.LockNo, model.State==1023);
            }
            else {
                var TN_Task = WCSHelper.GetTask(model.No);
                var TN_Task = WCSHelper.GetTask(model.task_no);
                if (TN_Task != null) {
                    if (model.State <= 7)
                    if (model.state <= 7)
                    {
                        if (!WCSHelper.CheckActionRecordExist(model.No, model.State))
                        if (!WCSHelper.CheckActionRecordExist(model.task_no, model.state))
                        {
                            //有任务号请求
                            switch (model.State)
                            switch (model.state)
                            {
                                case 1:
                                    WCSHelper.Begin(TN_Task);
                                    break;
                                #region MyRegion
                                case 3:
                                    WCSHelper.UpdateStatus(TN_Task, "开始取货", model.ForkliftNo);
                                    WCSHelper.UpdateStatus(TN_Task, "开始取货", model.forklift_no);
                                    //if (TN_Task.S_TYPE == "注塑库存满托下线(瓶坯)" || TN_Task.S_TYPE == "注塑即产满托下线(瓶坯)")
                                    //{
                                    //    TaskProcess.writeSignal(TN_Task);
@@ -40,6 +40,10 @@
                                    break;
                                case 4:
                                    WCSHelper.UpdateStatus(TN_Task, "取货完成");
                                    if (TN_Task.S_TYPE.Contains("满托下线"))
                                    {
                                        TaskProcess.writeSignal(TN_Task,4);
                                    }
                                    TaskProcess.OperateStatus(TN_Task, 4);
                                    break;
                                case 5:
@@ -47,6 +51,10 @@
                                    break;
                                case 6:
                                    WCSHelper.UpdateStatus(TN_Task, "卸货完成");
                                    if (TN_Task.S_TYPE.Contains("空托上线"))
                                    {
                                        TaskProcess.writeSignal(TN_Task,6);
                                    }
                                    TaskProcess.OperateStatus(TN_Task, 6);
                                    break;
                                #endregion
@@ -70,18 +78,18 @@
                                    //WMSHelper.End(TN_Task);
                                    break;
                            }
                            WCSHelper.AddActionRecord(model.No, model.State, model.ForkliftNo, model.ExtData);
                            WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
                            //调用第三方接口(如果有)TaskProcess.ReportStatus
                            TaskProcess.ThirdReportStatus(TN_Task, model.State, model.ForkliftNo);
                            TaskProcess.UpdateAgvNo(TN_Task, model.ForkliftNo);
                            if (AlterControlSwitch01 == "1") TaskProcess.GeneralInterFaceFunc(TN_Task, model.State.ToString(), model.ForkliftNo);
                            TaskProcess.ThirdReportStatus(TN_Task, model.state, model.forklift_no);
                            TaskProcess.UpdateAgvNo(TN_Task, model.forklift_no);
                            if (AlterControlSwitch01 == "1") TaskProcess.GeneralInterFaceFunc(TN_Task, model.state.ToString(), model.forklift_no);
                        }
                    }
                    else {
                        LogHelper.Info("安全请求交互");
                        //安全请求等
                        TaskProcess.OperateReq(model.No, model.State, model.ForkliftNo, model.ExtData);
                        WCSHelper.AddActionRecord(model.No, model.State, model.ForkliftNo, model.ExtData);
                        TaskProcess.OperateReq(model.task_no, model.state, model.forklift_no, model.ext_data);
                        WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
                    }
                }
            }