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));
}
}
}