1
dengjunjie
2025-05-28 01030b05f7ea9b14878102718a2004b4f908dcfc
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_AGV.cs
@@ -33,10 +33,11 @@
                SourceAddress = outTask.TargetAddress,
                TargetAddress = cachePoint.PointCode,
                SourceKey = outTask.TaskId,
                //TaskNum = outTask.TaskNum,
                TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                TaskStatus = AGVTaskStatusEnum.AGV_New.ObjToInt(),
                TaskType = TaskTypeEnum.AGVCarry.ObjToInt(),
                CreateDate = DateTime.Now,
                Creater = App.User.UserId > 0 ? App.User.UserName : "System",
            };
            cachePoint.PointStatus = LocationStatusEnum.Lock.ObjToInt();
@@ -52,28 +53,36 @@
        /// <returns></returns>
        public WebResponseContent CallMateriel(string endPoint)
        {
            Dt_CachePoint cachePoint = GetCachePointByEndPoint(endPoint);
            Dt_Task task = new Dt_Task()
            try
            {
                CurrentAddress = cachePoint.PointCode,
                Grade = 0,
                NextAddress = endPoint,
                OrderNo = "",
                PalletCode = cachePoint.Remark,
                Roadway = "",
                SourceAddress = cachePoint.PointCode,
                TargetAddress = endPoint,
                SourceKey = 0,
                TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                TaskStatus = AGVTaskStatusEnum.AGV_New.ObjToInt(),
                TaskType = TaskTypeEnum.AGVCarry.ObjToInt(),
            };
            cachePoint.PointStatus = LocationStatusEnum.Lock.ObjToInt();
                Dt_CachePoint cachePoint = GetCachePointByEndPoint(endPoint);
            _basicService.CachePointService.Repository.UpdateData(cachePoint);
            Repository.AddData(task);
            return WebResponseContent.Instance.OK();
                Dt_Task task = new Dt_Task()
                {
                    CurrentAddress = cachePoint.PointCode,
                    Grade = 0,
                    NextAddress = endPoint,
                    OrderNo = "",
                    PalletCode = cachePoint.Remark,
                    Roadway = "",
                    SourceAddress = cachePoint.PointCode,
                    TargetAddress = endPoint,
                    SourceKey = 0,
                    TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                    TaskStatus = AGVTaskStatusEnum.AGV_New.ObjToInt(),
                    TaskType = TaskTypeEnum.AGVCarry.ObjToInt(),
                };
                cachePoint.PointStatus = LocationStatusEnum.Lock.ObjToInt();
                _basicService.CachePointService.Repository.UpdateData(cachePoint);
                Repository.AddData(task);
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        /// <summary>
@@ -83,47 +92,54 @@
        /// <returns></returns>
        public WebResponseContent MaterielCarry(string startPoint)
        {
            Dt_CachePoint cachePoint = GetCachePointByStartPoint(startPoint);
            Dt_Task task = new()
            try
            {
                CurrentAddress = startPoint,
                Grade = 0,
                NextAddress = cachePoint.PointCode,
                OrderNo = "",
                PalletCode = startPoint + "-AGV",
                Roadway = "",
                SourceAddress = startPoint,
                TargetAddress = cachePoint.PointCode,
                SourceKey = 0,
                TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                TaskStatus = AGVTaskStatusEnum.AGV_New.ObjToInt(),
                TaskType = TaskTypeEnum.AGVCarry.ObjToInt(),
            };
            cachePoint.PointStatus = LocationStatusEnum.Lock.ObjToInt();
                Dt_CachePoint cachePoint = GetCachePointByStartPoint(startPoint);
            _basicService.CachePointService.Repository.UpdateData(cachePoint);
            Repository.AddData(task);
            return WebResponseContent.Instance.OK();
        }
                Dt_Task task = new()
                {
                    CurrentAddress = startPoint,
                    Grade = 0,
                    NextAddress = cachePoint.PointCode,
                    OrderNo = "",
                    PalletCode = startPoint + "-AGV",
                    Roadway = "",
                    SourceAddress = startPoint,
                    TargetAddress = cachePoint.PointCode,
                    SourceKey = 0,
                    TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
                    TaskStatus = AGVTaskStatusEnum.AGV_New.ObjToInt(),
                    TaskType = TaskTypeEnum.AGVCarry.ObjToInt(),
                };
                cachePoint.PointStatus = LocationStatusEnum.Lock.ObjToInt();
                _basicService.CachePointService.Repository.UpdateData(cachePoint);
                Repository.AddData(task);
                return WebResponseContent.Instance.OK();
            }
            catch (Exception ex)
            {
                return WebResponseContent.Instance.Error(ex.Message);
            }
}
        private Dt_CachePoint GetCachePointByStartPoint(string startPoint)
        {
            Dt_AreaRouter areaRouter = _basicService.AreaRouterService.Repository.QueryFirst(x => x.StartArea == startPoint);
            if (areaRouter == null)
            {
                throw new Exception("未找到路由信息");
                throw new Exception("未找到路由信息!");
            }
            Dt_AreaInfo areaInfo = _basicService.AreaInfoService.Repository.QueryFirst(x => x.AreaCode == areaRouter.NextArea);
            if (areaInfo == null)
            {
                throw new Exception("未找到下一区域信息");
                throw new Exception("未找到下一区域信息!");
            }
            Dt_CachePoint? cachePoint = _basicService.CachePointService.AssignCachePoint(areaInfo.Id);
            if (cachePoint == null)
            {
                throw new Exception("未找到空闲缓存点");
                throw new Exception("未找到空闲缓存点!");
            }
            return cachePoint;
@@ -134,18 +150,18 @@
            Dt_AreaRouter areaRouter = _basicService.AreaRouterService.Repository.QueryFirst(x => x.NextArea == endPoint);
            if (areaRouter == null)
            {
                throw new Exception("未找到路由信息");
                throw new Exception("未找到路由信息!");
            }
            Dt_AreaInfo areaInfo = _basicService.AreaInfoService.Repository.QueryFirst(x => x.AreaCode == areaRouter.StartArea);
            if (areaInfo == null)
            {
                throw new Exception("未找到起点缓存区域信息");
                throw new Exception("未找到起点缓存区域信息!");
            }
            Dt_CachePoint? cachePoint = _basicService.CachePointService.GetIbStockCachePoint(areaInfo.Id);
            if (cachePoint == null)
            {
                throw new Exception("未找到有货缓存点");
                throw new Exception("未找到有货缓存点!");
            }
            return cachePoint;
        }
@@ -155,7 +171,7 @@
            Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == Convert.ToInt32(model.Task_id));
            if (task == null)
            {
                return new { code = 404, message = "未找到该任务" };
                return new { code = 404, message = "未找到该任务!" };
            }
            Dt_CachePoint startCachePoint = _basicService.CachePointService.Repository.QueryFirst(x => x.PointCode == task.SourceAddress);
@@ -172,7 +188,6 @@
                _basicService.CachePointService.Repository.UpdateData(endCachePoint);
            }
            BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.自动完成 : OperateType.人工完成);
            //BaseDal.DeleteData(task);
            return new { code = 200, message = "成功" };
        }