using System; using System.Collections.Generic; using System.Linq; using System.Text; using Models; using System.Data; using System.Data.SqlClient; namespace DAL { /// /// 签证费用多表联查数据访问类 - 用于Excel /// public class ViewVisaPayService { /// /// 查询所有 /// /// sql语句 /// 可变参数数组 /// 返回集合 List excuteSql(string sql, params SqlParameter[] param) { return ServiceBase.excuteSql(new ViewVisaPay(), "ViewVisaPay", sql, CommandType.Text, param); } /// /// 获取单个对象 /// /// sql语句 /// 可变参数数组 /// 返回空或者单个对象 ViewVisaPay excuteType(string sql, params SqlParameter[] param) { //查询结果放入对象集合 List ctggdList = excuteSql(sql, param); //判断集合是否为空 if (ctggdList == null || ctggdList.Count == 0) //返回null return null; //返回单个对象 return ctggdList[0]; } /// /// 根据编号查询对象信息 /// /// 对象编号 /// 返回空或者单个对象信息 public ViewVisaPay GetViewVisaPayByID(int id) { //调用获取单个对象的方法 return excuteType("select * from ViewVisaPay where Id = @id and IsDel = 0", new SqlParameter("@id", id)); } /// /// 获取全部 /// /// public List GetAll() { return excuteSql("select * from ViewVisaPay where IsDel = 0"); } /// /// 根据编号查询对象信息 /// /// 对象编号 /// 返回空或者对象信息 public List GetByDIId(int DIId) { //调用获取单个对象的方法 //return excuteSql("select v.OperatorDate,ccp.DayRate,ccp.RMBPrice,ccp.PayPercentage,ccp.PayThenMoney,v.VisaClient,sd.[Name],ccp.PayMoney as Spread,v.Remark from Visa v join CreditCardPayment ccp on ccp.Diid = v.Diid and ccp.Cid = v.Id join SetData sd on sd.Id =ccp.PaymentCurrency where v.DIID = @DIId and v.IsDel = 0 and ccp.CTable= 80 and ccp.IsPay = 1", new SqlParameter("@DIId", DIId)); //去除ispay=1条件 return excuteSql("select (select Name from SetData where Id=ccp.CTDId) as CarType,ccp.IsMatchCreditCard,ccp.Operator,ccp.consumptionPatterns,ccp.AuditGMDate,sd1.name as PaydName,ccp.OrbitalPrivateTransfer,ccp.PayDid,ccp.payee,ccp.ispay,v.OperatorDate,ccp.DayRate,ccp.RMBPrice,ccp.PayPercentage,ccp.PayThenMoney,v.VisaClient,sd.[Name],ccp.PayMoney as Spread,v.Remark from Visa v join CreditCardPayment ccp on ccp.Diid = v.Diid and ccp.Cid = v.Id join SetData sd on sd.Id =ccp.PaymentCurrency join setdata sd1 on sd1.id=ccp.PayDid where v.DIID = @DIId and v.IsDel = 0 and ccp.CTable= 80 and ccp.IsAuditGM <> 2 and ccp.isDel=0", new SqlParameter("@DIId", DIId)); } } }