后端
using Infrastructure.Attribute;
using Model.Dto.WarehouseManagement;
using Model.Page;
using Model.WarehouseManagement;
using Repository;
using Service.Interface.WarehouseManagement;
using SqlSugar;
namespace Service.WarehouseManagement
{
[AppService(ServiceType = typeof(IRegionService), ServiceLifetime = LifeTime.Transient)]
public class RegionService : BaseService<Region>, IRegionService
{
public int AddRegion(Region region, string userName)
{
region.Create_by = userName;
region.Create_time = DateTime.Now;
region.WarehouseName = Context
.Queryable<Warehouse>()
.First(it => it.WarehouseId == region.WarehouseId)
.WarehouseName;
return Insert(region);
}
public int DeleteRegion(long regionId)
{
return Delete(regionId);
}
public int EidtRegion(Region region, string userName)
{
region.Update_by = userName;
region.Update_time = DateTime.Now;
region.WarehouseName = Context
.Queryable<Warehouse>()
.First(it => it.WarehouseId == region.WarehouseId)
.WarehouseName;
return Update(region);
}
public PagedInfo<Region> GetAllRegions(RegionQueryDto regionQueryDto)
{
var expression = Expressionable.Create<Region>()
.AndIF(!string.IsNullOrEmpty(regionQueryDto.WarehouseName), region => region.WarehouseName.Contains(regionQueryDto.WarehouseName))
.AndIF(!string.IsNullOrEmpty(regionQueryDto.RegionName), region => region.RegionName.Contains(regionQueryDto.RegionName))
.AndIF(regionQueryDto.RegionProperty != null, region => region.RegionProperty == regionQueryDto.RegionProperty);
return Queryable()
.Where(expression.ToExpression())
.ToPage(regionQueryDto);
}
public List<Region> GetAllRegions()
{
return Queryable()
.ToList();
}
public Region GetRegion(long regionId)
{
return Queryable()
.Where(it => it.RegionId == regionId)
.First();
}
public bool IsOtherUse(long regionId)
{
return Context
.Queryable<Location>()
.Where(it => it.RegionId == regionId)
.Any();
}
}
}
控制器Controllers
using Common;
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using Model.Dto.WarehouseManagement;
using Model.Enums;
using Model.WarehouseManagement;
using Service.Interface.WarehouseManagement;
using WMS.WebApi.Filters;
using Mapster;
using Microsoft.AspNetCore.Mvc;
namespace WMS.WebApi.Controllers.WarehouseManagement
{
/// <summary>
/// 库区控制器
/// </summary>
[Verify]
[Route("/warehousemanagement/region")]
[ApiExplorerSettings(GroupName = "wm")]
public class RegionController : BaseController
{
private IRegionService regionService;
private IWarehouseService warehouseService;
public RegionController(IRegionService regionService, IWarehouseService warehouseService)
{
this.regionService = regionService;
this.warehouseService = warehouseService;
}
/// <summary>
/// 分页查询所有数据
/// </summary>
/// <param name="regionQueryDto"></param>
/// <returns></returns>
[HttpGet]
public IActionResult GetAll([FromQuery] RegionQueryDto regionQueryDto)
{
var result = regionService.GetAllRegions(regionQueryDto);
return SUCCESS(result);
}
/// <summary>
/// 获取仓库选项
/// </summary>
/// <returns></returns>
[HttpGet("options")]
public IActionResult GetWarehouseOptions()
{
var result = warehouseService
.GetAllWarehouses()
.Select(it => new { it.WarehouseId, it.WarehouseName })
.ToList();
return SUCCESS(result);
}
/// <summary>
/// 格局id获取库区信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("get/{id:long}")]
public IActionResult GetRegion(long id)
{
var result = regionService.GetRegion(id);
return SUCCESS(result);
}
/// <summary>
/// 新增库区信息
/// </summary>

该博客展示了一个基于后端控制器和前端VUE的仓库库区信息管理页面。页面包含搜索、新增、导出、编辑、删除等功能,可对仓库名称、库区名称、库区类型等信息进行管理,还具备分页和表单验证功能,方便用户操作和数据管理。
最低0.47元/天 解锁文章
2467

被折叠的 条评论
为什么被折叠?



