Zhang-Hong-Lin
2025-03-07 6513c35280f2283ff53b36bdc0c9d83aba475f8d
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -263,7 +263,8 @@
                    //优先返回执行到一半的任务继续执行
                    return task;
                }
                else {
                else
                {
                    //查询天车移动任务
                    task = BaseDal.QueryFirst(v => v.TaskType == (int)TaskMoveEnum.Mowe && v.TaskState == (int)TaskMoveStatusEnum.OutNewMove);
                    if (task!=null)
@@ -277,17 +278,22 @@
                //{
                //    throw new Exception($"当前任务池中存在执行中的任务,任务号:【{task.TaskNum}】");
                //}
                if (task.TaskState!= (int)TaskMoveStatusEnum.OutNewMove)
                //if (task != null)
                //{
                //    if (task.TaskState != (int)TaskMoveStatusEnum.OutNewMove)
                //    {
                //    }
                //}
                if (workTpe.Equals("In"))
                {
                    if (workTpe.Equals("In"))
                    {
                        task = BaseDal.QueryData(v => v.TaskType == (int)TaskInboundTypeEnum.Inbound && v.TaskState == (int)TaskInStatusEnum.InNew).OrderByDescending(v => v.Grade).OrderBy(v => v.CreateDate).First();
                    }
                    else if (workTpe.Equals("Out"))
                    {
                        task = BaseDal.QueryData(v => (v.TaskType == (int)TaskOutboundTypeEnum.Outbound || v.TaskType == (int)TaskOutboundTypeEnum.OutInventory) && v.TaskState == (int)TaskOutStatusEnum.OutNew).OrderBy(v => v.CreateDate).First();
                    }
                    task = BaseDal.QueryData(v => v.TaskType == (int)TaskInboundTypeEnum.Inbound && v.TaskState == (int)TaskInStatusEnum.InNew).OrderByDescending(v => v.Grade).OrderBy(v => v.CreateDate).First();
                }
                else if (workTpe.Equals("Out"))
                {
                    task = BaseDal.QueryData(v => (v.TaskType == (int)TaskOutboundTypeEnum.Outbound || v.TaskType == (int)TaskOutboundTypeEnum.OutInventory) && v.TaskState == (int)TaskOutStatusEnum.OutNew).OrderBy(v => v.CreateDate).First();
                }
            }
            catch (Exception)
            {
@@ -445,7 +451,7 @@
                {
                    task.TaskState = (int)TaskInStatusEnum.Line_InDownExecuting;
                }
                else if (status == 3 && task.TaskType == (int)TaskOutboundTypeEnum.Outbound || task.TaskType == (int)TaskOutboundTypeEnum.OutInventory)
                else if (status == 3 && (task.TaskType == (int)TaskOutboundTypeEnum.Outbound || task.TaskType == (int)TaskOutboundTypeEnum.OutInventory))
                {
                    task.TaskState = (int)TaskOutStatusEnum.Line_OutWownExecuting;
                }
@@ -597,6 +603,8 @@
                {
                    throw new Exception(string.Format("天车放货完成任务未查询到任务号{0}", taskNum));
                }
                if (nawtask.TaskType == (int)TaskInboundTypeEnum.Inbound)
                {
                    var batck = _batchinfoRepository.QueryFirst(v=>v.Id==1);
@@ -648,6 +656,7 @@
                    taskhty.PalletCode = nawtask.PalletCode;
                    taskhty.NextAddress = nawtask.NextAddress;
                    taskhty.CurrentAddress = nawtask.CurrentAddress;
                    //开始数据库事务
                    _unitOfWorkManage.BeginTran();
                    _stockRepository.AddData(stock);
@@ -689,8 +698,24 @@
                    taskhty.PalletCode = nawtask.PalletCode;
                    taskhty.NextAddress = nawtask.NextAddress;
                    taskhty.CurrentAddress = nawtask.CurrentAddress;
                    //如果放货位置行是40,则立马生成一条移动任务
                    //开始创建任务
                    Dt_Task Movstask = new Dt_Task();
                    Movstask.Roadway = "TC01";
                    Movstask.TaskType = (int)TaskMoveEnum.Mowe;
                    Movstask.TaskState = (int)TaskMoveStatusEnum.OutNewMove;
                    Movstask.SourceAddress = "0";
                    Movstask.TargetAddress = "1-5-1";
                    Movstask.NextAddress = "text";
                    Movstask.Grade = 1;
                    Movstask.WMSId = 3;
                    Movstask.Remark = 0;
                    Movstask.PalletCode = "text";
                    Movstask.CurrentAddress = "text";
                    //开始数据库事务
                    _unitOfWorkManage.BeginTran();
                    BaseDal.AddData(Movstask);
                    _stockRepository.DeleteData(stock);
                    _stockRepository.DeleteData(Towstock);
                    _locationRepository.UpdateData(location);
@@ -717,12 +742,38 @@
                    taskhty.PalletCode = nawtask.PalletCode;
                    taskhty.NextAddress = nawtask.NextAddress;
                    taskhty.CurrentAddress = nawtask.CurrentAddress;
                    //开始数据库事务
                    _unitOfWorkManage.BeginTran();
                    _taskhtyRepository.AddData(taskhty);
                    BaseDal.DeleteData(nawtask);
                    //提交事务
                    _unitOfWorkManage.CommitTran();
                    if (nawtask.TaskType == (int)TaskOutboundTypeEnum.OutInventory)
                    {
                        //开始创建任务
                        Dt_Task Movstask = new Dt_Task();
                        Movstask.Roadway = "TC01";
                        Movstask.TaskType = (int)TaskMoveEnum.Mowe;
                        Movstask.TaskState = (int)TaskMoveStatusEnum.OutNewMove;
                        Movstask.SourceAddress = "0";
                        Movstask.TargetAddress = "1-5-1";
                        Movstask.NextAddress = "text";
                        Movstask.Grade = 1;
                        Movstask.WMSId = 3;
                        Movstask.Remark = 0;
                        Movstask.PalletCode = "text";
                        Movstask.CurrentAddress = "text";
                        //开始数据库事务
                        _unitOfWorkManage.BeginTran();
                        BaseDal.AddData(Movstask);
                        _taskhtyRepository.AddData(taskhty);
                        BaseDal.DeleteData(nawtask);
                        //提交事务
                        _unitOfWorkManage.CommitTran();
                    }
                    else
                    {
                        //开始数据库事务
                        _unitOfWorkManage.BeginTran();
                        _taskhtyRepository.AddData(taskhty);
                        BaseDal.DeleteData(nawtask);
                        //提交事务
                        _unitOfWorkManage.CommitTran();
                    }
                }
                content = WebResponseContent.Instance.OK();
            }