CustomersRepository.cs 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. using AutoMapper;
  2. using OASystem.Domain;
  3. using OASystem.Domain.Dtos.Groups;
  4. using OASystem.Domain.Entities.Groups;
  5. using OASystem.Domain.ViewModels.Groups;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace OASystem.Infrastructure.Repositories.Groups
  12. {
  13. public class CustomersRepository : BaseRepository<Grp_Customers, Grp_Ommission>
  14. {
  15. private readonly IMapper _mapper;
  16. public CustomersRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
  17. {
  18. _mapper = mapper;
  19. }
  20. /// <summary>
  21. /// 根据团组Id查询保险费用列表
  22. /// </summary>
  23. /// <param name="dto"></param>
  24. /// <returns></returns>
  25. public async Task<Result> CustomersByDiId(CustomersByDiIdDto dto)
  26. {
  27. Result result = new Result() { Code = -2, Msg = "未知错误" };
  28. try
  29. {
  30. string UserId = "";
  31. List<Grp_GroupsTaskAssignment> gtaUIdList = _sqlSugar.Queryable<Grp_GroupsTaskAssignment>().Where(a => a.DIId == dto.DiId && a.IsDel == 0 && a.CTId == 82).ToList();
  32. foreach (Grp_GroupsTaskAssignment gta in gtaUIdList)
  33. UserId += gta.UId + ",";
  34. if (!string.IsNullOrWhiteSpace(UserId))
  35. {
  36. UserId = UserId.Substring(0, UserId.Length - 1);
  37. }
  38. else
  39. {
  40. UserId = "0";
  41. }
  42. string sqlWhere = string.Format(@"Where h.DiId={0} and h.IsDel={1} And h.CreateUserId in ({2})", dto.DiId, 0, UserId);
  43. int startIndex = (dto.PageIndex - 1) * dto.PageSize + 1;
  44. int endIndex = startIndex + dto.PageSize - 1;
  45. if (dto.PortType == 1)
  46. {
  47. string sql = string.Format(@"select h.Id,h.ClientName,InsuranceCosts,Currency,s.Name as CurrencyStr,Attachment,c.OrbitalPrivateTransfer,u.CnName,c.IsAuditGM
  48. From Grp_Customers h
  49. Join Grp_CreditCardPayment c on h.Id=c.CId and c.CTable=82 and c.isdel=0
  50. left Join Sys_SetData s on h.Currency=s.Id
  51. left Join Sys_Users u on u.Id=h.CreateUserId {0} order by c.IsAuditGM,c.PayPercentage,h.CreateTime desc", sqlWhere);
  52. List<CustomersView> Customers = _sqlSugar.SqlQueryable<CustomersView>(sql).ToList();
  53. foreach (var item in Customers)
  54. {
  55. if (item.IsAuditGM == 0) item.IsAuditGMStr = "未审核";
  56. else if (item.IsAuditGM == 1) item.IsAuditGMStr = "已通过";
  57. else if (item.IsAuditGM == 2) item.IsAuditGMStr = "未通过";
  58. else if (item.IsAuditGM == 3) item.IsAuditGMStr = "自动审核";
  59. if (item.OrbitalPrivateTransfer == 0) item.OrbitalPrivateTransferStr = "公转";
  60. else if (item.OrbitalPrivateTransfer == 1) item.OrbitalPrivateTransferStr = "私转";
  61. }
  62. return result = new Result() { Code = 0, Msg = "查询成功!", Data = Customers };
  63. }
  64. else if (dto.PortType == 2 || dto.PortType == 3)
  65. {
  66. string sql = string.Format(@"Select * From (
  67. Select row_number() over (order by c.IsAuditGM,c.PayPercentage,h.CreateTime desc) as RowNumber,h.Id,h.ClientName,InsuranceCosts,
  68. Currency,s.Name as CurrencyStr,Attachment,c.OrbitalPrivateTransfer,u.CnName,c.IsAuditGM
  69. From Grp_Customers h
  70. Join Grp_CreditCardPayment c on h.Id=c.CId and c.CTable=82 and c.isdel=0
  71. left Join Sys_SetData s on h.Currency=s.Id
  72. left Join Sys_Users u on u.Id=h.CreateUserId {0}
  73. ) temp Where RowNumber Between {1} and {2}", sqlWhere, startIndex, endIndex);
  74. List<CustomersView> Customers = _sqlSugar.SqlQueryable<CustomersView>(sql).ToList();
  75. foreach (var item in Customers)
  76. {
  77. if (item.IsAuditGM == 0) item.IsAuditGMStr = "未审核";
  78. else if (item.IsAuditGM == 1) item.IsAuditGMStr = "已通过";
  79. else if (item.IsAuditGM == 2) item.IsAuditGMStr = "未通过";
  80. else if (item.IsAuditGM == 3) item.IsAuditGMStr = "自动审核";
  81. if (item.OrbitalPrivateTransfer == 0) item.OrbitalPrivateTransferStr = "公转";
  82. else if (item.OrbitalPrivateTransfer == 1) item.OrbitalPrivateTransferStr = "私转";
  83. }
  84. string CountSql = string.Format(@"Select COUNT(1) as Count From (
  85. select h.Id,h.ClientName,InsuranceCosts,Currency,s.Name as CurrencyStr,Attachment,c.OrbitalPrivateTransfer,u.CnName,c.IsAuditGM
  86. From Grp_Customers h
  87. Join Grp_CreditCardPayment c on h.Id=c.CId and c.CTable=82 and c.isdel=0
  88. left Join Sys_SetData s on h.Currency=s.Id
  89. left Join Sys_Users u on u.Id=h.CreateUserId {0}
  90. ) temp", sqlWhere);
  91. DataCount dataCount = _sqlSugar.SqlQueryable<DataCount>(CountSql).First();
  92. int count = dataCount.Count;
  93. float totalPage = (float)count / dto.PageSize;//总页数
  94. if (totalPage == 0) totalPage = 1;
  95. else totalPage = (int)Math.Ceiling((double)totalPage);
  96. ListViewBase<CustomersView> rst = new ListViewBase<CustomersView>();
  97. rst.DataList = Customers;
  98. rst.DataCount = count;
  99. rst.CurrPageIndex = dto.PageIndex;
  100. rst.CurrPageSize = dto.PageSize;
  101. return result = new Result() { Code = 0, Msg = "查询成功!", Data = rst };
  102. }
  103. else
  104. {
  105. return result = new Result() { Code = -2, Msg = "请传入PortType参数,1 Web 2 Android 3 IOS" };
  106. }
  107. }
  108. catch (Exception ex)
  109. {
  110. return result = new Result() { Code = -2, Msg = "未知错误" };
  111. throw;
  112. }
  113. }
  114. public async Task<Result> CustomersById(CustomersByIdDto dto)
  115. {
  116. Result result = new Result() { Code = -2, Msg = "未知错误" };
  117. try
  118. {
  119. Grp_Customers grp_Customers = _sqlSugar.Queryable<Grp_Customers>().First(a=>a.Id==dto.Id && a.IsDel==0);
  120. CustomersByIdView customersById = _mapper.Map<CustomersByIdView>(grp_Customers);
  121. Grp_CreditCardPayment creditCardPayment = _sqlSugar.Queryable<Grp_CreditCardPayment>().First(a => a.CId == dto.Id && a.IsDel == 0 && a.CTable==82);
  122. customersById = _mapper.Map<CustomersByIdView>(creditCardPayment);
  123. if (customersById != null)
  124. {
  125. Sys_SetData Iid = _sqlSugar.Queryable<Sys_SetData>().First(a => a.IsDel == 0 && a.Id == customersById.Iid);
  126. if (Iid != null) customersById.IidStr = Iid.Name;
  127. Sys_SetData Currency = _sqlSugar.Queryable<Sys_SetData>().First(a => a.IsDel == 0 && a.Id == customersById.Currency);
  128. if (Currency != null) customersById.CurrencyStr = Currency.Name;
  129. Sys_SetData PayDId = _sqlSugar.Queryable<Sys_SetData>().First(a => a.IsDel == 0 && a.Id == customersById.PayDId);
  130. if (PayDId != null) customersById.PayDIdStr = PayDId.Name;
  131. Sys_SetData CTDId = _sqlSugar.Queryable<Sys_SetData>().First(a => a.IsDel == 0 && a.Id == customersById.CTDId);
  132. if (CTDId != null) customersById.CTDIdStr = CTDId.Name;
  133. customersById.OrbitalPrivateTransferStr=customersById.OrbitalPrivateTransfer== 0 ? "公转" : "私转";
  134. customersById.CRemark = creditCardPayment.Remark;
  135. }
  136. return result = new Result() { Code = 0, Msg = "查询成功!",Data= customersById };
  137. }
  138. catch (Exception ex)
  139. {
  140. return result = new Result() { Code = -2, Msg = "未知错误" };
  141. throw;
  142. }
  143. }
  144. }
  145. }