BaoKai_202508_Wms_Jingwang_.../WMS.IData/DataProvider.cs
2025-08-24 21:52:42 +08:00

1097 lines
25 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
{
/// <summary>
/// 数据提供者抽象类,其他提供者继承此类
/// </summary>
public abstract class DataProvider : ProviderBase
{
/// <summary>
/// 用户编号
/// </summary>
// public string userNumber = string.Empty;
/// <summary>
/// 日志记录类根据当前sql语句或者存储过程进行日志记录
/// </summary>
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
/// <summary>
/// 通过Singleton模式返回当前数据访问层实例
/// </summary>
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
/// <summary>
/// 日志类,主要对日志信息进行查询,删除
/// </summary>
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
/// <summary>
/// 菜单窗体
/// </summary>
public abstract WMS.IData.IBase.ISystemMenu SystemMenu
{
get;
}
#endregion
#region
/// <summary>
/// 菜单窗体
/// </summary>
public abstract WMS.IData.IBase.ISystemMenuFuc SystemMenuFuc
{
get;
}
#endregion
#region
/// <summary>
/// 供应商类型
/// </summary>
public abstract WMS.IData.IBase.IProvederType ProvederType
{
get;
}
#endregion
#region
/// <summary>
/// 供应商
/// </summary>
public abstract WMS.IData.IBase.IProvider Provider
{
get;
}
#endregion
#region
/// <summary>
/// 字典明细
/// </summary>
public abstract WMS.IData.ISystemManage.IDictionaryTab DictionaryTab
{
get;
}
/// <summary>
/// 字典类型
/// </summary>
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
/// <summary>
/// 商品分类
/// </summary>
public abstract IData.IBase.IGoodsType GoodsType
{
get;
}
#endregion
#region
/// <summary>
/// 仓库分类
/// </summary>
public abstract WMS.IData.IBase.IStorageType StorageType
{
get;
}
/// <summary>
/// 仓库信息
/// </summary>
public abstract WMS.IData.IBase.IStorageInfo StorageInfo
{
get;
}
/// <summary>
/// 库区信息
/// </summary>
public abstract WMS.IData.IBase.IStorageArea StorageArea
{
get;
}
/// <summary>
/// 库位信息
/// </summary>
public abstract WMS.IData.IBase.IStorageAreaLocation StorageAreaLocation
{
get;
}
/// <summary>
/// 库区库位关联
/// </summary>
public abstract WMS.IData.IBase.ILocArea LocArea
{
get;
}
#endregion
#region
/// <summary>
/// 商品信息
/// </summary>
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 --
/// <summary>
/// 公司信息
/// </summary>
public abstract WMS.IData.IBase.ICompany Company
{
get;
}
#endregion
#region --
/// <summary>
/// 公司信息
/// </summary>
public abstract WMS.IData.IBase.ISystemUser SystemUser
{
get;
}
#endregion
#region
/// <summary>
/// 备注信息
/// </summary>
public abstract WMS.IData.IBase.IBaseRemarkDictionary BaseRemarkDictionary
{
get;
}
#endregion
#region
/// <summary>
/// 运力资料
/// </summary>
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 运力类型资料
///// <summary>
///// 运力类型资料
///// </summary>
//public abstract WMS.IData.IBase.ICapacityType CapacityType
//{
// get;
//}
//#endregion
//#region 快递公司
///// <summary>
///// 快递公司信息
///// </summary>
//public abstract WMS.IData.IBase.ILogisticsComInfo LogisticsComInfo
//{
// get;
//}
///// <summary>
///// 快递公司配送范围
///// </summary>
//public abstract WMS.IData.IBase.ILogisticsRange LogisticsRange
//{
// get;
//}
//#endregion
#region
/// <summary>
/// 权限管理
/// </summary>
public abstract WMS.IData.IBase.IRole Role
{
get;
}
#endregion
#region
/// <summary>
/// 区域信息
/// </summary>
public abstract IData.IBase.IAddressArea AddressArea
{
get;
}
#endregion
//#region 城际距离
///// <summary>
///// 城际距离
///// </summary>
//public abstract IData.IBase.IInterCity InterCity
//{
// get;
//}
//#endregion
#region
/// <summary>
/// 商品单位
/// </summary>
public abstract IData.IBase.IGoodsMeasure GoodsMeasure
{
get;
}
#endregion
#region
/// <summary>
/// 商品供应商
/// </summary>
public abstract IData.IBase.IGoodProvider GoodProvider
{
get;
}
#endregion
//#region 线路信息
///// <summary>
///// 线路信息
///// </summary>
//public abstract IData.IBase.ILineInfo LineInfo
//{
// get;
//}
//#endregion
//#region 线路明细
///// <summary>
///// 线路明细
///// </summary>
//public abstract IData.IBase.ILineList LineList
//{
// get;
//}
//#endregion
#region
/// <summary>
/// 入库通知单
/// </summary>
public abstract IData.IRK.IWareNotice WareNotice
{
get;
}
/// <summary>
/// 入库商品明细
/// </summary>
public abstract IData.IRK.IWareNoticeTab WareNoticeTab
{
get;
}
#endregion
//#region 入库验收
////入库验收
//public abstract IData.IRK.IAcceptance Acceptance
//{
// get;
//}
//#endregion
#region
/// <summary>
///
/// </summary>
public abstract IData.IRK.ICodeDisk CodeDisk
{
get;
}
#endregion
#region
/// <summary>
///
/// </summary>
public abstract IData.IRK.IReceve Receve
{
get;
}
#endregion
#region
/// <summary>
///
/// </summary>
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
/// <summary>
/// 移位单
/// </summary>
public abstract WMS.IData.IStock.IMoveLoc MoveLoc
{
get;
}
/// <summary>
/// 移位单明细
/// </summary>
public abstract WMS.IData.IStock.IMoveLocTab MoveLocTab
{
get;
}
#endregion
#region
/// <summary>
/// 库存表
/// </summary>
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
/// <summary>
/// 库区间调拨单
/// </summary>
public abstract WMS.IData.IStock.IAreaRep AreaRep
{
get;
}
/// <summary>
/// 库区间调拨出库明细
/// </summary>
public abstract WMS.IData.IStock.IAreaRepOut AreaRepOut
{
get;
}
/// <summary>
/// 库区间调拨入库明细
/// </summary>
public abstract WMS.IData.IStock.IAreaRepIn AreaRepIn
{
get;
}
#endregion
#region
/// <summary>
/// 库存日志表
/// </summary>
public abstract WMS.IData.IStock.IMIStockBack MIStockBack
{
get;
}
#endregion
#region
/// <summary>
/// 角色功能权限
/// </summary>
public abstract WMS.IData.ISystemManage.IFunctionRole FunctionRole
{
get;
}
#endregion
#region
/// <summary>
/// 角色商品权限
/// </summary>
public abstract WMS.IData.ISystemManage.IGoodsRole GoodsRole
{
get;
}
#endregion
#region
/// <summary>
/// 角色菜单权限
/// </summary>
public abstract WMS.IData.ISystemManage.IMenuRole MenuRole
{
get;
}
#endregion
#region
/// <summary>
/// 角色供应商权限
/// </summary>
public abstract WMS.IData.ISystemManage.IProviderRole ProviderRole
{
get;
}
#endregion
#region
/// <summary>
/// 角色供应商权限
/// </summary>
public abstract WMS.IData.IBase.IRoleStorage RoleStorage
{
get;
}
#endregion
#region
/// <summary>
/// 仓库订单配送区域
/// </summary>
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
/// <summary>
/// 捡货单
/// </summary>
public abstract WMS.IData.ICK.IPickingWave PickingWave
{
get;
}
/// <summary>
/// 捡货单明细
/// </summary>
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
}
}