郑州市第一人民医院

Wo_EquipmentRunningRepository.cs 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using MadRunFabric.Common;
  2. using MadRunFabric.Common.Options;
  3. using MadRunFabric.Model;
  4. using MadRunFabric.Model.MessageApi;
  5. using MessageApi.IRepositories;
  6. using MessageApi.Model;
  7. using Microsoft.Extensions.Logging;
  8. using Microsoft.Extensions.Options;
  9. using MongoDB.Driver;
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Text;
  13. using System.Linq;
  14. namespace MessageApi.Repositories
  15. {
  16. public class Wo_EquipmentRunningRepository : BaseRepository<Wo_EquipmentRunning, string>, IWo_EquipmentRunningRepository
  17. {
  18. protected readonly ILogger<BaseRepository<Wo_EquipmentRunning, string>> _logger;
  19. protected readonly IMongoCollection<Wo_Order_User_Map> _collection_wo_order_user_map;
  20. public Wo_EquipmentRunningRepository(IOptions<MongodbOptions> settings, ILogger<BaseRepository<Wo_EquipmentRunning, string>> logger) : base(settings, logger)
  21. {
  22. _collection_wo_order_user_map = _context.GetCollection<Wo_Order_User_Map>();
  23. _logger = logger;
  24. }
  25. /// <summary>
  26. /// Linq 关联查询 分页 设备运行工单 - 不用
  27. /// </summary>
  28. /// <returns></returns>
  29. public IEnumerable<WoWorkOrderListDto> GetList(string usercode)
  30. {
  31. var query =
  32. from repair in _collection.AsQueryable()
  33. join order_user in _collection_wo_order_user_map.AsQueryable() on repair.wocode equals order_user.wocode into order_userDefa
  34. where repair.isdelete == 0
  35. select new WoWorkOrderListDto
  36. {
  37. id = repair.id,
  38. //equipmentid = repair.equipmentid,
  39. wocode = repair.wocode,
  40. wostate = repair.wostate,
  41. content = repair.checkcontent,
  42. createby = repair.createby,
  43. createtime = repair.createtime,
  44. readby = order_userDefa != null && order_userDefa.Count() > 0 ? order_userDefa.First().readby : "",
  45. isread = order_userDefa != null && order_userDefa.Count() > 0 ? order_userDefa.First().isread : 0
  46. };
  47. #region 查询条件
  48. if (!string.IsNullOrEmpty(usercode))
  49. query = query.Where(it => it.readby == usercode);
  50. query = query.Where(it => it.isread == 0);
  51. #endregion
  52. var list = query.OrderByDescending(it => it.createtime);
  53. return list;
  54. }
  55. }
  56. }