where+=string.Format(" AND A."+nameof(RB_Finance.Status)+" in({0})",((int)FinanceAuditStatus.CTemporary+","+(int)FinanceAuditStatus.InReview+","+(int)FinanceAuditStatus.Pass));
//营收报表
if(!string.IsNullOrEmpty(model.TCIDStr))
{
where+=string.Format(" AND tfr.TCID in("+model.TCIDStr+")");
}
if(model.TCID.HasValue&&model.TCID>0)
{
where+=string.Format(" AND tfr.TCID ="+model.TCID);
}
//简易报表
if(model.sAduitDate.HasValue)
{
where+=string.Format(" AND A."+nameof(RB_Finance.TradeDate)+">='{0}'",model.sAduitDate);
}
if(model.eAduitDate.HasValue)
{
where+=string.Format(" AND A."+nameof(RB_Finance.TradeDate)+"<='{0} 23:59:59'",model.eAduitDate);
}
if(model.RB_Branch_Id>=0)
{
where+=string.Format(" AND A."+nameof(RB_Finance.RB_Branch_Id)+"={0}",model.RB_Branch_Id);
}
if(model.OrderSource.HasValue)
{
where+=string.Format(" AND A."+nameof(RB_Finance.OrderSource)+"={0}",(int)model.OrderSource);
where.Append(" AND case when b.Type=2 then b.CreateDate>='"+model.sAduitDate.Value.ToString("yyyy-MM-dd")+"' and b.CreateDate<='"+model.eAduitDate.Value.ToString("yyyy-MM-dd")+" 23:59:59' else b.TradeDate>='"+model.sAduitDate.Value.ToString("yyyy-MM-dd")+"' and b."+nameof(RB_Finance.TradeDate)+"<='"+model.eAduitDate.Value.ToString("yyyy-MM-dd")+" 23:59:59' end");
}
elseif(model.sAduitDate.HasValue)
{
where.Append(" AND case when b.Type=2 then b."+nameof(RB_Finance.CreateDate)+">='"+model.sAduitDate.Value.ToString("yyyy-MM-dd")+"' else b."+nameof(RB_Finance.TradeDate)+">='"+model.sAduitDate.Value.ToString("yyyy-MM-dd")+"' end");
}
elseif(model.eAduitDate.HasValue)
{
where.Append(" AND case when b.Type=2 then b."+nameof(RB_Finance.CreateDate)+"<='"+model.eAduitDate.Value.ToString("yyyy-MM-dd")+" 23:59:59' else b."+nameof(RB_Finance.TradeDate)+"<='"+model.eAduitDate.Value.ToString("yyyy-MM-dd")+" 23:59:59' end");
}
if(model.RB_Branch_Id>=0)
{
where.Append(" AND b."+nameof(RB_Finance.RB_Branch_Id)+"="+model.RB_Branch_Id+"");
}
if(model.RB_Group_Id>0)
{
where.Append(" AND b."+nameof(RB_Finance.RB_Group_Id)+"="+model.RB_Group_Id+"");
}
if(!string.IsNullOrEmpty(model.TCIDStr))
{
where.Append(" and E.TCID in("+model.TCIDStr+")");
}
if(model.TCID==-1)
{
where.Append(" and IFNULL(E.TCID,0)=0");
}
if(model.OrderSource.HasValue)
{
where.Append(" and IFNULL(b.OrderSource,0)!="+(int)model.OrderSource);
}
if(model.Is_TCID==1)
{
where.Append(" and IFNULL(b.OrderSource,0) not in("+(int)OrderResourceEnum.BulkAirTicket+","+(int)OrderResourceEnum.DomesticTicket+","+(int)OrderResourceEnum.TicketService+","+(int)OrderResourceEnum.Visia+")");
}
if(model.Is_ProfitFoHF==1)
{
where.Append($@" And case when td.{nameof(RB_TradeWay.Type)}={(int)BranchAccountEnum.CashPool} then td.AccountId not in (14,15,19,20,21,22,23) else 1=1 end ");//日本 老挝地接部专户
}
builder.AppendFormat(@"select distinct b.FrID,IFNULL(b.MatchMoney,0) as MatchMoney,IFNULL(E.TCID,0)TCID,D.Name,b.Status,b.TradeDate,b.CreateDate,b.RB_Branch_Id,a.ID,a.CostTypeId,IFNULL(b.Is_Cashier,0)Is_Cashier,a.Money,b.OrderID,b.OrderSource,b.SourceID,IFNULL(b.PayMoney,0)PayMoney,IFNULL(b.Fee,0)Fee,b.Type
from rb_financedetail a INNER JOIN rb_finance as b on a.FinanceId=b.FrID and a.`Status`=0
INNER JOIN rb_costtype AS D ON D.ID=a.CostTypeId
LEFT JOIN rb_tradeway as td ON b.FrID=td.FinanceId
LEFT JOIN rb_travel_finance_relation as E ON A.FinanceId=E.FinanceId where 1=1 "+where);
returnGet<RB_Finance_Extend>(builder.ToString()+" ORDER BY b.FrID DESC ").ToList();