using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using WMS.DBUtility;
using WMS.IData.IBase;
using WMS.IData;
using Oracle.ManagedDataAccess.Client;
using WMS.Model.Base;
namespace WMS.SqlServerData.BaseData
{
public class ProviderData : IProvider
{
///
/// 查询供应商的交互时间
///
///
public DataTable GetProividerGoodsData(string goodsId)
{
string sqlStr =@"select g.PROVIDER_ID,g.PROVIDER_NAME,min(t.GOODS_PRICE)GOODS_PRICE from T_BASE_GOODS_PROVIDER t,T_BASE_PROVIDER_DICTIONARY g
where t.GOODS_ID ='" + goodsId+ "' and g.PROVIDER_ID=t.PROVIDER_ID group by g.PROVIDER_ID,g.PROVIDER_NAME ";
return SystemDataObject.Instance.GetDataTable(sqlStr);
}
#region 查询供应商结果集
///
/// 查询供应商结果集
///
///
///
public DataSet getProviderDS(ProviderModel providerModel)
{
string sql =@"
select
t1.PROVIDER_ID , -- 供应商编号
t1.PROVIDER_NAME , -- 供应商编号
t1.PRO_TYPE_ID , -- 供应商类别编号
t1.ADDRESS , -- 详细地址
t1.LINKMAN , -- 联系人
t1.PHONE , -- 联系人手机
t1.MOBILE , -- 联系电话
t1.FAX , -- 联系传真
t1.EMAIL , -- 邮箱
t1.POSTCODE , -- 邮编编码
t1.BANK , -- 开户银行
t1.ACCOUNT_NAME , -- 账号名称
t1.ACCOUNT , -- 账号
t1.PY_NAME , -- 拼音简称
t1.ARR_DAYS, -- 到货天数
t1.PROVIDER_LEVEL, --供应商等级
t1.REMARK, --备注
t1.NATURE,--性质
t1.WEBSITE,--网站
t1.LEGALMAN,--法人代表
t1.AREA_ID,--所属地址
t1.REGADDRESS,--注册地址
t1.INVOICETITLE,--发票抬头
t1.TAXNUMBER,--税号
t1.PAY_TYPE_ID,--付款方式
t1.INVOICEADDRESS,--发票邮寄地址
t1.RECIPIENT,--收件人
t1.RECPHONE,--收件人电话
t1.RECFAX,--收件人传真
t1.RECEMAIL,--收件人邮箱
t1.VERSION --版本号
from T_BASE_PROVIDER_DICTIONARY t1
where 1 = 1
";
#region 查询条件
if (providerModel != null)
{
//供应商名称
if ((providerModel.PROVIDER_NAME != "") && (providerModel.PROVIDER_NAME != null))
{
sql += " and t1.PROVIDER_NAME LIKE '%" + providerModel.PROVIDER_NAME + "%' ";
}
//联系人
if ((providerModel.LINKMAN != "") && (providerModel.LINKMAN != null))
{
sql += " and t1.LINKMAN LIKE '%" + providerModel.LINKMAN + "%' ";
}
////供应商类别编号
//if ((providerModel.PRO_TYPE_ID != "") && (providerModel.PRO_TYPE_ID != null) && (!"请选择".Equals(providerModel.PRO_TYPE_ID)))
//{
// sql += " and t1.PRO_TYPE_ID = '" + providerModel.PRO_TYPE_ID + "' ";
//}
//供应商编号
if ((providerModel.PROVIDER_ID != "") && (providerModel.PROVIDER_ID != null))
{
sql += " and t1.PROVIDER_ID like '%" + providerModel.PROVIDER_ID + "%' ";
}
}
sql = sql + " order by t1.PROVIDER_ID ";
#endregion
return SystemDataObject.Instance.GetDataSet(sql);
}
#endregion
#region 供应商的新增或修改
///
/// 供应商的新增或修改
///
/// 供应商Model
/// 0: 新增; 1:修改
public void execProviderAddUpdate(ProviderModel providerModel, int flag)
{
//新增
if (0 == flag)
{
string strAddSql = string.Format(@"insert into
T_BASE_PROVIDER_DICTIONARY
(
PROVIDER_ID,--供应商编号 1
PRO_TYPE_ID,--供应商类别编号 2
PROVIDER_NAME,--供应商名称 3
ADDRESS,--详细地址 4
LINKMAN,--联系人 5
PHONE,--联系电话 6
MOBILE,--联系人手机 7
FAX,--联系传真 8
EMAIL,--邮箱 9
POSTCODE,--邮编编码 10
BANK,--开户银行 11
ACCOUNT_NAME,--账号名称 12
ACCOUNT,--账号 13
PY_NAME,--拼音简称 14
ARR_DAYS,--预计到货天数 15
PROVIDER_LEVEL,--供应商等级 16
PERCENTAGE,--合格率 17
REMARK,--备注 18
NATURE,--性质 19
WEBSITE,--网站 20
LEGALMAN,--法人代表 21
AREA_ID,--所属地址 22
REGADDRESS,--注册地址 23
INVOICETITLE,--发票抬头 24
TAXNUMBER,--税号 25
PAY_TYPE_ID,--付款方式 26
INVOICEADDRESS,--发票邮寄地址 27
RECIPIENT,--收件人 28
RECPHONE,--收件人电话 29
RECFAX,--收件人传真 30
RECEMAIL,--收件人邮箱 31
VERSION --版本号 32
)
values('{0}','{1}','{2}','{3}','{4}','{5}','{6}',
'{7}','{8}','{9}','{10}','{11}',
'{12}','{13}',{14},'{15}','{16}','{17}','{18}','{19}',
'{20}','{21}','{22}','{23}','{24}','{25}','{26}',
'{27}','{28}','{29}','{30}','31')", providerModel.PROVIDER_ID,
"PRO_TYPE_ID",
providerModel.PROVIDER_NAME,
providerModel.ADDRESS,
providerModel.LINKMAN,
providerModel.PHONE,
providerModel.MOBILE,
providerModel.FAX,
providerModel.EMAIL,
providerModel.POSTCODE,
providerModel.BANK,
providerModel.ACCOUNT_NAME,
providerModel.ACCOUNT,
providerModel.PY_NAME,
providerModel.ARR_DAYS,
"PROVIDER_LEVEL",
providerModel.PERCENTAGE,
providerModel.REMARK,
providerModel.NATURE,
providerModel.WEBSITE,
providerModel.LEGALMAN,
providerModel.AREA_ID,
providerModel.REGADDRESS,
providerModel.INVOICETITLE,
providerModel.TAXNUMBER,
providerModel.PAY_TYPE_ID,
providerModel.INVOICEADDRESS,
providerModel.RECIPIENT,
providerModel.RECPHONE,
providerModel.RECFAX,
providerModel.RECEMAIL,
providerModel.VERSION
);
SystemDataObject.Instance.ExecuteSql(strAddSql);
}
//修改
else if (1 == flag)
{
string strUpdateSql = string.Format(@"update T_BASE_PROVIDER_DICTIONARY set
PRO_TYPE_ID ='{1}',
PROVIDER_NAME ='{2}',
ADDRESS ='{2}',
LINKMAN ='{4}',
PHONE ='{5}',
MOBILE ='{6}',
FAX ='{7}',
EMAIL ='{8}',
POSTCODE ='{9}',
BANK ='{10}',
ACCOUNT_NAME ='{11}',
ACCOUNT ='{12}',
PY_NAME ='{13}',
ARR_DAYS ='{14}',
PROVIDER_LEVEL ='{15}',
PERCENTAGE ='{16}',
REMARK ='{17}',
NATURE ='{18}',
WEBSITE ='{19}',
LEGALMAN ='{20}',
AREA_ID ='{21}',
REGADDRESS ='{22}',
INVOICETITLE ='{23}',
TAXNUMBER ='{24}',
PAY_TYPE_ID ='{25}',
INVOICEADDRESS ='{26}',
RECIPIENT ='{27}',
RECPHONE ='{28}',
RECFAX ='{29}',
RECEMAIL ='{30}',
VERSION ='{31}'
where PROVIDER_ID ='{0}'"
, providerModel.PROVIDER_ID,
"PRO_TYPE_ID",
providerModel.PROVIDER_NAME,
providerModel.ADDRESS,
providerModel.LINKMAN,
providerModel.PHONE,
providerModel.MOBILE,
providerModel.FAX,
providerModel.EMAIL,
providerModel.POSTCODE,
providerModel.BANK,
providerModel.ACCOUNT_NAME,
providerModel.ACCOUNT,
providerModel.PY_NAME,
providerModel.ARR_DAYS,
"PROVIDER_LEVEL",
providerModel.PERCENTAGE,
providerModel.REMARK,
providerModel.NATURE,
providerModel.WEBSITE,
providerModel.LEGALMAN,
providerModel.AREA_ID,
providerModel.REGADDRESS,
providerModel.INVOICETITLE,
providerModel.TAXNUMBER,
providerModel.PAY_TYPE_ID,
providerModel.INVOICEADDRESS,
providerModel.RECIPIENT,
providerModel.RECPHONE,
providerModel.RECFAX,
providerModel.RECEMAIL,
providerModel.VERSION );
SystemDataObject.Instance.ExecuteSql(strUpdateSql);
}
}
#endregion
#region 删除供应商
///
/// 删除供应商
///
///
public void execProviderDel(ProviderModel providerModel)
{
string strDel = string.Format(@" delete T_BASE_PROVIDER_DICTIONARY where PROVIDER_ID='{0}'", providerModel.PROVIDER_ID);
SystemDataObject.Instance.ExecuteSql(strDel);
}
#endregion
}
}