pan
2025-11-19 d623ec652bb47e125d017c2ac43427c456c18600
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs
@@ -19,7 +19,12 @@
{
    public partial class TaskService 
    {
        /// <summary>
        /// ESS扫码请求入库
        /// </summary>
        /// <param name="palletCode"></param>
        /// <param name="stationCode"></param>
        /// <returns></returns>
        public async Task<WebResponseContent> RequestInboundTask(string palletCode, string stationCode)
        {
            try
@@ -27,7 +32,14 @@
                Dt_Task dbtask = Repository.QueryFirst(x => x.PalletCode == palletCode);
                if (dbtask != null)
                {
                    return WebResponseContent.Instance.Error($"该托盘已生成任务");
                    if (dbtask.TaskType == TaskTypeEnum.Outbound.ObjToInt())
                    {
                        return WebResponseContent.Instance.Error($"出库待分拣任务");
                    }
                    else
                    {
                        return WebResponseContent.Instance.Error($"该托盘已生成任务");
                    }
                }
                Dt_StockInfo stockInfo = _stockRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
@@ -45,7 +57,7 @@
                    return WebResponseContent.Instance.Error($"该托盘已绑定货位");
                }
                Dt_LocationInfo? locationInfo = _locationInfoService.AssignLocation();
                Dt_LocationInfo? locationInfo = _locationInfoService.AssignLocation(stockInfo.LocationType);
                if (locationInfo == null)
                {
                    return WebResponseContent.Instance.Error($"货位分配失败,未找到可分配货位");
@@ -65,7 +77,8 @@
                    TaskStatus = TaskStatusEnum.New.ObjToInt(),
                    WarehouseId = stockInfo.WarehouseId,
                    PalletType = stockInfo.PalletType,
                    OrderNo= stockInfo.Details.FirstOrDefault()?.OrderNo
                };
                //空箱
                if (stockInfo.PalletType == PalletTypeEnum.Empty.ObjToInt())
@@ -131,12 +144,24 @@
                            }
                    }
                };
                _logger.LogInformation("创建任务Request:  " + JsonConvert.SerializeObject(esstask));
                var result = await _eSSApiService.CreateTaskAsync(esstask);
                _logger.LogInformation("创建任务返回:  " + result);
                if (result)
                {
                    try
                    {
                        await _eSSApiService.MoveContainerAsync(new WIDESEA_DTO.Basic.MoveContainerRequest
                        {
                            slotCode = stationCode,
                            containerCode = palletCode
                        });
                    }
                    catch (Exception ex) {
                    }
                    return WebResponseContent.Instance.OK();
                }
                else