wankeda
3 天以前 2a32dfbf5fe3b484d1ef6849cd8e322faa70ce14
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
@@ -40,7 +40,46 @@
                    PushTasksToWCS(new List<Dt_Task> { task });
                    return WebResponseContent.Instance.OK($"该托盘已生成任务", _mapper.Map<WMSTaskDTO>(task));
                }
                if (Repository.QueryFirst(x => x.SourceAddress == stationCode && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null)
                {
                    return WebResponseContent.Instance.Error($"该站点已有未执行的任务");
                }
                //Dt_StockInfo stockInfo = _stockRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
                //if (stockInfo == null)
                //{
                //    return WebResponseContent.Instance.Error($"未找到组盘信息");
                //}
                //var details = stockInfo.Details.FirstOrDefault();
                //if (!string.IsNullOrEmpty(stockInfo.LocationCode))
                //{
                //    return WebResponseContent.Instance.Error($"该托盘已绑定货位");
                //}
                Dt_RoadwayInfo roadwayInfo = _roadwayInforepository.QueryFirst(x => x.InStationCode == stationCode);
                if (roadwayInfo == null)
                {
                    return WebResponseContent.Instance.Error($"未找到刚入库站台地址");
                }
                Dt_Warehouse warehouse = _warehouseRepository.QueryFirst(x => x.WarehouseCode == roadwayInfo.RoadwayNo);
                if (warehouse == null)
                {
                    return WebResponseContent.Instance.Error("未找到改仓库");
                }
                Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayInfo.RoadwayNo, warehouse.WarehouseId, "");//
                if (locationInfo == null)
                {
                    return WebResponseContent.Instance.Error($"货位分配失败,未找到可分配货位");
                }
                var dt_Stock = new Dt_StockInfo
                {
                    PalletCode = palletCode,
                    PalletType = 1,
                    LocationCode = locationInfo.LocationCode,
                    StockStatus = (int)StockStatusEmun.组盘暂存,
                    Creater = "WMS",
                    CreateDate = DateTime.Now,
                    WarehouseId = warehouse.WarehouseId,
                };
                Dt_Task newTask = new Dt_Task()
                {
                    CurrentAddress = stationCode,
@@ -50,7 +89,7 @@
                    OrderNo = "1",
                    Roadway = "1",
                    SourceAddress = "",
                    TargetAddress = "2-20-1",
                    TargetAddress = locationInfo.LocationCode,
                    TaskType = TaskTypeEnum.Inbound.ObjToInt(),
                    TaskStatus = TaskStatusEnum.New.ObjToInt(),
                    WarehouseId = 1,
@@ -60,14 +99,16 @@
                };
                _unitOfWorkManage.BeginTran();
                locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
                int taskId = BaseDal.AddData(newTask);
                newTask.TaskId = taskId;
                _stockRepository.AddData(dt_Stock);
                //_stockRepository.UpdateData(stockInfo);
                //_locationInfoRepository.UpdateData(locationInfo);
                _locationInfoRepository.UpdateData(locationInfo);
                _unitOfWorkManage.CommitTran();
                WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask);
                //PushTasksToWCS(new List<Dt_Task> { newTask });
                PushTasksToWCS(new List<Dt_Task> { newTask });
                return WebResponseContent.Instance.OK(data: wMSTaskDTO);
            }
            catch (Exception ex)