using AutoMapper; using OASystem.Domain; using OASystem.Domain.Entities.Groups; using OASystem.Domain.ViewModels.Financial; using OASystem.Domain.ViewModels.Groups; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OASystem.Infrastructure.Repositories.Financial { /// /// 财务 - 付款信息类 /// 雷怡 2023.08.16 16:19 /// public class CreditCardPaymentRepository : BaseRepository { private readonly IMapper _mapper; public CreditCardPaymentRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar) { _mapper = mapper; } /// /// 根据diid查询团组付款信息 /// /// /// false 未支付 true 已支付 /// public async Task GetGroupPaymentInfoByDiid(int diid,bool isPay) { Result result = new() { Code = -2 }; int _isPay = 0; if (isPay) { _isPay = 1; } string sql = string.Format(@"Select * From Grp_CreditCardPayment Where IsDel=0 And Diid={0} And IsPay={1}", diid, _isPay); var groupReceivablesList = await _sqlSugar.SqlQueryable(sql).ToListAsync(); result.Code = 0; result.Msg = "查询成功!"; result.Data = groupReceivablesList; return result; } /// /// 根据diid 数组 查询团组付款信息 /// /// /// false 未支付 true 已支付 /// public async Task GetGroupPaymentInfoByDiids(int[] diids, bool isPay) { Result result = new() { Code = -2 }; int _isPay = 0; if (isPay) { _isPay = 1; } var groupReceivablesList = await _sqlSugar.Queryable() .Where(ccp => ccp.IsDel == 0 && diids.Contains(ccp.DIId) && ccp.IsPay == _isPay) .ToListAsync(); result.Code = 0; result.Msg = "查询成功!"; result.Data = groupReceivablesList; return result; } /// /// 团组 其他款项/退款 /// /// 团组Id /// /// public async Task GetGroupRefundByDiid(int diid, bool isPay) { Result result = new() { Code = -2 }; int _isPay = 0; if (isPay) { _isPay = 1; } string sql = string.Format(@"Select ccp.DIId,ccp.CreateUserId,ccp.AuditGMDate,sd1.name As PayType,ccp.OrbitalPrivateTransfer,ccp.PayDid, ccp.payee,ccp.IsPay,gdp.CreateTime,gdp.PriceName,gdp.Price,sd.[Name] Currency, ccp.PayMoney As Spread,ccp.DayRate,gdp.Remark From Fin_OtherPrice gdp join Grp_CreditCardPayment ccp On ccp.Diid = gdp.Diid and ccp.Cid = gdp.Id join Sys_SetData sd On sd.Id =gdp.CurrencyId join Sys_SetData sd1 On sd1.id=ccp.PayDid Where ccp.DIId={0} And gdp.IsDel = 0 and ccp.isDel=0 and ccp.CTable=285 and ccp.IsPay = {1} ", diid, _isPay); var groupRefundList = await _sqlSugar.SqlQueryable(sql).ToListAsync(); result.Code = 0; result.Msg = "查询成功!"; result.Data = groupRefundList; return result; } /// /// 团组 根据diid 数组 查询 其他款项/退款 /// /// 团组Id /// /// public async Task GetGroupRefundByDiids(int[] diids, bool isPay) { Result result = new() { Code = -2 }; int _isPay = 0; if (isPay) { _isPay = 1; } string _diidsStr = string.Empty; #region 处理Diid StringBuilder diidSb = new StringBuilder(); for (int i = 0; i < diids.Length; i++) { if (i == diids.Length - 1) { diidSb.Append(diids[i]); } else { diidSb.Append(diids[i]).Append(","); } } _diidsStr = diidSb.ToString().Trim(); #endregion string sql = string.Format(@"Select ccp.DIId,ccp.CreateUserId,ccp.AuditGMDate,sd1.name As PayType,ccp.OrbitalPrivateTransfer,ccp.PayDid, ccp.payee,ccp.IsPay,gdp.CreateTime,gdp.PriceName,gdp.Price,sd.[Name] Currency, ccp.PayMoney As Spread,ccp.DayRate,gdp.Remark From Fin_OtherPrice gdp join Grp_CreditCardPayment ccp On ccp.Diid = gdp.Diid and ccp.Cid = gdp.Id join Sys_SetData sd On sd.Id =gdp.CurrencyId join Sys_SetData sd1 On sd1.id=ccp.PayDid Where ccp.isDel=0 And gdp.IsDel = 0 And ccp.DIId In ({0}) And ccp.CTable=285 and ccp.IsPay = {1} ", _diidsStr, _isPay); var groupRefundList = await _sqlSugar.SqlQueryable(sql).ToListAsync(); result.Code = 0; result.Msg = "查询成功!"; result.Data = groupRefundList; return result; } } }