using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Models;
using System.Data.SqlClient;
using System.Data;
namespace DAL
{
///
/// 邀请/公务活动多表联查数据访问类
///
public class ViewInvitationOfficialActivitiesPayService
{
///
/// 查询所有
///
/// sql语句
/// 可变参数数组
/// 返回集合
List excuteSql(string sql, params SqlParameter[] param)
{
return ServiceBase.excuteSql(new ViewInvitationOfficialActivitiesPay(), "ViewInvitationOfficialActivitiesPay", sql, CommandType.Text, param);
}
///
/// 获取单个对象
///
/// sql语句
/// 可变参数数组
/// 返回空或者单个对象
ViewInvitationOfficialActivitiesPay excuteType(string sql, params SqlParameter[] param)
{
//查询结果放入对象集合
List ctggdList = excuteSql(sql, param);
//判断集合是否为空
if (ctggdList == null || ctggdList.Count == 0)
//返回null
return null;
//返回单个对象
return ctggdList[0];
}
///
/// 根据编号查询对象信息
///
/// 对象编号
/// 返回空或者单个对象信息
public ViewInvitationOfficialActivitiesPay GetViewInvitationOfficialActivitiesPayByID(int id)
{
//调用获取单个对象的方法
return excuteType("select * from ViewInvitationOfficialActivitiesPay where Id = @id and IsDel = 0", new SqlParameter("@id", id));
}
///
/// 获取全部
///
///
public List GetAll()
{
return excuteSql("select * from ViewInvitationOfficialActivitiesPay where IsDel = 0");
}
///
/// 根据编号查询对象信息
///
/// 对象编号
/// 返回空或者对象信息
public List GetByDIId1(int DIId)
{
//调用获取单个对象的方法
//return excuteSql("select ccp.RMBPrice,ioa.OperatorDate,ioa.InviterArea,ioa.Inviter,ioa.InviteTime,sd.[Name],ioa.InviteCosts,ioa.Currency,ccp.PayMoney,ccp.DayRate,ioa.remark from InvitationOfficialActivities ioa join CreditCardPayment ccp on ccp.Diid = ioa.Diid and ccp.Cid = ioa.Id join SetData sd on sd.Id =ioa.Currency where ioa.DIID = @DIId and ioa.IsDel = 0 and ccp.CTable = 81 and ccp.IsPay = 1", new SqlParameter("@DIId", DIId));
//去除ispay=1条件
return excuteSql("select ioa.SendCost,ioa.EventsCost,ioa.TranslateCost,ccp.IsMatchCreditCard,ccp.Operator,ccp.AuditGMDate,sd1.name as PaydName,ccp.OrbitalPrivateTransfer," +
"ccp.PayDid,ccp.payee,ccp.ispay,ccp.RMBPrice,ioa.OperatorDate,ioa.InviterArea,ioa.Inviter,ioa.InviteTime,sd.[Name],ioa.InviteCosts," +
"ioa.Currency,ccp.PayMoney,ccp.DayRate,ioa.remark from InvitationOfficialActivities ioa join CreditCardPayment ccp on ccp.Diid = ioa.Diid " +
"and ccp.Cid = ioa.Id join SetData sd on sd.Id =ioa.Currency join setdata sd1 on sd1.id=ccp.PayDid where ioa.DIID = @DIId and ioa.IsDel = 0 " +
"and ccp.CTable = 81 and ccp.IsAuditGM <> 2 and ccp.isDel=0", new SqlParameter("@DIId", DIId));
}
///
/// 根据编号查询对象信息
///
/// 对象编号
/// 返回空或者对象信息
public List GetByDIId(int DIId)
{
//调用获取单个对象的方法
//return excuteSql("select ccp.RMBPrice,ioa.OperatorDate,ioa.InviterArea,ioa.Inviter,ioa.InviteTime,sd.[Name],ioa.InviteCosts,ioa.Currency,ccp.PayMoney,ccp.DayRate,ioa.remark from InvitationOfficialActivities ioa join CreditCardPayment ccp on ccp.Diid = ioa.Diid and ccp.Cid = ioa.Id join SetData sd on sd.Id =ioa.Currency where ioa.DIID = @DIId and ioa.IsDel = 0 and ccp.CTable = 81 and ccp.IsPay = 1", new SqlParameter("@DIId", DIId));
//去除ispay=1条件
return excuteSql("select ioa.SendCost,ioa.EventsCost,ioa.TranslateCost,ccp.IsMatchCreditCard,ccp.Operator,ccp.AuditGMDate,sd1.name as PaydName,ccp.OrbitalPrivateTransfer," +
"ccp.PayDid, ccp.payee, ccp.ispay, ccp.RMBPrice, ioa.OperatorDate, ioa.InviterArea, ioa.Inviter, ioa.InviteTime, sd.[Name], sd3.[Name] as SendCurrency, sd4.[Name] as EventsCurrency," +
" sd5.[Name] as TranslateCurrency, ioa.InviteCosts,ccp.PaymentCurrency as Currency, ccp.PayMoney, ccp.DayRate, ioa.remark from InvitationOfficialActivities ioa join CreditCardPayment " +
"ccp on ccp.Diid = ioa.Diid and ccp.Cid = ioa.Id left join SetData sd on sd.Id = ioa.Currency join setdata sd1 on sd1.id = ccp.PayDid left join setdata sd3 on sd3.id = ioa.SendCurrency left join " +
"setdata sd4 on sd4.id = ioa.EventsCurrency left join setdata sd5 on sd5.id = ioa.TranslateCurrency where ioa.DIID = @DIId and ioa.IsDel = 0 and ccp.CTable = 81 and (ccp.IsAuditGM=1 or ccp.IsAuditGM=3) and ccp.isDel = 0", new SqlParameter("@DIId", DIId));
}
}
}