xiazhengtongxue
2026-03-19 bfcd7f5b405e431a5c07fe3fa77d74c892d4e66b
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -504,6 +504,8 @@
                        MES_parameter mES_Parameter = AbnormalStorageLocation(task.PalletCode, task.SourceAddress, task.TargetAddress);
                        if (mES_Parameter.Result == "Y")
                        {
                            Dt_Task dtOutWit=BaseDal.QueryData(x=>x.PalletCode==task.PalletCode && x.TaskStatus== (int)OutTaskStatusEnum.OutWait).FirstOrDefault();
                            Dt_LocationInfo OriginalLocation = _locationInfoService.Repository.QueryData(x => x.LocationCode == task.SourceAddress).FirstOrDefault();
                            Dt_LocationInfo NewLocation = _locationInfoService.Repository.QueryData(x => x.LocationCode == task.TargetAddress).FirstOrDefault();
                            Dt_StockInfo dt_StockInfo = _stockInfoService.Repository.QueryData(x => x.LocationCode == task.SourceAddress).FirstOrDefault();
@@ -511,15 +513,27 @@
                            List<Dt_LocationInfo> dt_Locations = new List<Dt_LocationInfo>();
                            OriginalLocation.LocationStatus = (int)LocationStatusEnum.Free;
                            NewLocation.LocationStatus = (int)LocationStatusEnum.InStock;
                            NewLocation.LocationStatus = dtOutWit != null? (int)LocationStatusEnum.Lock:(int)LocationStatusEnum.InStock;
                            dt_StockInfo.LocationCode = NewLocation.LocationCode;
                            dt_StockInfo.StockStatus = (int)StockStatusEmun.已入库;
                            dt_StockInfo.StockStatus = dtOutWit != null? (int)StockStatusEmun.出库中:(int)StockStatusEmun.已入库;
                            task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationFinish;
                            if(dtOutWit != null)
                            {
                                dtOutWit.TaskStatus = (int)OutTaskStatusEnum.OutNew;
                                dtOutWit.SourceAddress = NewLocation.LocationCode;
                                dtOutWit.CurrentAddress = NewLocation.LocationCode;
                            }
                            dt_Locations.Add(OriginalLocation);
                            dt_Locations.Add(NewLocation);
                            _unitOfWorkManage.BeginTran();
                            if(dtOutWit!=null) BaseDal.UpdateData(dtOutWit);
                            _locationInfoService.UpdateData(dt_Locations);
                            _stockInfoService.UpdateData(dt_StockInfo);
                            BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.自动完成 : OperateTypeEnum.人工完成);
@@ -741,7 +755,8 @@
                            TaskNum = t.TaskId,
                            TaskType = t.TaskType,
                            CreateDate = t.CreateDate,
                            TaskStatus = t.TaskStatus
                            TaskStatus = t.TaskStatus,
                            TargetAddress = t.TargetAddress
                        })
                        .ToList();
            return WebResponseContent.Instance.OK("成功", tasks);
@@ -754,5 +769,30 @@
            /// </summary>
            return _task_HtyService.GetWarehouseOperationStatistics();
        }
        public WebResponseContent GetTaskDestination(string targetAddress)
        {
            WebResponseContent content = new WebResponseContent();
            // å‚数校验
            if (string.IsNullOrWhiteSpace(targetAddress))
            {
                return content.Error("目标地址不能为空");
            }
            try
            {
                // æŸ¥è¯¢æ•°æ®
                var queryResult = BaseDal.QueryData(x => x.TargetAddress == targetAddress);
                // åˆ¤æ–­æŸ¥è¯¢ç»“æžœ
                if (queryResult == null || !queryResult.Any())
                {
                    return content.Error($"未找到目标地址为[{targetAddress}]的任务");
                }
                return content.OK($"有目标地址为[{targetAddress}]的任务,请拦截");
            }
            catch (Exception ex)
            {
                return content.Error($"获取任务目的地失败: {ex.Message}");
            }
        }
    }
}