public async Task <RouteData <Wms_inventorybox> > AddInventoryBox(Wms_inventorybox box) { if (_sqlClient.Queryable <Wms_inventorybox>().Any(c => c.InventoryBoxNo == box.InventoryBoxNo && c.IsDel == DeleteFlag.Normal)) { return(RouteData <Wms_inventorybox> .From(PubMessages.E1022_INVENTORYBOX_NO_DUPLICATE)); } Wms_reservoirarea reservoirArea = null; if (box.ReservoirAreaId != null) { reservoirArea = await _sqlClient.Queryable <Wms_reservoirarea>() .FirstAsync(x => x.ReservoirAreaId == box.ReservoirAreaId && x.IsDel == DeleteFlag.Normal); if (reservoirArea == null) { return(RouteData <Wms_inventorybox> .From(PubMessages.E0006_DATA_VAILD_FAIL, $"指定库区不存在")); } } Wms_storagerack rack = null; if (box.StorageRackId != null) { rack = await _sqlClient.Queryable <Wms_storagerack>() .FirstAsync(x => x.ReservoirAreaId == box.ReservoirAreaId && x.StorageRackId == box.StorageRackId); if (rack == null) { return(RouteData <Wms_inventorybox> .From(PubMessages.E0006_DATA_VAILD_FAIL, $"指定库位不存在")); } } if (reservoirArea != null) { box.ReservoirAreaName = rack.ReservoirAreaName; } if (rack != null) { box.StorageRackName = rack.StorageRackName; box.Row = rack.Row; box.Column = rack.Column; box.Floor = rack.Floor; } box.InventoryBoxId = PubId.SnowflakeId; box.CreateBy = UserDto.UserId; box.CreateDate = DateTime.Now; box.CreateUser = UserDto.UserName; box.ModifiedBy = UserDto.UserId; box.ModifiedDate = DateTime.Now; box.ModifiedUser = UserDto.UserName; if (await _sqlClient.Insertable(box).ExecuteCommandAsync() == 0) { return(RouteData <Wms_inventorybox> .From(PubMessages.E1023_INVENTORYBOX_ADD_FAIL)); } else { return(RouteData <Wms_inventorybox> .From(PubMessages.I1003_INVENTORYBOX_ADD_SCCUESS)); } }
public IActionResult AddOrUpdate([FromForm]Wms_storagerack model, [FromForm]string id) { var validator = new StorageRackFluent(); var results = validator.Validate(model); var success = results.IsValid; if (!success) { string msg = results.Errors.Aggregate("", (current, item) => (current + item.ErrorMessage + "</br>")); return BootJsonH((PubEnum.Failed.ToInt32(), msg)); } if (id.IsEmptyZero()) { if (_storagerackServices.IsAny(c => c.StorageRackNo == model.StorageRackNo || c.StorageRackName == model.StorageRackNo)) { return BootJsonH((false, PubConst.Warehouse5)); } model.StorageRackId = PubId.SnowflakeId; model.CreateBy = UserDtoCache.UserId; bool flag = _storagerackServices.Insert(model); return BootJsonH(flag ? (flag, PubConst.Add1) : (flag, PubConst.Add2)); } else { model.StorageRackId = id.ToInt64(); model.ModifiedBy = UserDtoCache.UserId; model.ModifiedDate = DateTimeExt.DateTime; var flag = _storagerackServices.Update(model); return BootJsonH(flag ? (flag, PubConst.Update1) : (flag, PubConst.Update2)); } }
protected static void CreateStoragerack(SqlSugarClient sqlClient, Wms_warehouse warehouse, Wms_reservoirarea reservoirarea, int row, int columnCount, int floorCount) { for (int column = 1; column <= columnCount; column++) { for (int floor = 1; floor <= floorCount; floor++) { string code = warehouse.WarehouseId.ToString().PadLeft(2, '0') + row.ToString().PadLeft(2, '0') + column.ToString().PadLeft(2, '0') + floor.ToString().PadLeft(2, '0'); string no = row.ToString().PadLeft(2, '0') + column.ToString().PadLeft(2, '0') + floor.ToString().PadLeft(2, '0'); int id = Convert.ToInt32(code); Wms_storagerack storagerack = new Wms_storagerack() { StorageRackId = id, StorageRackNo = "KW-" + no, StorageRackName = "库位" + code, ReservoirAreaId = reservoirarea.ReservoirAreaId, ReservoirAreaName = reservoirarea.ReservoirAreaName, WarehouseId = warehouse.WarehouseId, Row = row, Floor = floor, Column = column, Remark = "", CreateBy = 1, CreateUser = "******", CreateDate = DateTime.Now, ModifiedBy = 1, ModifiedUser = "******", ModifiedDate = DateTime.Now, IsDel = DeleteFlag.Normal, }; sqlClient.Insertable(storagerack).ExecuteCommand(); Wms_inventorybox box = new Wms_inventorybox() { InventoryBoxId = id, InventoryBoxNo = "LK_LX_" + code, InventoryBoxName = "料箱-" + code, WarehouseId = reservoirarea.WarehouseId, ReservoirAreaId = reservoirarea.ReservoirAreaId, ReservoirAreaName = reservoirarea.ReservoirAreaName, StorageRackId = storagerack.StorageRackId, StorageRackName = storagerack.StorageRackName, Row = storagerack.Row, Column = storagerack.Column, Floor = storagerack.Floor, Size = 1, UsedSize = 0, Remark = "", IsDel = DeleteFlag.Normal, Status = (int)InventoryBoxStatus.InPosition, CreateBy = 1, CreateUser = "******", CreateDate = DateTime.Now, ModifiedBy = 1, ModifiedUser = "******", ModifiedDate = DateTime.Now }; sqlClient.Insertable(box).ExecuteCommand(); } } }
public IActionResult Add(string id) { var model = new Wms_storagerack(); if (id.IsEmpty()) { return View(model); } else { model = _storagerackServices.QueryableToEntity(c => c.StorageRackId == SqlFunc.ToInt64(id)); return View(model); } }
public async Task <IActionResult> AddOrUpdate([FromForm] Wms_storagerack model, [FromForm] string id) { var validator = new StorageRackFluent(); var results = validator.Validate(model); var success = results.IsValid; if (!success) { string msg = results.Errors.Aggregate("", (current, item) => (current + item.ErrorMessage + "</br>")); return(BootJsonH((PubEnum.Failed.ToInt32(), msg))); } Wms_reservoirarea reservoirarea = await _client.Queryable <Wms_reservoirarea>().FirstAsync( x => x.ReservoirAreaId == model.ReservoirAreaId); if (reservoirarea == null) { return(BootJsonH((PubEnum.Failed.ToInt32(), "找不到库区"))); } if (id.IsEmptyZero()) { if (_storagerackServices.IsAny(c => c.StorageRackNo == model.StorageRackNo || c.StorageRackName == model.StorageRackNo)) { return(BootJsonH((false, PubConst.Warehouse5))); } model.StorageRackId = PubId.SnowflakeId; model.ReservoirAreaName = reservoirarea.ReservoirAreaName; model.CreateBy = UserDtoCache.UserId; model.CreateUser = UserDtoCache.UserName; model.CreateDate = DateTime.Now; model.ModifiedBy = UserDtoCache.UserId; model.ModifiedUser = UserDtoCache.UserName; model.ModifiedDate = DateTime.Now; bool flag = _storagerackServices.Insert(model); return(BootJsonH(flag ? (flag, PubConst.Add1) : (flag, PubConst.Add2))); } else { model.StorageRackId = id.ToInt64(); model.ReservoirAreaName = reservoirarea.ReservoirAreaName; model.ModifiedBy = UserDtoCache.UserId; model.ModifiedUser = UserDtoCache.UserName; model.ModifiedDate = DateTimeExt.DateTime; var flag = _storagerackServices.Update(model); return(BootJsonH(flag ? (flag, PubConst.Update1) : (flag, PubConst.Update2))); } }
public async Task <RouteData <Wms_inventorybox> > UpdateInventoryBox(long inventoryBoxId, Wms_inventorybox box) { Wms_reservoirarea reservoirArea = null; if (box.ReservoirAreaId != null) { reservoirArea = await _sqlClient.Queryable <Wms_reservoirarea>() .FirstAsync(x => x.ReservoirAreaId == box.ReservoirAreaId && x.IsDel == DeleteFlag.Normal); if (reservoirArea == null) { return(RouteData <Wms_inventorybox> .From(PubMessages.E0006_DATA_VAILD_FAIL, $"指定库区不存在")); } } Wms_storagerack rack = null; if (box.StorageRackId != null) { rack = await _sqlClient.Queryable <Wms_storagerack>() .FirstAsync(x => x.ReservoirAreaId == box.ReservoirAreaId && x.StorageRackId == box.StorageRackId); if (rack == null) { return(RouteData <Wms_inventorybox> .From(PubMessages.E0006_DATA_VAILD_FAIL, $"指定库位不存在")); } } if (reservoirArea != null) { box.ReservoirAreaName = rack.ReservoirAreaName; } if (rack != null) { box.StorageRackName = rack.StorageRackName; box.Row = rack.Row; box.Column = rack.Column; box.Floor = rack.Floor; } box.InventoryBoxId = inventoryBoxId; box.ModifiedBy = UserDto.UserId; box.ModifiedDate = DateTime.Now; box.ModifiedUser = UserDto.UserName; if (await _sqlClient.Updateable(box).ExecuteCommandAsync() == 0) { return(RouteData <Wms_inventorybox> .From(PubMessages.E1024_INVENTORYBOX_UPDATE_FAIL)); } return(RouteData <Wms_inventorybox> .From(PubMessages.I1004_INVENTORYBOX_UPDATE_SCCUESS)); }
/// <summary> /// 获取空闲库位 /// </summary> /// <returns></returns> public static async Task <RouteData <Wms_storagerack> > GetIdleStorageRack(this ISqlSugarClient client, long reservoirAreaId) { Wms_storagerack storagerack = await client.Queryable <Wms_storagerack, Wms_inventorybox>( (s, ib) => new object[] { JoinType.Left, s.StorageRackId == ib.StorageRackId, } ).Where((s, ib) => ib.InventoryBoxNo == null && s.ReservoirAreaId == reservoirAreaId && s.Status == StorageRackStatus.Normal) .OrderBy((s, ib) => ib.Column, OrderByType.Desc) //就近原则 .OrderBy((s, ib) => ib.Floor, OrderByType.Asc) //就近原则 .Select((s, ib) => s).FirstAsync(); if (storagerack == null) { return(RouteData <Wms_storagerack> .From(PubMessages.E2308_WCS_STORGERACK_FULL, $"")); } return(RouteData <Wms_storagerack> .From(storagerack)); }
public async Task <IActionResult> Add(string id, string storeId) { IWMSBaseApiAccessor wmsAccessor = WMSApiManager.GetBaseApiAccessor(storeId, _client); RouteData <Wms_reservoirarea[]> result = (await wmsAccessor.GetReservoirAreaList(1, 100, null, null, null, null)); ViewData["reservoirAreaList"] = result.Data; var model = new Wms_storagerack(); if (id.IsEmpty()) { return(View(model)); } else { model = _storagerackServices.QueryableToEntity(c => c.StorageRackId == SqlFunc.ToInt64(id)); return(View(model)); } }