dengjunjie
2025-03-27 bb56b2b6f21acb7c69c02585e5bc534d2f67715f
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs
@@ -7,7 +7,9 @@
using System.Threading.Tasks;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.TaskInfo;
using WIDESEAWCS_DTO.WMSInfo;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob.Models;
@@ -73,7 +75,40 @@
            //    message = content.Message,
            //};
        }
        /// <summary>
        /// å‡ºåº“任务完成
        /// </summary>
        /// <param name="Address"></param>
        /// <returns></returns>
        public WebResponseContent OutTaskFinish(string Address)
        {
            try
            {
                Dt_Task dt_Task = BaseDal.QueryFirst(x => x.TargetAddress == Address);
                if (dt_Task != null && dt_Task.TaskState != TaskOutStatusEnum.AGV_OutFinish.ObjToInt())
                    throw new Exception($"地址【{Address}】存在未完成AGV任务");
                Dt_Router _Router = _routerRepository.QueryFirst(x => x.NextPosi == Address);
                if (_Router == null) throw new Exception($"地址【{Address}】未配置路由");
                _Router.Remark = "未占用";
                Db.Ado.BeginTran();
                _routerRepository.UpdateData(_Router);
                if (dt_Task != null)
                {
                    dt_Task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt();
                    WMSTaskDTO WMStask = _mapper.Map<WMSTaskDTO>(dt_Task);
                    AddTask_Hty(dt_Task, TaskOperateTypeEnum.AutoComplete);
                    HttpHelper.PostAsync(WMSInterfaceAddress.UpdateTaskStatus, WMStask.ToJson(), headers: new Dictionary<string, string>());
                }
                Db.Ado.CommitTran();
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                Db.Ado.RollbackTran();
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        public static string GetEnumDescription<T>(T value) where T : Enum
        {
            FieldInfo fieldInfo = typeof(T).GetField(value.ToString());