using AutoMapper; using OASystem.Domain; using OASystem.Domain.Entities.Groups; using OASystem.Domain.ViewModels.Groups; using OASystem.Infrastructure.Tools; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OASystem.Infrastructure.Repositories.Groups { /// /// 接团客户名单 /// 仓库 /// public class TourClientListRepository :BaseRepository { private readonly Result _result; private readonly IMapper _mapper; public TourClientListRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar) { _result = new Result() { Code = -1, Msg = "操作失败!" }; _mapper = mapper; } /// /// 根据团组Id查询List /// /// /// /// public async Task _ItemByDiId(int portId, int diId) { if (portId == 1 || portId == 2 || portId == 3 ) // 1 web 2 Android 3 ios { string sql = string.Format(@"Select tcl.Id,tcl.DiId,temp.* From Grp_TourClientList tcl Left Join (Select dc.Id As DcId,dc.LastName,dc.FirstName,ccom.CompanyFullName,dc.Job,cc.CertNo As IDCardNo,dc.Sex From Crm_DeleClient dc Left Join Crm_CustomerCompany ccom On dc.CrmCompanyId = ccom.Id And ccom.IsDel = 0 Left Join Crm_CustomerCert cc On dc.Id = cc.DcId And cc.SdId = 773 And cc.IsDel = 0 Where dc.IsDel = 0) temp On temp.DcId =tcl.ClientId Where tcl.IsDel = 0 And tcl.DiId = {0}", diId); var data = await _sqlSugar.SqlQueryable(sql).ToListAsync(); _result.Code = 0; _result.Data = data; } else { _result.Msg = "请传入有效的PortType参数,1 Web 2 Android 3 IOS!"; } return _result; } /// /// 基础数据 Init /// /// /// public async Task _BasicDataInit(int portId) { if (portId == 1 || portId == 2 || portId == 3) // 1 web 2 Android 3 ios { var setData = await _sqlSugar.Queryable().Where(it => it.IsDel == 0) .ToListAsync(); var shippingSpaceTypeData = setData.Where(it => it.STid == 44).ToList(); //舱位类型 List _ShippingSpaceTypeData = _mapper.Map>(shippingSpaceTypeData); var passportTypeData = setData.Where(it => it.STid == 74).ToList(); //护照类型 List _PassportTypeData = _mapper.Map>(passportTypeData); var _view = new { ShippingSpaceTypeData = _ShippingSpaceTypeData, PassportTypeData = _PassportTypeData }; _result.Code = 0; _result.Data = _view; } else { _result.Msg = "请传入有效的PortType参数,1 Web 2 Android 3 IOS!"; } return _result; } /// /// 根据Id查询Details /// /// /// /// public async Task _Details(int portId, int id) { if (portId == 1 || portId == 2 || portId == 3) // 1 web 2 Android 3 ios { string sql = string.Format(@"Select tcl.Id,tcl.DiId,temp.*,tcl.ShippingSpaceTypeId,tcl.ShippingSpaceSpecialNeeds, tcl.HotelSpecialNeeds,tcl.MealSpecialNeeds,tcl.Remark From Grp_TourClientList tcl Left Join (Select dc.Id As DcId,dc.LastName,dc.FirstName,dc.Pinyin,dc.Sex,ccom.CompanyFullName,dc.Job, cc1.CertNo As IDCardNo,dc.Phone,dc.BirthDay,cc2.PassportType,cc2.CertNo As PassportNo,cc2.Country, cc2.Area,cc2.IssueDt,cc2.ExpiryDt From Crm_DeleClient dc Left Join Crm_CustomerCompany ccom On dc.CrmCompanyId = ccom.Id And ccom.IsDel = 0 Left Join Crm_CustomerCert cc1 On dc.Id = cc1.DcId And cc1.SdId = 773 And cc1.IsDel = 0 Left Join Crm_CustomerCert cc2 On dc.Id = cc2.DcId And cc2.SdId = 774 And cc2.IsDel = 0 Where dc.IsDel = 0) temp On temp.DcId =tcl.ClientId Where tcl.IsDel = 0 And tcl.Id = {0}", id); var data = await _sqlSugar.SqlQueryable(sql).FirstAsync(); if (data != null) { data.BirthDay = data.BirthDay.DateFormat("yyyy-MM-dd"); data.IssueDt = data.IssueDt.DateFormat("yyyy-MM-dd"); data.ExpiryDt = data.ExpiryDt.DateFormat("yyyy-MM-dd"); _result.Code = 0; _result.Data = data; } } else { _result.Msg = "请传入有效的PortType参数,1 Web 2 Android 3 IOS!"; } return _result; } /// /// Add Or Edit /// /// /// /// public async Task _AddOrEdit(int portId, int id) { if (portId == 1 || portId == 2 || portId == 3) // 1 web 2 Android 3 ios { string sql = string.Format(@"Select tcl.Id,tcl.DiId,temp.*,tcl.ShippingSpaceTypeId,tcl.ShippingSpaceSpecialNeeds, tcl.HotelSpecialNeeds,tcl.MealSpecialNeeds,tcl.Remark From Grp_TourClientList tcl Left Join (Select dc.Id As DcId,dc.LastName,dc.FirstName,dc.Pinyin,dc.Sex,ccom.CompanyFullName,dc.Job, cc1.CertNo As IDCardNo,dc.Phone,dc.BirthDay,cc2.PassportType,cc2.CertNo As PassportNo,cc2.Country, cc2.Area,cc2.IssueDt,cc2.ExpiryDt From Crm_DeleClient dc Left Join Crm_CustomerCompany ccom On dc.CrmCompanyId = ccom.Id And ccom.IsDel = 0 Left Join Crm_CustomerCert cc1 On dc.Id = cc1.DcId And cc1.SdId = 773 And cc1.IsDel = 0 Left Join Crm_CustomerCert cc2 On dc.Id = cc2.DcId And cc2.SdId = 774 And cc2.IsDel = 0 Where dc.IsDel = 0) temp On temp.DcId =tcl.ClientId Where tcl.IsDel = 0 And tcl.Id = {0}", id); var data = await _sqlSugar.SqlQueryable(sql).FirstAsync(); if (data != null) { data.BirthDay = data.BirthDay.DateFormat("yyyy-MM-dd"); data.IssueDt = data.IssueDt.DateFormat("yyyy-MM-dd"); data.ExpiryDt = data.ExpiryDt.DateFormat("yyyy-MM-dd"); _result.Code = 0; _result.Data = data; } } else { _result.Msg = "请传入有效的PortType参数,1 Web 2 Android 3 IOS!"; } return _result; } } }