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