BaoKai_202508_Wms_Jingwang_.../WMS.IData/DataProvider.cs

1097 lines
25 KiB
C#
Raw Permalink Normal View History

2025-08-24 21:52:42 +08:00
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
}
}