huangxiaoqiang
2025-02-15 bcde5ea70330cb16597c2320b94b5f1d7cb15752
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -1,4 +1,5 @@
using Masuit.Tools;
using WIDESEA_Common;
using WIDESEA_Common.CustomModels;
//using WIDESEA_Common.CustomModels;
@@ -879,7 +880,7 @@
        WebResponseContent content = new WebResponseContent();
        try
        {
            var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTO.Position);
            var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTO.Position && x.stationStatus == "1");
            var locations = _locationRepository.QueryData(x => x.RoadwayNo == station.Roadway && x.LocationStatus == (int)LocationEnum.Free && x.LocationType == 1);
            if (locations.Count > 10)
@@ -1153,4 +1154,44 @@
    }
    #endregion
    #region 分容空框入库改为直接出库
    public async Task<WebResponseContent> SetEmptyOutbyInToOutAsync(RequestTaskDto request)
    {
        WebResponseContent content = new WebResponseContent();
        var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode && x.CurrentAddress == request.Position);
        if (!task.IsNullOrEmpty())
        {
            var fromStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == request.Position);
            var toStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationType == 7 && x.productLine == fromStation.productLine && x.stationArea == fromStation.stationArea);
            if (!toStation.IsNullOrEmpty())
            {
                var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.AreaId == int.Parse(fromStation.stationArea));
                task.TargetAddress = toStation.stationLocation;
                task.NextAddress = toStation.stationChildCode;
                task.Grade = 3;
                task.TaskType = (int)TaskOutboundTypeEnum.InToOut;
                task.TaskState = (int)TaskOutStatusEnum.OutNew;
                location.LocationStatus = (int)LocationEnum.Free;
                await _locationRepository.UpdateDataAsync(location);
                await BaseDal.UpdateDataAsync(task);
                return content.OK("成功");
            }
            else
            {
                ConsoleHelper.WriteErrorLine("分容空框入库改为直接出库:未找到对应站台");
                content.Error("未找到对应站台");
            }
        }
        else
        {
            ConsoleHelper.WriteErrorLine("分容空框入库改为直接出库:未找到任务");
            content.Error("未找到任务");
        }
        return content;
    }
    #endregion
}