• WMS仓库管理系统库位功能


    后端

    1. using Infrastructure.Attribute;
    2. using Model.Dto.WarehouseManagement;
    3. using Model.Page;
    4. using Model.WarehouseManagement;
    5. using Repository;
    6. using Service.Interface.WarehouseManagement;
    7. using SqlSugar;
    8. namespace Service.WarehouseManagement
    9. {
    10. [AppService(ServiceType = typeof(IRegionService), ServiceLifetime = LifeTime.Transient)]
    11. public class RegionService : BaseService<Region>, IRegionService
    12. {
    13. public int AddRegion(Region region, string userName)
    14. {
    15. region.Create_by = userName;
    16. region.Create_time = DateTime.Now;
    17. region.WarehouseName = Context
    18. .Queryable<Warehouse>()
    19. .First(it => it.WarehouseId == region.WarehouseId)
    20. .WarehouseName;
    21. return Insert(region);
    22. }
    23. public int DeleteRegion(long regionId)
    24. {
    25. return Delete(regionId);
    26. }
    27. public int EidtRegion(Region region, string userName)
    28. {
    29. region.Update_by = userName;
    30. region.Update_time = DateTime.Now;
    31. region.WarehouseName = Context
    32. .Queryable<Warehouse>()
    33. .First(it => it.WarehouseId == region.WarehouseId)
    34. .WarehouseName;
    35. return Update(region);
    36. }
    37. public PagedInfo<Region> GetAllRegions(RegionQueryDto regionQueryDto)
    38. {
    39. var expression = Expressionable.Create<Region>()
    40. .AndIF(!string.IsNullOrEmpty(regionQueryDto.WarehouseName), region => region.WarehouseName.Contains(regionQueryDto.WarehouseName))
    41. .AndIF(!string.IsNullOrEmpty(regionQueryDto.RegionName), region => region.RegionName.Contains(regionQueryDto.RegionName))
    42. .AndIF(regionQueryDto.RegionProperty != null, region => region.RegionProperty == regionQueryDto.RegionProperty);
    43. return Queryable()
    44. .Where(expression.ToExpression())
    45. .ToPage(regionQueryDto);
    46. }
    47. public List<Region> GetAllRegions()
    48. {
    49. return Queryable()
    50. .ToList();
    51. }
    52. public Region GetRegion(long regionId)
    53. {
    54. return Queryable()
    55. .Where(it => it.RegionId == regionId)
    56. .First();
    57. }
    58. public bool IsOtherUse(long regionId)
    59. {
    60. return Context
    61. .Queryable<Location>()
    62. .Where(it => it.RegionId == regionId)
    63. .Any();
    64. }
    65. }
    66. }

     控制器Controllers

    1. using Common;
    2. using Infrastructure.Attribute;
    3. using Infrastructure.Extensions;
    4. using Model.Dto.WarehouseManagement;
    5. using Model.Enums;
    6. using Model.WarehouseManagement;
    7. using Service.Interface.WarehouseManagement;
    8. using WMS.WebApi.Filters;
    9. using Mapster;
    10. using Microsoft.AspNetCore.Mvc;
    11. namespace WMS.WebApi.Controllers.WarehouseManagement
    12. {
    13. /// <summary>
    14. /// 库区控制器
    15. /// </summary>
    16. [Verify]
    17. [Route("/warehousemanagement/region")]
    18. [ApiExplorerSettings(GroupName = "wm")]
    19. public class RegionController : BaseController
    20. {
    21. private IRegionService regionService;
    22. private IWarehouseService warehouseService;
    23. public RegionController(IRegionService regionService, IWarehouseService warehouseService)
    24. {
    25. this.regionService = regionService;
    26. this.warehouseService = warehouseService;
    27. }
    28. /// <summary>
    29. /// 分页查询所有数据
    30. /// </summary>
    31. /// <param name="regionQueryDto"></param>
    32. /// <returns></returns>
    33. [HttpGet]
    34. public IActionResult GetAll([FromQuery] RegionQueryDto regionQueryDto)
    35. {
    36. var result = regionService.GetAllRegions(regionQueryDto);
    37. return SUCCESS(result);
    38. }
    39. /// <summary>
    40. /// 获取仓库选项
    41. /// </summary>
    42. /// <returns></returns>
    43. [HttpGet("options")]
    44. public IActionResult GetWarehouseOptions()
    45. {
    46. var result = warehouseService
    47. .GetAllWarehouses()
    48. .Select(it => new { it.WarehouseId, it.WarehouseName })
    49. .ToList();
    50. return SUCCESS(result);
    51. }
    52. /// <summary>
    53. /// 格局id获取库区信息
    54. /// </summary>
    55. /// <param name="id"></param>
    56. /// <returns></returns>
    57. [HttpGet("get/{id:long}")]
    58. public IActionResult GetRegion(long id)
    59. {
    60. var result = regionService.GetRegion(id);
    61. return SUCCESS(result);
    62. }
    63. /// <summary>
    64. /// 新增库区信息
    65. /// </summary>
    66. /// <param name="regionDto"></param>
    67. /// <returns></returns>
    68. [HttpPost("add")]
    69. [Log(Title = "新增库区信息", BusinessType = BusinessType.INSERT)]
    70. public IActionResult AddRegion([FromBody] RegionDto regionDto)
    71. {
    72. var region = regionDto.Adapt<Region>();
    73. var username = HttpContext.GetName();
    74. var result = regionService.AddRegion(region, username);
    75. return SUCCESS(result);
    76. }
    77. /// <summary>
    78. /// 编辑库区信息
    79. /// </summary>
    80. /// <param name="id"></param>
    81. /// <param name="regionDto"></param>
    82. /// <returns></returns>
    83. [HttpPost("edit/{id:long}")]
    84. [Log(Title = "编辑库区信息", BusinessType = BusinessType.UPDATE)]
    85. public IActionResult EditRegion(long id, [FromBody] RegionDto regionDto)
    86. {
    87. var region = regionDto.Adapt<Region>();
    88. region.RegionId = id;
    89. var username = HttpContext.GetName();
    90. var result = regionService.EidtRegion(region, username);
    91. return SUCCESS(result);
    92. }
    93. /// <summary>
    94. /// 删除库区信息
    95. /// </summary>
    96. /// <param name="id"></param>
    97. /// <returns></returns>
    98. [HttpDelete("delete/{id:long}")]
    99. [Log(Title = "删除库区信息", BusinessType = BusinessType.DELETE)]
    100. public IActionResult DeleteRegion(long id)
    101. {
    102. var result= regionService.DeleteRegion(id);
    103. return SUCCESS(result);
    104. }
    105. /// <summary>
    106. /// 导出库区信息
    107. /// </summary>
    108. /// <returns></returns>
    109. [HttpGet("export")]
    110. [Log(Title = "导出库区信息", BusinessType = BusinessType.EXPORT)]
    111. public IActionResult RegionExport()
    112. {
    113. var regions = regionService.GetAllRegions();
    114. var regionExcelDtos = regions
    115. .Select(it => it.Adapt<RegionExcelDto>())
    116. .ToList();
    117. var result = ExcelHelper.ExportExcelMini(regionExcelDtos, "region", "库区信息");
    118. return ExportExcel(result.Item2, result.Item1);
    119. }
    120. }
    121. }

    前端VUE

  • 相关阅读:
    C++学习笔记(十)
    关于如何计算 递归 方法 的时间复杂度 笔记总结
    AcWing 3250. 通信网络
    web网页设计期末课程大作业:漫画网站设计——我的英雄(5页)学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作
    MySQL筑基篇之增删改查
    LocalDate、LocalTime、LocalDateTime常用方法
    Golang import
    React报错之Parameter ‘props‘ implicitly has an ‘any‘ type
    【深入研究Hotspot源码与Linux内核】
    MC我的世界大型生存服务器配置推荐首选I9-13900K高频服务器
  • 原文地址:https://blog.csdn.net/xdpcxq/article/details/134504954