using System.Text;
using System.Configuration.Provider;
using System.Configuration;
using System.Web.Configuration;
using System.Data;
using System.Data.SqlClient;
using Oracle.ManagedDataAccess.Client;
namespace WMS.IData
{
///
/// 数据提供者抽象类,其他提供者继承此类
///
public abstract class DataProvider : ProviderBase
{
///
/// 用户编号
///
// public string userNumber = string.Empty;
///
/// 日志记录类,根据当前sql语句或者存储过程进行日志记录
///
public WMS.Model.Base.LogDataModel logData
{
get { lock ("Log") { return SystemDataObject.Instance.logModel; } }
}
private OracleTransaction tran;
public OracleTransaction TranOracle
{
get
{
if (tran == null || tran.Connection == null)
{
tran = WMS.DBUtility.OracleHelper.BeginTransaction();
}
return tran;
}
}
private static DataProvider provider;
private static DataProviderCollection providers;
private static object _lock = new object();
#region DataProvider
///
/// 通过Singleton模式返回当前数据访问层实例
///
public static DataProvider Instance
{
get
{
if (provider == null)
{
lock (_lock)
{
if (provider == null)
{
// provider = new SqlProvider ();//互相引用不建议
//获取配置文件中的WMS/dataProvider节
DataProviderSection section = (DataProviderSection)ConfigurationManager.GetSection("WMS/dataProvider");
//实例化一个数据提供者集合
providers = new DataProviderCollection();
//读取配置文件中提供的所有数据提供者信息
ProvidersHelper.InstantiateProviders(section.Providers, providers, typeof(DataProvider));
//获取当前默认的数据提供者
provider = providers[section.DefaultProvider];//实例化
//如果获取失败则抛出异常
if (provider == null)
throw new ProviderException("获取默认数据提供者失败");
}
}
}
return provider;
}
}
#endregion
#region 日志的提供类 ErrorLogInsert
///
/// 日志类,主要对日志信息进行查询,删除
///
public abstract WMS.IData.IBase.ILogBaseData ErrLog
{
get;
}
#endregion
public abstract WMS.IData.IBase.IDecStsData DecStsData
{
get;
}
public abstract WMS.IData.ICommon.ICommon Common
{
get;
}
public abstract ITest Test
{
get;
}
#region 菜单窗体
///
/// 菜单窗体
///
public abstract WMS.IData.IBase.ISystemMenu SystemMenu
{
get;
}
#endregion
#region 窗体权限
///
/// 菜单窗体
///
public abstract WMS.IData.IBase.ISystemMenuFuc SystemMenuFuc
{
get;
}
#endregion
#region 供应商类型
///
/// 供应商类型
///
public abstract WMS.IData.IBase.IProvederType ProvederType
{
get;
}
#endregion
#region 供应商
///
/// 供应商
///
public abstract WMS.IData.IBase.IProvider Provider
{
get;
}
#endregion
#region 字典
///
/// 字典明细
///
public abstract WMS.IData.ISystemManage.IDictionaryTab DictionaryTab
{
get;
}
///
/// 字典类型
///
public abstract WMS.IData.ISystemManage.IDictionaryType DictionaryType
{
get;
}
#endregion
#region 托盘信息
//托盘
public abstract WMS.IData.IBase.IPallet Pallet
{
get;
}
//托盘状态
public abstract WMS.IData.IBase.IPalletStatus PalletStatus
{
get;
}
//托盘/容器明细
public abstract WMS.IData.IBase.IBaseCtlGoods BaseCtlGoods
{
get;
}
#endregion
#region 商品分类
///
/// 商品分类
///
public abstract IData.IBase.IGoodsType GoodsType
{
get;
}
#endregion
#region 仓库管理
///
/// 仓库分类
///
public abstract WMS.IData.IBase.IStorageType StorageType
{
get;
}
///
/// 仓库信息
///
public abstract WMS.IData.IBase.IStorageInfo StorageInfo
{
get;
}
///
/// 库区信息
///
public abstract WMS.IData.IBase.IStorageArea StorageArea
{
get;
}
///
/// 库位信息
///
public abstract WMS.IData.IBase.IStorageAreaLocation StorageAreaLocation
{
get;
}
///
/// 库区库位关联
///
public abstract WMS.IData.IBase.ILocArea LocArea
{
get;
}
#endregion
#region 商品信息
///
/// 商品信息
///
public abstract IData.IBase.IGoods Goods
{
get;
}
#endregion
#region 库区间定时补货策略
public abstract IData.IStrategy.IStrAreaRep StrAreaRep
{
get;
}
public abstract IData.IStrategy.IStrAreaRepStorage StrAreaRepStorage
{
get;
}
public abstract IData.IStrategy.IStrAreaRepGoods StrAreaRepGoods
{
get;
}
#endregion
#region 供应商补货策略
public abstract IData.IStrategy.IProRepStrategy ProRepStrategy
{
get;
}
#endregion
#region 自动指派任务策略
public abstract IData.IStrategy.IAutoTask AutoTask
{
get;
}
#endregion
#region 自动指派任务策略
public abstract IData.IStrategy.IAccording According
{
get;
}
#endregion
//#region 线上客户信息
//public abstract IData.IBase.IUpCustomer UpCustomer
//{
// get;
//}
//#endregion
#region 客户信息
public abstract IData.IBase.ICustomer Customer
{
get;
}
#endregion
#region 客户分类信息
public abstract IData.IBase.ICustomerType CustomerType
{
get;
}
#endregion
#region 系统管理--公司信息
///
/// 公司信息
///
public abstract WMS.IData.IBase.ICompany Company
{
get;
}
#endregion
#region 系统管理--用户信息
///
/// 公司信息
///
public abstract WMS.IData.IBase.ISystemUser SystemUser
{
get;
}
#endregion
#region 备注信息
///
/// 备注信息
///
public abstract WMS.IData.IBase.IBaseRemarkDictionary BaseRemarkDictionary
{
get;
}
#endregion
#region 运力资料
///
/// 运力资料
///
public abstract WMS.IData.IBase.ICapacity Capacity
{
get;
}
#endregion
#region 下架策略
public abstract WMS.IData.IStrategy.IDownStrategy DownStrategy
{
get;
}
public abstract WMS.IData.IStrategy.IDownStycts DownStycts
{
get;
}
#region 入库验收
//入库验收
public abstract IData.IRK.IAcceptance Acceptance
{
get;
}
#endregion
#region 上架策略
public abstract WMS.IData.IStrategy.IUpStrategy UpStrategy
{
get;
}
#endregion
#endregion
#region 出库通知单
public abstract WMS.IData.ICK.IOrders Orders
{
get;
}
#endregion
public abstract WMS.IData.ICK.IPickingWaveInfo pickingWareInfo
{
get;
}
//#region 运力类型资料
/////
///// 运力类型资料
/////
//public abstract WMS.IData.IBase.ICapacityType CapacityType
//{
// get;
//}
//#endregion
//#region 快递公司
/////
///// 快递公司信息
/////
//public abstract WMS.IData.IBase.ILogisticsComInfo LogisticsComInfo
//{
// get;
//}
/////
///// 快递公司配送范围
/////
//public abstract WMS.IData.IBase.ILogisticsRange LogisticsRange
//{
// get;
//}
//#endregion
#region 权限管理
///
/// 权限管理
///
public abstract WMS.IData.IBase.IRole Role
{
get;
}
#endregion
#region 区域信息
///
/// 区域信息
///
public abstract IData.IBase.IAddressArea AddressArea
{
get;
}
#endregion
//#region 城际距离
/////
///// 城际距离
/////
//public abstract IData.IBase.IInterCity InterCity
//{
// get;
//}
//#endregion
#region 商品单位
///
/// 商品单位
///
public abstract IData.IBase.IGoodsMeasure GoodsMeasure
{
get;
}
#endregion
#region 商品供应商
///
/// 商品供应商
///
public abstract IData.IBase.IGoodProvider GoodProvider
{
get;
}
#endregion
//#region 线路信息
/////
///// 线路信息
/////
//public abstract IData.IBase.ILineInfo LineInfo
//{
// get;
//}
//#endregion
//#region 线路明细
/////
///// 线路明细
/////
//public abstract IData.IBase.ILineList LineList
//{
// get;
//}
//#endregion
#region 入库
///
/// 入库通知单
///
public abstract IData.IRK.IWareNotice WareNotice
{
get;
}
///
/// 入库商品明细
///
public abstract IData.IRK.IWareNoticeTab WareNoticeTab
{
get;
}
#endregion
//#region 入库验收
////入库验收
//public abstract IData.IRK.IAcceptance Acceptance
//{
// get;
//}
//#endregion
#region 码盘
///
///
///
public abstract IData.IRK.ICodeDisk CodeDisk
{
get;
}
#endregion
#region 收货录入
///
///
///
public abstract IData.IRK.IReceve Receve
{
get;
}
#endregion
#region 入库批次
///
///
///
public abstract IData.IRK.IStorageLot StorageLot
{
get;
}
#endregion
//#region 上架策略
//public abstract WMS.IData.IStrategy.IUpStrategy UpStrategy
//{
// get;
//}
//#endregion
//#region 上架
//public abstract WMS.IData.IRK.IOnGoodShelf OnGoodsShelf
//{
// get;
//}
//#endregion
#region 立体库站台设置
public abstract IData.IBase.IBaseLtkSts BaseLtkSts
{
get;
}
#endregion
#region 供应商补货
public abstract WMS.IData.IStock.IProvideRep ProvideRep
{
get;
}
#endregion
#region 仓库补货
public abstract WMS.IData.IStock.IStorageRep StorageRep
{
get;
}
#endregion
#region 盘点任务
public abstract WMS.IData.IStock.ICounting Counting
{
get;
}
#endregion
#region 盘点任务明细
public abstract WMS.IData.IStock.ICountingInfo CountingInfo
{
get;
}
#endregion
#region 权限管理
public abstract WMS.IData.ISystemManage.ISysRole SysRole
{
get;
}
#endregion
#region 移位单
///
/// 移位单
///
public abstract WMS.IData.IStock.IMoveLoc MoveLoc
{
get;
}
///
/// 移位单明细
///
public abstract WMS.IData.IStock.IMoveLocTab MoveLocTab
{
get;
}
#endregion
#region 库存表
///
/// 库存表
///
public abstract WMS.IData.IStock.IMIStock MIStock
{
get;
}
#endregion
#region 库存调整单
public abstract WMS.IData.IStock.IAdjustList AdjustList
{
get;
}
#endregion
#region
public abstract WMS.IData.IStock.IAdjustListInfo AdjustListInfo
{
get;
}
#endregion
#region 库区间调拨
///
/// 库区间调拨单
///
public abstract WMS.IData.IStock.IAreaRep AreaRep
{
get;
}
///
/// 库区间调拨出库明细
///
public abstract WMS.IData.IStock.IAreaRepOut AreaRepOut
{
get;
}
///
/// 库区间调拨入库明细
///
public abstract WMS.IData.IStock.IAreaRepIn AreaRepIn
{
get;
}
#endregion
#region 库存日志表
///
/// 库存日志表
///
public abstract WMS.IData.IStock.IMIStockBack MIStockBack
{
get;
}
#endregion
#region 角色功能权限
///
/// 角色功能权限
///
public abstract WMS.IData.ISystemManage.IFunctionRole FunctionRole
{
get;
}
#endregion
#region 角色商品权限
///
/// 角色商品权限
///
public abstract WMS.IData.ISystemManage.IGoodsRole GoodsRole
{
get;
}
#endregion
#region 角色菜单权限
///
/// 角色菜单权限
///
public abstract WMS.IData.ISystemManage.IMenuRole MenuRole
{
get;
}
#endregion
#region 角色供应商权限
///
/// 角色供应商权限
///
public abstract WMS.IData.ISystemManage.IProviderRole ProviderRole
{
get;
}
#endregion
#region 角色供应商权限
///
/// 角色供应商权限
///
public abstract WMS.IData.IBase.IRoleStorage RoleStorage
{
get;
}
#endregion
#region 仓库订单配送区域
///
/// 仓库订单配送区域
///
public abstract WMS.IData.IBase.IStorageOrder StorageOrder
{
get;
}
#endregion
//#region 出库通知单
//public abstract WMS.IData.ICK.IOrders Orders
//{
// get;
//}
//#endregion
#region 出库通知单
public abstract WMS.IData.ICK.IOrderDetail OrderDetail
{
get;
}
#endregion
#region 捡货单
///
/// 捡货单
///
public abstract WMS.IData.ICK.IPickingWave PickingWave
{
get;
}
///
/// 捡货单明细
///
public abstract WMS.IData.ICK.IPickingWaveGoods PickingWaveGoods
{
get;
}
#endregion
#region 包装库存
public abstract WMS.IData.IStock.IMIPackStock MIPackStock
{
get;
}
#endregion
#region 包装库存明细
public abstract WMS.IData.IStock.IMIPackStockBack MIPackStockBack
{
get;
}
#endregion
#region 包装称重
public abstract WMS.IData.ICK.IPackWeighing PackWeighing
{
get;
}
#endregion
#region 班组信息
public abstract WMS.IData.ISystemManage.ITeam Team
{
get;
}
#endregion
#region 班组人员信息
public abstract WMS.IData.ISystemManage.ITeamUser TeamUser
{
get;
}
#endregion
#region 用户机构关联
public abstract WMS.IData.IBase.IUserDepart UserDepart
{
get;
}
#endregion
#region 角色机构关联
public abstract WMS.IData.IBase.IRoleDepart RoleDepart
{
get;
}
#endregion
#region 角色维护
public abstract WMS.IData.ISystemManage.IRoleDictionary RoleDictionary
{
get;
}
#endregion
#region 打印信息
public abstract WMS.IData.IBase.IPrintInfo PrintInfo
{
get;
}
#endregion
//#region 下架策略
//public abstract WMS.IData.IStrategy.IDownStrategy DownStrategy
//{
// get;
//}
//public abstract WMS.IData.IStrategy.IDownStycts DownStycts
//{
// get;
//}
//#endregion
//#region 快递单号规则
//public abstract WMS.IData.IBase.IExpressNORule ExpressNORule
//{
// get;
//}
//#endregion
#region 业务类型
public abstract IData.IBase.IWorkType WorkType
{
get;
}
#endregion
//#region 工作量
//public abstract IData.IBase.IWorkLoad WorkLoad
//{
// get;
//}
//#endregion
#region 消息
public abstract IData.IBase.IMessage Message
{
get;
}
#endregion
//#region 派工表
//public abstract IData.IBase.IDispatching Dispatching
//{
// get;
//}
//#endregion
//#region 派工明细
//public abstract IData.IBase.IDispatchingInfo DispatchingInfo
//{
// get;
//}
//#endregion
#region 业务类型工种对应表
public abstract IData.IBase.IWorkTypeContack WorkTypeContack
{
get;
}
#endregion
//#region 库区间定时补货策略
//public abstract IData.IStrategy.IStrAreaRep StrAreaRep
//{
// get;
//}
//public abstract IData.IStrategy.IStrAreaRepStorage StrAreaRepStorage
//{
// get;
//}
//public abstract IData.IStrategy.IStrAreaRepGoods StrAreaRepGoods
//{
// get;
//}
//#endregion
//#region 供应商补货策略
//public abstract IData.IStrategy.IProRepStrategy ProRepStrategy
//{
// get;
//}
//#endregion
//#region 自动指派任务策略
//public abstract IData.IStrategy.IAutoTask AutoTask
//{
// get;
//}
//#endregion
//#region 自动指派任务策略
//public abstract IData.IStrategy.IAccording According
//{
// get;
//}
//#endregion
#region 商品原材料对应关系
public abstract IData.ISC.IGoodsMaterial GoodsMaterial
{
get;
}
#endregion
#region 加工计划表
public abstract IData.ISC.IProcessPlan ProcessPlan
{
get;
}
#endregion
#region 加工计划商品表
public abstract IData.ISC.IPlanGoods PlanGoods
{
get;
}
#endregion
#region 加工任务表
public abstract IData.ISC.ITask Task
{
get;
}
#endregion
#region 加工任务分配
public abstract IData.ISC.IWorkingTask WorkingTask
{
get;
}
#endregion
#region 加工
public abstract IData.ISC.IProcess Process
{
get;
}
#endregion
#region 加工破损
public abstract IData.ISC.IProBreak ProBreak
{
get;
}
#endregion
#region 排工
public abstract IData.ISystemManage.IScheduling Scheduling
{
get;
}
#endregion
#region 库区商品分类关联
public abstract IData.IBase.IAreaGoodsType AreaGoodsType
{
get;
}
#endregion
#region 库存占用
public abstract IData.IStock.IMIStockOccupy MIStockOccupy
{
get;
}
#endregion
#region 人员库区关联(工种)
public abstract IData.IBase.IUserArea UserArea
{
get;
}
#endregion
//#region 运输
//public abstract IData.ITR.ITransport Transport
//{
// get;
//}
//public abstract IData.ITR.ITransportTab TransportTab
//{
// get;
//}
//#endregion
#region 库存查看 -报表
public abstract IData.IReport.IMIStockSearch MIStockSearch
{
get;
}
#endregion
#region 出库报表
public abstract IData.IReport.ICKReport CKReport
{
get;
}
#endregion
#region 入库报表
public abstract IData.IReport.IRKReport RKReport
{
get;
}
#endregion
#region SKU
public abstract IData.IBase.ISKU SKU
{
get;
}
#endregion
//#region SKU明细
//public abstract IData.IBase.ISKUTab SKUTab
//{
// get;
//}
//#endregion
#region 系统参数
public abstract IData.ISystemManage.ISystemParams SystemParam
{
get;
}
#endregion
#region 单据生成规则
public abstract IData.IBase.IDocumentTable DocumentTable
{
get;
}
#endregion
#region 消息权限
public abstract IData.ISystemManage.IRoleMessage RoleMessage
{
get;
}
#endregion
#region 生成批次
public abstract WMS.IData.IRK.IAutoRkData AutoRkData
{
get;
}
#endregion
//采购订单下发
public abstract IData.ISC.ICUX_WMS_PO_HEADES_ITF CUX_WMS_PO_HEADES_ITF
{
get;
}
//领退料通知单
public abstract IData.ISC.ICUX_WMS_ISSUE_HEADER_ITF CUX_WMS_ISSUE_HEADER_ITF
{
get;
}
//成品出库单下发 Mod_CUX_WMS_MOVE_ORDER_ISSU_ITF
public abstract IData.ISC.ICUX_WMS_MOVE_ORDER_ISSU_ITF CUX_WMS_MOVE_ORDER_ISSU_ITF
{
get;
}
//返修工单出库下发
public abstract IData.ISC.ICUX_WMS_FIX_ISSUE_ITF CUX_WMS_FIX_ISSUE_ITF
{
get;
}
//CUX_WMS_FIX_LOT_ITF
}
}