huanghongfeng
2024-12-09 19e5b7583a2aa1968c674b4b35f618cc6c2e29ef
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -126,9 +126,14 @@
            Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode);
            //查货位
            Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress);
            Dt_StockInfoDetail dt_StockInfodetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.OrderNo == task.PalletCode);
            Dt_StockInfoDetail dt_StockInfodetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockInfo.Id);
            CheckCompleted(stockInfo, locationInfo);
            if (stockInfo.MaterialType == (int)InventoryMaterialType.空托)
            {
                string currentTime = DateTime.Now.ToString("HHmmss");
                stockInfo.PalletCode = "KTP" + currentTime;
            }
            stockInfo.LocationCode = task.TargetAddress;
            stockInfo.StockStatus = StockStatusEmun.已入库.ObjToInt();
             _stockService.StockInfoService.Repository.UpdateData(stockInfo);
@@ -141,7 +146,14 @@
            beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity);
            int beforeStatus = locationInfo.LocationStatus;
            locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
            if (stockInfo.MaterialType == (int)InventoryMaterialType.空托)
            {
                locationInfo.LocationStatus = LocationStatusEnum.Pallet.ObjToInt();
            }
            else
            {
                locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
            }
            _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false);
            _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
@@ -207,10 +219,10 @@
                return (false, "未找到货位信息");
            }
            if (isCheckStockDetail && (stockInfo.Details == null || stockInfo.Details.Count == 0))
            /*if (isCheckStockDetail && (stockInfo.Details == null || stockInfo.Details.Count == 0))
            {
                return (false, "未找到组盘明细信息");
            }
            }*/
            return (true, "成功");
        }
@@ -227,22 +239,30 @@
            stockInfo.StockStatus = StockStatusEmun.出库完成.ObjToInt();
            _stockService.StockInfoService.Repository.UpdateData(stockInfo);
            int beforeStatus = locationInfo.LocationStatus;
            if (task.Depth == 1)
            /*if (task.Depth == 1)
            {
                if (DepthTask(task)) { }
                *//*if (DepthTask(task))
                {
                }
                else
                {
                    locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                    _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false);
                    _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
                }
                }*//*
                locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false);
                _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
            }
            else
            {
                locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false);
                _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
            }
            }*/
            locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
            _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false);
            _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
            task.TaskStatus = OutTaskStatusEnum.OutFinish.ObjToInt();
            BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.自动完成 : OperateType.人工完成);
@@ -328,5 +348,7 @@
            }
            return false;
        }
    }   
}