public IHttpActionResult GetWareHouseAreaListByID(MatWareHouseAreaInfo matwarehouseareaInfo) { try { var page = GetPageResult(MatWareHouseAreaInfoContract.MatWareHouseAreaInfos.Where(m => m.MatWareHouse.Id == matwarehouseareaInfo.Id), m => new { m.Id, MatWareHouse_ID = m.MatWareHouse.Id, WareHouseCode = m.MatWareHouse.WareHouseCode, WareHouseName = m.MatWareHouse.WareHouseName, m.WareHouseAreaCode, m.WareHouseAreaName, m.WareHouseLocationType, WareHouseLocationCodeType = 0, m.LayerNumber, m.ColumnNumber, m.LocationQuantity, m.StorageRackSpecifications, m.LocationSpecifications, m.LocationLoadBearing, m.Description, m.IsGenerageLocation, m.Remark, m.CreatedTime, m.CreatorUserId, m.LastUpdatedTime, m.LastUpdatorUserId, }); return(Json(new OperationResult(OperationResultType.Success, "读取仓库区域信息列表数据成功!", page))); } catch (Exception ex) { return(Json(new OperationResult(OperationResultType.Error, "读取仓库区域信息列表数据失败!" + ex.ToString()))); } }
public IHttpActionResult Get(string id) { Guid guid = Guid.Parse(id); MatWareHouseAreaInfo MatWareHouseAreaInfoList = MatWareHouseAreaInfoContract.MatWareHouseAreaInfos.ToList().Find(s => { return(s.Id == guid); }); if (MatWareHouseAreaInfoList == null) { return(Json(new OperationResult(OperationResultType.Success, "读取仓库区域信息数据失败!", MatWareHouseAreaInfoList))); } return(Json(new OperationResult(OperationResultType.Success, "读取仓库区域信息数据成功!", MatWareHouseAreaInfoList))); }
/// <summary> /// 更新库位信息 /// </summary> /// <param name="inputDtos"></param> /// <returns></returns> public async Task <OperationResult> UpdateMatWareHouseLocations(params MatWareHouseLocationInfoInputDto[] inputDtos) { inputDtos.CheckNotNull("inputDtos"); // foreach (MatWareHouseLocationInfoInputDto dtoData in inputDtos) { if (string.IsNullOrEmpty(dtoData.WareHouseLocationCode)) { return(new OperationResult(OperationResultType.Error, "请正确填写库位编号,该组数据不被存储。")); } if (string.IsNullOrEmpty(dtoData.WareHouseLocationName)) { return(new OperationResult(OperationResultType.Error, "请正确填写库位名称,该组数据不被存储。")); } // if (MatWareHouseLocationRepository.CheckExists(x => x.WareHouseLocationCode == dtoData.WareHouseLocationCode && x.Id != dtoData.Id)) { return(new OperationResult(OperationResultType.Error, $"库位编号 {dtoData.WareHouseLocationCode} 的数据已存在,该组数据不被存储。")); } if (MatWareHouseLocationRepository.CheckExists(x => x.WareHouseLocationName == dtoData.WareHouseLocationName && x.Id != dtoData.Id)) { return(new OperationResult(OperationResultType.Error, $"库位名称 {dtoData.WareHouseLocationName} 的数据已存在,该组数据不被存储。")); } } // MatWareHouseLocationRepository.UnitOfWork.BeginTransaction(); // MatWareHouseInfo info = new MatWareHouseInfo(); foreach (var item in inputDtos) { info = MatWareHouseInfoRepository.TrackEntities.Where(m => m.Id == item.MatWareHouse_Id).FirstOrDefault(); item.MatWareHouse = info; } // MatWareHouseAreaInfo matwarehouseareaInfo = new MatWareHouseAreaInfo(); foreach (var item in inputDtos) { matwarehouseareaInfo = MatWareHouseAreaInfoRepository.TrackEntities.Where(m => m.Id == item.MatWareHouseArea_Id).FirstOrDefault(); item.MatWareHouseArea = matwarehouseareaInfo; } // var result = await MatWareHouseLocationRepository.UpdateAsync(inputDtos); MatWareHouseLocationRepository.UnitOfWork.Commit(); return(result); }
/// <summary> /// 物理删除库位信息 /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task <OperationResult> DeleteMatWareHouseLocations(params Guid[] ids) { ids.CheckNotNull("ids"); MatWareHouseLocationRepository.UnitOfWork.BeginTransaction(); // OperationResult result = new OperationResult(); // Guid matwarehouseareaInfoGuid = new Guid(); foreach (Guid idsCurrent in ids) { matwarehouseareaInfoGuid = MatWareHouseLocationRepository.TrackEntities .Where(m => m.Id == idsCurrent) .Select(m => m.MatWareHouseArea.Id) .FirstOrDefault(); // result = await MatWareHouseLocationRepository.DeleteAsync(ids); // int matwarehouseareaInfoNew2 = MatWareHouseLocationRepository.TrackEntities .Count(m => m.MatWareHouseArea.Id.Equals(matwarehouseareaInfoGuid)); if (matwarehouseareaInfoNew2 == 0) { MatWareHouseAreaInfo matwarehouseareaInfo = MatWareHouseAreaInfoRepository.TrackEntities .Where(m => m.Id == matwarehouseareaInfoGuid) .FirstOrDefault(); //matwarehouseareaInfo.Id = matwarehouseareaInfoGuid; matwarehouseareaInfo.IsGenerageLocation = false; matwarehouseareaInfo.LastUpdatedTime = DateTime.Now; // await MatWareHouseAreaInfoRepository.UpdateAsync(matwarehouseareaInfo); } } // MatWareHouseLocationRepository.UnitOfWork.Commit(); return(result); }
/// <summary> /// 初始化仓位图信息 /// </summary> /// <returns></returns> public List <MatWareHousAreaLocationInfoOutputDto> Ini1(Guid id) { List <MatWareHousAreaLocationInfoOutputDto> matwarehousarealocationinfoList = new List <MatWareHousAreaLocationInfoOutputDto>(); // foreach (MatWareHouseAreaInfo matwarehouseareaInfo in MatWareHouseAreaInfoRepository.Entities.Where(m => (!(id == Guid.Empty) ? m.Id.ToString().Contains(id.ToString()) : true))) { Guid MatWareHouseArea_Id = matwarehouseareaInfo.Id; MatWareHouseAreaInfo MatWareHouseArea = MatWareHouseAreaInfoRepository.TrackEntities.Where(m => m.Id == MatWareHouseArea_Id).FirstOrDefault(); //List<MatWareHouseLocationInfo> matwarehouselocationinfoList = MatWareHouseLocationInfoRepository.TrackEntities.Where(m => m.MatWareHouseArea.Id == MatWareHouseArea_Id) // .OrderBy(m => m.WareHouseLocationCode).ToList(); //库位 库存 基础数据 //var matwarehouselocationinfoList = MatWareHouseLocationInfoRepository.TrackEntities.Where(m => m.MatWareHouseArea.Id == MatWareHouseArea_Id) // .OrderBy(m => m.WareHouseLocationCode.Length == 8 ? m.WareHouseLocationCode : m.WareHouseLocationCode.Substring(9,2) + m.WareHouseLocationCode.Substring(5, 3)) // .Select(m => new //var matwarehouselocationinfoList = MatWareHouseLocationInfoRepository.TrackEntities.Where(m => m.MatWareHouseArea.Id == MatWareHouseArea_Id) // .OrderBy(m => m.WareHouseLocationCode.Substring(m.WareHouseLocationCode..LastIndexOf("_") + 1,m.WareHouseLocationCode.Length).Length == 3 ? // m.WareHouseLocationCode : // m.WareHouseLocationCode.Substring(m.WareHouseLocationCode.LastIndexOf("_") + 1, 2) + // m.WareHouseLocationCode.Substring(m.WareHouseLocationCode.LastIndexOf("_", m.WareHouseLocationCode.LastIndexOf("_") - 1) + 1, 3) ) // .Select(m => new var matwarehouselocationinfoList = MatWareHouseLocationInfoRepository.TrackEntities.Where(m => m.MatWareHouseArea.Id == MatWareHouseArea_Id) .OrderBy(m => m.Id) .Select(m => new { WareHouseCode = m.MatWareHouse.WareHouseCode, WareHouseName = m.MatWareHouse.WareHouseName, WareHouseAreaCode = m.MatWareHouseArea.WareHouseAreaCode, WareHouseAreaName = m.MatWareHouseArea.WareHouseAreaName, m.WareHouseLocationCode, m.WareHouseLocationName, m.WareHouseLocationType, //m.WareHouseLocationStatus, LayerNumber = m.MatWareHouseArea.LayerNumber, ColumnNumber = m.MatWareHouseArea.ColumnNumber, PalletCode = MatPalletRepository.TrackEntities.Where(x => x.Id.ToString().Contains(m.PalletID.ToString())).Select(x => x.PalletCode).FirstOrDefault(), PalletName = MatPalletRepository.TrackEntities.Where(x => x.Id.ToString().Contains(m.PalletID.ToString())).Select(x => x.PalletName).FirstOrDefault(), StorageQuantity = MaterialBatchInfoRepository.TrackEntities.Where(m2 => m2.MatWareHouseLocation.Id == m.Id && m2.Quantity > 0).Sum(m2 => m2.Quantity), FullPalletQuantity = MaterialBatchInfoRepository.TrackEntities.Where(m2 => m2.MatWareHouseLocation.Id == m.Id && m2.Quantity > 0).Select(m2 => m2.Material.FullPalletQuantity).FirstOrDefault(), m.IsUse, }).ToList(); //库位 层 数据 for (int i = 0; i < MatWareHouseArea.LayerNumber; i++) { MatWareHousAreaLocationInfoOutputDto matwarehousarealocationInfo = new MatWareHousAreaLocationInfoOutputDto(); // matwarehousarealocationInfo.MatWareHouseArea = MatWareHouseArea; // matwarehousarealocationInfo.WareHouseAreaCode = MatWareHouseArea.WareHouseAreaCode; matwarehousarealocationInfo.WareHouseAreaName = MatWareHouseArea.WareHouseAreaName; matwarehousarealocationInfo.WareHouseCode = MatWareHouseArea.MatWareHouse.WareHouseCode; matwarehousarealocationInfo.WareHouseName = MatWareHouseArea.MatWareHouse.WareHouseName; matwarehousarealocationInfo.LayerNumber = string.Format($"{i + 1:00}", i + 1); matwarehousarealocationInfo.ColumnNumber = MatWareHouseArea.ColumnNumber == null ? 0 : MatWareHouseArea.ColumnNumber.Value; matwarehousarealocationInfo.WareHouseColumns = new List <string>(); // for (int iii = 0; iii < matwarehousarealocationInfo.ColumnNumber; iii++) { string warehousecolumn = ""; matwarehousarealocationInfo.WareHouseColumns.Add(warehousecolumn); } // matwarehousarealocationinfoList.Add(matwarehousarealocationInfo); } // //库位 库存 基础数据 顺序号 int ii = 0; // //库位 列 基础数据 for (int i = 0; i < MatWareHouseArea.LayerNumber; i++) { for (int j = 0; j < MatWareHouseArea.ColumnNumber; j++) { string sWareHouseLocationCode = ""; string sPalletCode = ""; string sStorageQuantity = ""; string sFullPalletQuantity = ""; string sIsUse = ""; // if (matwarehouselocationinfoList[ii] != null) { sWareHouseLocationCode = matwarehouselocationinfoList[ii].WareHouseLocationCode; if (string.IsNullOrEmpty(sWareHouseLocationCode)) { sWareHouseLocationCode = "-"; } // sPalletCode = matwarehouselocationinfoList[ii].PalletCode; if (string.IsNullOrEmpty(sPalletCode)) { sPalletCode = "-"; } // sStorageQuantity = matwarehouselocationinfoList[ii].StorageQuantity.ToString(); if (string.IsNullOrEmpty(sStorageQuantity)) { sStorageQuantity = "-"; } // sFullPalletQuantity = matwarehouselocationinfoList[ii].FullPalletQuantity.ToString(); if (string.IsNullOrEmpty(sFullPalletQuantity)) { sFullPalletQuantity = "-"; } // sIsUse = matwarehouselocationinfoList[ii].IsUse.ToString(); // sWareHouseLocationCode = sWareHouseLocationCode + " " + sPalletCode + " " + sStorageQuantity + " " + sFullPalletQuantity + " " + sIsUse; matwarehousarealocationinfoList[i].WareHouseColumns[j] = sWareHouseLocationCode; } ii++; } } } //////////////////////////////////////////////////// return(matwarehousarealocationinfoList); }