wankeda
4 天以前 d4b029d2697c265fd575549db79cd55bb4f9532e
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
@@ -1,4 +1,5 @@
using MailKit.Search;
using Microsoft.AspNetCore.SignalR;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
@@ -235,12 +236,15 @@
                Dt_Task task = Repository.QueryFirst(x => x.PalletCode == palletCode);
                if (task != null)
                {
                    _hubContext.Clients.All.SendAsync("ReceiveMessage", $"该托盘{palletCode}已生成任务");
                    return WebResponseContent.Instance.Error($"该托盘{palletCode}已生成任务");
                }
                Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
                if (stockInfo == null)
                {
                    _hubContext.Clients.All.SendAsync("ReceiveMessage", $"未找到组盘信息");
                    return WebResponseContent.Instance.Error($"未找到组盘信息");
                }
@@ -250,6 +254,8 @@
                    Dt_LocationInfo locationInfo1 = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode);
                    if (locationInfo1 == null)
                    {
                        _hubContext.Clients.All.SendAsync("ReceiveMessage", $"回库单中该库位{stockInfo.LocationCode}未找到");
                        return WebResponseContent.Instance.Error($"回库单中该库位{stockInfo.LocationCode}未找到");
                    }
                    returnRoadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.RoadwayNo == locationInfo1.RoadwayNo && x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
@@ -262,6 +268,8 @@
                    Dt_LocationInfo locationInfo1 = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == returnOrder.LocationCode);
                    if (locationInfo1 == null)
                    {
                        _hubContext.Clients.All.SendAsync("ReceiveMessage", $"回库单中该库位{returnOrder.LocationCode}未找到");
                        return WebResponseContent.Instance.Error($"回库单中该库位{returnOrder.LocationCode}未找到");
                    }
                    returnRoadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.RoadwayNo == locationInfo1.RoadwayNo && x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
@@ -269,23 +277,31 @@
                if (Repository.QueryFirst(x => x.SourceAddress == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode) && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null)
                {
                    _hubContext.Clients.All.SendAsync("ReceiveMessage", $"该站点已有未执行的任务");
                    return WebResponseContent.Instance.Error($"该站点已有未执行的任务");
                }
                var details = stockInfo.Details.FirstOrDefault();
                if (!string.IsNullOrEmpty(stockInfo.LocationCode))
                {
                    _hubContext.Clients.All.SendAsync("ReceiveMessage", $"该托盘已绑定货位");
                    return WebResponseContent.Instance.Error($"该托盘已绑定货位");
                }
                Dt_RoadwayInfo roadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
                if (roadwayInfo == null)
                {
                    _hubContext.Clients.All.SendAsync("ReceiveMessage", $"未找到该入库站台地址");
                    return WebResponseContent.Instance.Error($"未找到该入库站台地址");
                }
                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == roadwayInfo.RoadwayNo);
                if (warehouse == null)
                {
                    _hubContext.Clients.All.SendAsync("ReceiveMessage", $"未找到该仓库");
                    return WebResponseContent.Instance.Error("未找到该仓库");
                }
@@ -295,6 +311,8 @@
                    locationInfo = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == returnOrder.LocationCode);
                    if (locationInfo.LocationStatus != LocationStatusEnum.Lock.ObjToInt() || locationInfo.EnableStatus == EnableStatusEnum.Disable.ObjToInt() || locationInfo.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt())
                    {
                        _hubContext.Clients.All.SendAsync("ReceiveMessage", $"该回库单货位{locationInfo.LocationCode}非锁定状态或货位启用状态不正确,请检查");
                        return WebResponseContent.Instance.Error($"该回库单货位{locationInfo.LocationCode}非锁定状态或货位启用状态不正确,请检查");
                    }
                }
@@ -303,6 +321,8 @@
                    locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayInfo.RoadwayNo, stockInfo.PalletType, warehouse.WarehouseId, "", heightType);//, stockInfo.WarehouseId
                    if (locationInfo == null)
                    {
                        _hubContext.Clients.All.SendAsync("ReceiveMessage", $"货位分配失败,未找到可分配货位");
                        return WebResponseContent.Instance.Error($"货位分配失败,未找到可分配货位");
                    }
                }