ZhongTianKlhcService.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using AutoMapper;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Wms.Screen.DataService.Interface;
  5. using Wms.Screen.Dto.ZhongTian.Response.KLHC;
  6. using Wms.Screen.Service.IService;
  7. using Wms.Screen.SqlSugar.ZhongTian.KLHC;
  8. namespace Wms.Screen.Service.Service
  9. {
  10. /// <summary>
  11. /// 空轮缓存库service实现
  12. /// </summary>
  13. public class ZhongTianKlhcService : IZhongTianKlhcService
  14. {
  15. /// <summary>
  16. /// 空轮缓存库数据服务
  17. /// </summary>
  18. private IZhongTianKlhcDataService _zhongTianSxDataService;
  19. /// <summary>
  20. /// AutoMapper对象
  21. /// </summary>
  22. private IMapper _Mapper;
  23. /// <summary>
  24. /// Redis客户端对象
  25. /// </summary>
  26. private readonly FreeRedis.RedisClient _freeRedisClient;
  27. /// <summary>
  28. /// 构造函数
  29. /// </summary>
  30. /// <param name="zhongTianSxDataService">空轮缓存库数据服务</param>
  31. /// <param name="mapper">AutoMapper对象</param>
  32. /// <param name="freeRedisClient">Redis客户端对象</param>
  33. public ZhongTianKlhcService(IZhongTianKlhcDataService zhongTianSxDataService, IMapper mapper, FreeRedis.RedisClient freeRedisClient)
  34. {
  35. _zhongTianSxDataService = zhongTianSxDataService;
  36. _Mapper = mapper;
  37. _freeRedisClient = freeRedisClient;
  38. }
  39. /// <summary>
  40. /// 缓存信息
  41. /// </summary>
  42. /// <returns></returns>
  43. public List<BaseRBCI> GetBaseRrciList()
  44. {
  45. return _zhongTianSxDataService.GetBaseRrciList().Select(x =>
  46. {
  47. x.Direction = x.Direction == "N" ? "北" : "南";
  48. return x;
  49. }).OrderBy(x => x.Direction).ThenBy(x => int.Parse(x.WheelType)).ToList();
  50. }
  51. /// <summary>
  52. /// 库存信息
  53. /// </summary>
  54. /// <returns></returns>
  55. public List<KlhcInvInfoRes> GetKlhcInvInfo()
  56. {
  57. var infos = _zhongTianSxDataService.GetBaseWarecellList().GroupBy(x => x.WheelType).Select(x => new KlhcInvInfoRes { WheelType = x.Key, Number = x.Sum(s => s.Number) }).OrderBy(x => int.Parse(x.WheelType)).ToList();
  58. infos.Add(new KlhcInvInfoRes { WheelType = "总计", Number = infos.Sum(x => x.Number) });
  59. return infos;
  60. }
  61. }
  62. }