TourClientListRepository.cs 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. using AutoMapper;
  2. using OASystem.Domain;
  3. using OASystem.Domain.Entities.Groups;
  4. using OASystem.Domain.ViewModels.Groups;
  5. using OASystem.Infrastructure.Tools;
  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. /// 仓库
  16. /// </summary>
  17. public class TourClientListRepository :BaseRepository<Grp_TourClientList,TourClientListView>
  18. {
  19. private readonly Result _result;
  20. private readonly IMapper _mapper;
  21. public TourClientListRepository(SqlSugarClient sqlSugar, IMapper mapper)
  22. : base(sqlSugar)
  23. {
  24. _result = new Result() { Code = -1, Msg = "操作失败!" };
  25. _mapper = mapper;
  26. }
  27. /// <summary>
  28. /// 根据团组Id查询List
  29. /// </summary>
  30. /// <param name="portId"></param>
  31. /// <param name="diId"></param>
  32. /// <returns></returns>
  33. public async Task<Result> _ItemByDiId(int portId, int diId)
  34. {
  35. if (portId == 1 || portId == 2 || portId == 3 ) // 1 web 2 Android 3 ios
  36. {
  37. string sql = string.Format(@"Select tcl.Id,tcl.DiId,temp.* From Grp_TourClientList tcl
  38. Left Join
  39. (Select dc.Id As DcId,dc.LastName,dc.FirstName,ccom.CompanyFullName,dc.Job,cc.CertNo As IDCardNo,dc.Sex
  40. From Crm_DeleClient dc
  41. Left Join Crm_CustomerCompany ccom On dc.CrmCompanyId = ccom.Id And ccom.IsDel = 0
  42. Left Join Crm_CustomerCert cc On dc.Id = cc.DcId And cc.SdId = 773 And cc.IsDel = 0
  43. Where dc.IsDel = 0) temp
  44. On temp.DcId =tcl.ClientId
  45. Where tcl.IsDel = 0 And tcl.DiId = {0}", diId);
  46. var data = await _sqlSugar.SqlQueryable<TourClientListByDiIdView>(sql).ToListAsync();
  47. _result.Code = 0;
  48. _result.Data = data;
  49. }
  50. else
  51. {
  52. _result.Msg = "请传入有效的PortType参数,1 Web 2 Android 3 IOS!";
  53. }
  54. return _result;
  55. }
  56. /// <summary>
  57. /// 基础数据 Init
  58. /// </summary>
  59. /// <param name="portId"></param>
  60. /// <returns></returns>
  61. public async Task<Result> _BasicDataInit(int portId)
  62. {
  63. if (portId == 1 || portId == 2 || portId == 3) // 1 web 2 Android 3 ios
  64. {
  65. var setData = await _sqlSugar.Queryable<Sys_SetData>().Where(it => it.IsDel == 0) .ToListAsync();
  66. var shippingSpaceTypeData = setData.Where(it => it.STid == 44).ToList(); //舱位类型
  67. List<SetDataInfoView> _ShippingSpaceTypeData = _mapper.Map<List<SetDataInfoView>>(shippingSpaceTypeData);
  68. var passportTypeData = setData.Where(it => it.STid == 74).ToList(); //护照类型
  69. List<SetDataInfoView> _PassportTypeData = _mapper.Map<List<SetDataInfoView>>(passportTypeData);
  70. var _view = new {
  71. ShippingSpaceTypeData = _ShippingSpaceTypeData,
  72. PassportTypeData = _PassportTypeData
  73. };
  74. _result.Code = 0;
  75. _result.Data = _view;
  76. }
  77. else
  78. {
  79. _result.Msg = "请传入有效的PortType参数,1 Web 2 Android 3 IOS!";
  80. }
  81. return _result;
  82. }
  83. /// <summary>
  84. /// 根据Id查询Details
  85. /// </summary>
  86. /// <param name="portId"></param>
  87. /// <param name="id"></param>
  88. /// <returns></returns>
  89. public async Task<Result> _Details(int portId, int id)
  90. {
  91. if (portId == 1 || portId == 2 || portId == 3) // 1 web 2 Android 3 ios
  92. {
  93. string sql = string.Format(@"Select tcl.Id,tcl.DiId,temp.*,tcl.ShippingSpaceTypeId,tcl.ShippingSpaceSpecialNeeds,
  94. tcl.HotelSpecialNeeds,tcl.MealSpecialNeeds,tcl.Remark
  95. From Grp_TourClientList tcl
  96. Left Join
  97. (Select dc.Id As DcId,dc.LastName,dc.FirstName,dc.Pinyin,dc.Sex,ccom.CompanyFullName,dc.Job,
  98. cc1.CertNo As IDCardNo,dc.Phone,dc.BirthDay,cc2.PassportType,cc2.CertNo As PassportNo,cc2.Country,
  99. cc2.Area,cc2.IssueDt,cc2.ExpiryDt
  100. From Crm_DeleClient dc
  101. Left Join Crm_CustomerCompany ccom On dc.CrmCompanyId = ccom.Id And ccom.IsDel = 0
  102. Left Join Crm_CustomerCert cc1 On dc.Id = cc1.DcId And cc1.SdId = 773 And cc1.IsDel = 0
  103. Left Join Crm_CustomerCert cc2 On dc.Id = cc2.DcId And cc2.SdId = 774 And cc2.IsDel = 0
  104. Where dc.IsDel = 0) temp
  105. On temp.DcId =tcl.ClientId
  106. Where tcl.IsDel = 0 And tcl.Id = {0}", id);
  107. var data = await _sqlSugar.SqlQueryable<TourClientListDetailsView>(sql).FirstAsync();
  108. if (data != null)
  109. {
  110. data.BirthDay = data.BirthDay.DateFormat("yyyy-MM-dd");
  111. data.IssueDt = data.IssueDt.DateFormat("yyyy-MM-dd");
  112. data.ExpiryDt = data.ExpiryDt.DateFormat("yyyy-MM-dd");
  113. _result.Code = 0;
  114. _result.Data = data;
  115. }
  116. }
  117. else
  118. {
  119. _result.Msg = "请传入有效的PortType参数,1 Web 2 Android 3 IOS!";
  120. }
  121. return _result;
  122. }
  123. /// <summary>
  124. /// Add Or Edit
  125. /// </summary>
  126. /// <param name="portId"></param>
  127. /// <param name="id"></param>
  128. /// <returns></returns>
  129. public async Task<Result> _AddOrEdit(int portId, int id)
  130. {
  131. if (portId == 1 || portId == 2 || portId == 3) // 1 web 2 Android 3 ios
  132. {
  133. string sql = string.Format(@"Select tcl.Id,tcl.DiId,temp.*,tcl.ShippingSpaceTypeId,tcl.ShippingSpaceSpecialNeeds,
  134. tcl.HotelSpecialNeeds,tcl.MealSpecialNeeds,tcl.Remark
  135. From Grp_TourClientList tcl
  136. Left Join
  137. (Select dc.Id As DcId,dc.LastName,dc.FirstName,dc.Pinyin,dc.Sex,ccom.CompanyFullName,dc.Job,
  138. cc1.CertNo As IDCardNo,dc.Phone,dc.BirthDay,cc2.PassportType,cc2.CertNo As PassportNo,cc2.Country,
  139. cc2.Area,cc2.IssueDt,cc2.ExpiryDt
  140. From Crm_DeleClient dc
  141. Left Join Crm_CustomerCompany ccom On dc.CrmCompanyId = ccom.Id And ccom.IsDel = 0
  142. Left Join Crm_CustomerCert cc1 On dc.Id = cc1.DcId And cc1.SdId = 773 And cc1.IsDel = 0
  143. Left Join Crm_CustomerCert cc2 On dc.Id = cc2.DcId And cc2.SdId = 774 And cc2.IsDel = 0
  144. Where dc.IsDel = 0) temp
  145. On temp.DcId =tcl.ClientId
  146. Where tcl.IsDel = 0 And tcl.Id = {0}", id);
  147. var data = await _sqlSugar.SqlQueryable<TourClientListDetailsView>(sql).FirstAsync();
  148. if (data != null)
  149. {
  150. data.BirthDay = data.BirthDay.DateFormat("yyyy-MM-dd");
  151. data.IssueDt = data.IssueDt.DateFormat("yyyy-MM-dd");
  152. data.ExpiryDt = data.ExpiryDt.DateFormat("yyyy-MM-dd");
  153. _result.Code = 0;
  154. _result.Data = data;
  155. }
  156. }
  157. else
  158. {
  159. _result.Msg = "请传入有效的PortType参数,1 Web 2 Android 3 IOS!";
  160. }
  161. return _result;
  162. }
  163. }
  164. }