VisitingClientsRepository.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. using AutoMapper;
  2. using OASystem.Domain;
  3. using OASystem.Domain.Dtos.Statistics;
  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. /// <summary>
  14. /// 客户拜访 仓储
  15. /// </summary>
  16. public class VisitingClientsRepository : BaseRepository<Grp_VisitingClients, VisitingClientsView>
  17. {
  18. private readonly IMapper _mapper;
  19. private readonly JsonView _view;
  20. public VisitingClientsRepository(SqlSugarClient sqlSugar, IMapper mapper)
  21. : base(sqlSugar)
  22. {
  23. _mapper = mapper;
  24. _view = new JsonView() { Code = StatusCodes.Status400BadRequest, Msg = BusStatusCode.Failed.GetEnumDescription() };
  25. }
  26. /// <summary>
  27. /// 获取客户拜访列表
  28. /// </summary>
  29. /// <param name="portType"></param>
  30. /// <param name="pageIndex"></param>
  31. /// <param name="pageSize"></param>
  32. /// <param name="diId"></param>
  33. /// <param name="search"></param>
  34. /// <returns></returns>
  35. public async Task<JsonView> _List(int portType,int pageIndex, int pageSize,int diId,string search)
  36. {
  37. if (portType ==1 || portType == 2 || portType == 3)
  38. {
  39. string sql = string.Format(@$"Select
  40. ROW_NUMBER() Over(Order By BeginDt Asc) As RowNumber,
  41. vc.Id,
  42. vc.BeginDt,
  43. vc.EndDt,
  44. vc.CustomerUnit,
  45. vc.CustomerJob,
  46. vc.CustomerName,
  47. vc.CustomerContact,
  48. u.CnName As Operator,
  49. vc.CreateTime As OperationDt
  50. From Grp_VisitingClients vc
  51. Left Join Sys_Users u On vc.CreateUserId = u.Id
  52. Where vc.Isdel = 0 And vc.DiId = {diId}");
  53. RefAsync<int > total = 0;
  54. var data = await _sqlSugar.SqlQueryable<VisitingClientsListView>(sql).ToPageListAsync(pageIndex, pageSize, total);
  55. _view.Code = StatusCodes.Status200OK;
  56. _view.Msg = MsgTips.Succeed;
  57. _view.Data = data;
  58. _view.Count = total;
  59. }
  60. return _view;
  61. }
  62. /// <summary>
  63. /// 团组客户拜访 Add Or Edit
  64. /// </summary>
  65. /// <param name="_dto"></param>
  66. /// <returns></returns>
  67. public async Task<JsonView> _AddOrEdit(MarketingSalesVCOperrateDto _dto)
  68. {
  69. var info = _mapper.Map<Grp_VisitingClients>(_dto);
  70. if (_dto.PortType == 1 || _dto.PortType == 2 || _dto.PortType == 3)
  71. {
  72. if (info.Id > 0) //编辑
  73. {
  74. var update = await _sqlSugar.Updateable(info).IgnoreColumns(it => new { it.CreateTime, it.CreateUserId, it.DeleteUserId, it.DeleteTime, it.IsDel }).ExecuteCommandAsync();
  75. if (update <= 0) return new JsonView() { Code = (int)BusStatusCode.UpdateFailed, Msg = BusStatusCode.UpdateFailed.GetEnumDescription() };
  76. }
  77. else //新增
  78. {
  79. info.CreateUserId = _dto.UserId;
  80. var add = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
  81. if (add <= 0) return new JsonView() { Code = (int)BusStatusCode.AddFailed, Msg = BusStatusCode.AddFailed.GetEnumDescription() };
  82. }
  83. return new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };
  84. }
  85. else return new JsonView() { Code = (int)BusStatusCode.PortTypeError, Msg = BusStatusCode.PortTypeError.GetEnumDescription() };
  86. }
  87. public async Task<JsonView> _Save(MarketingSalesVCSaveDto _dto)
  88. {
  89. var infos = _mapper.Map<List<Grp_VisitingClients>>(_dto.Items);
  90. if (_dto.PortType == 1 || _dto.PortType == 2 || _dto.PortType == 3)
  91. {
  92. if (infos.Count > 0)
  93. {
  94. infos.ForEach(it => {
  95. it.CreateUserId = _dto.UserId;
  96. });
  97. int diid = infos[0].DiId;
  98. int userId = _dto.UserId;
  99. if (diid < 1) return new JsonView() { Code = (int)BusStatusCode.DiIdValueError, Msg = BusStatusCode.DiIdValueError.GetEnumDescription() };
  100. if (userId < 1) return new JsonView() { Code = (int)BusStatusCode.UserIdValueError, Msg = BusStatusCode.UserIdValueError.GetEnumDescription() };
  101. //执行逻辑删除
  102. var update = await _sqlSugar.Updateable<Grp_VisitingClients>()
  103. .SetColumns(it => new Grp_VisitingClients() { IsDel = 1, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), DeleteUserId = userId })
  104. .Where(it => it.DiId == diid)
  105. .ExecuteCommandAsync();
  106. //执行添加
  107. var add = await _sqlSugar.Insertable(infos).ExecuteCommandAsync();
  108. if (add > 0) return new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };
  109. }
  110. else new JsonView() { Code = (int)BusStatusCode.ItemsNotFound, Msg = BusStatusCode.ItemsNotFound.GetEnumDescription() };
  111. }
  112. else return new JsonView() { Code = (int)BusStatusCode.PortTypeError, Msg = BusStatusCode.PortTypeError.GetEnumDescription() };
  113. return new JsonView() { Code = (int)BusStatusCode.Failed, Msg = BusStatusCode.Failed.GetEnumDescription() };
  114. }
  115. /// <summary>
  116. /// 团组客户拜访 del
  117. /// </summary>
  118. /// <param name="id"></param>
  119. /// <param name="userId"></param>
  120. /// <returns></returns>
  121. public async Task<JsonView> _Del(int id, int userId)
  122. {
  123. var info = new Grp_VisitingClients() { Id = id, IsDel = 1, DeleteUserId = userId, DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")};
  124. var update = await _sqlSugar.Updateable(info)
  125. .UpdateColumns(it => new { it.IsDel, it.DeleteUserId, it.DeleteTime })
  126. .WhereColumns(it => it.Id)
  127. .ExecuteCommandAsync();
  128. if (update <= 0) return new JsonView() { Code = (int)BusStatusCode.DeleteFailed, Msg = BusStatusCode.DeleteFailed.GetEnumDescription() };
  129. return new JsonView() { Code = (int)BusStatusCode.Success, Msg = BusStatusCode.Success.GetEnumDescription() };
  130. }
  131. }
  132. }