/// <summary> /// 提交入库信息 /// </summary> /// <param name="billID">单据编号</param> /// <param name="inDepotInfo">入库信息, 只取其中入库部分</param> /// <param name="returnBill">添加完毕后查询数据库的返回结果</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作是否成功的标志</returns> public bool SubmitInDepotInfo(string billID, S_HomemadePartBill inDepotInfo, out IQueryResult returnBill, out string error) { returnBill = null; error = null; try { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var result = from r in dataContxt.S_HomemadePartBill where r.Bill_ID == billID select r; if (result.Count() == 0) { error = string.Format("找不到入库单号为 [{0}] 的自制件入库单!", billID); return(false); } S_HomemadePartBill bill = result.Single(); if (bill.BillStatus == HomemadeBillStatus.已入库.ToString()) { error = string.Format("入库单号为 [{0}] 单据状态为已入库", billID); return(false); } bill.DepotManager = inDepotInfo.DepotManager; bill.ShelfArea = inDepotInfo.ShelfArea; bill.ColumnNumber = inDepotInfo.ColumnNumber; bill.LayerNumber = inDepotInfo.LayerNumber; bill.InDepotCount = inDepotInfo.InDepotCount; bill.BillStatus = inDepotInfo.BillStatus; bill.RebackReason = ""; bill.InDepotTime = ServerTime.Time; //操作账务信息与库存信息 OpertaionDetailAndStock(dataContxt, bill); dataContxt.SubmitChanges(); string mrBillNo = ""; if ((int)bill.DeclareWastrelCount > 0 && bill.InDepotCount > 0) { if (!InsertIntoMaterialRequisition(dataContxt, bill, out mrBillNo, out error)) { throw new Exception(error); } } IFrockStandingBook serviceForck = PMS_ServerFactory.GetServerModule <ServerModule.IFrockStandingBook>(); serviceForck.RecordFrockUseCounts_HomemadePart(dataContxt, bill.GoodsID, bill.InDepotCount); dataContxt.SubmitChanges(); return(GetAllBill(out returnBill, out error)); } catch (Exception exce) { error = exce.Message; return(false); } }
/// <summary> /// 根据单据物品明细添加多批次信息(从领料单、营销出库单) /// </summary> /// <param name="userCode">操作用户</param> /// <param name="purposeID">多批次用途编号</param> /// <param name="cvtNumber">变速箱号</param> /// <param name="billNo">单据号</param> /// <param name="lstGoods">领料物品明细列表</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>操作成功返回true</returns> public bool AddFromBill(string userCode, int purposeID, string cvtNumber, string billNo, List <StorageGoods> lstGoods, out string error) { error = null; if (lstGoods == null || lstGoods.Count == 0) { error = "物品明细为空,无法添加多批次信息"; return(false); } DepotManagementDataContext ctx = CommentParameter.DepotDataContext; ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(); try { IBarCodeServer barCodeServer = PMS_ServerFactory.GetServerModule <IBarCodeServer>(); DateTime dt = ServerTime.Time; List <P_AssemblingBom> bomDatas = null; string productType = cvtNumber.Trim(); string[] arrayCvtNumber = null; // 存放分隔后的箱号 // 下线车间再制造 if (purposeID == 5) { if (GlobalObject.GeneralFunction.IsNullOrEmpty(productType)) { error = "产品类型不允许为空"; return(false); } arrayCvtNumber = productType.Split(new char[] { ' ' }); productType = arrayCvtNumber[0] + " FX"; bomDatas = (from r in ctx.P_AssemblingBom where r.ProductCode == productType select r).ToList(); if (bomDatas.Count < 100) { error = string.Format("还未配置 [{0}] 型号装配BOM的数据请配置后再进行此操作", productType); return(false); } } // 是否向多批次中添加了数据的标志 bool addDataFlag = false; for (int i = 0; i < lstGoods.Count; i++) { string tempCVTNumber = cvtNumber; // 下线车间再制造 if (purposeID == 5) { IProductParts productParts = BasicServerFactory.GetServerModule <IProductParts>(); // 如果不是一次性物品, 而且在装配BOM中找不到则报错 if (!productParts.IsDisposableParts(productType, lstGoods[i].GoodsCode)) { if (arrayCvtNumber.Length != 2) { error = "您导入的单据中包含非一次性物料,缺少产品箱号,无法进行此操作"; return(false); } if (!bomDatas.Exists(p => p.PartCode == lstGoods[i].GoodsCode && p.PartName == lstGoods[i].GoodsName)) { error = string.Format("无法在装配BOM的 {0} 的数据中找到{1}, {2} 的物品信息,无法进行此操作!", productType, lstGoods[i].GoodsCode, lstGoods[i].GoodsName); return(false); } } else { tempCVTNumber = ""; } } View_S_InDepotGoodsBarCodeTable barCode = barCodeServer.GetBarCodeInfo( lstGoods[i].GoodsCode, lstGoods[i].GoodsName, lstGoods[i].Spec, lstGoods[i].Provider, lstGoods[i].BatchNo, lstGoods[i].StorageID.ToString()); if (barCode == null) { error = string.Format("无法找到 {0}, {1}, 规格:{2}, 供应商:{3}, 批次号:{4}, 库存编码:{5} 物品的条形码信息,无法进行此操作!", lstGoods[i].GoodsCode, lstGoods[i].GoodsName, lstGoods[i].Spec, lstGoods[i].Provider, lstGoods[i].BatchNo, lstGoods[i].StorageID); return(false); } var result = from r in ctx.ZPX_MultiBatchPart where r.BarCode == barCode.条形码 && r.PurposeID == purposeID && r.CVTNumber == tempCVTNumber select r; ZPX_MultiBatchPart mbp = null; if (result.Count() > 0) { mbp = result.Single(); mbp.Counts += Convert.ToInt32(lstGoods[i].Quantity); if (mbp.Remark.Length > 0) { mbp.Remark += "\r\n"; } mbp.UpdateDate = dt; mbp.Remark += ServerTime.Time.ToString("yyyy-MM-dd HH:mm:ss") + ", 用户 " + userCode + ", 单据号:" + billNo + ", 增加数量:" + lstGoods[i].Quantity.ToString() + ";"; } else { mbp = new ZPX_MultiBatchPart(); mbp.BarCode = barCode.条形码; mbp.PurposeID = purposeID; mbp.CVTNumber = tempCVTNumber; mbp.Counts = Convert.ToInt32(lstGoods[i].Quantity); mbp.Remark = dt.ToString("yyyy-MM-dd HH:mm:ss") + ", 用户 " + userCode + ", 单据号:" + billNo + ",数量:" + mbp.Counts.ToString() + ";"; mbp.CreateDate = dt; mbp.UpdateDate = dt; mbp.InputDate = barCode.入库时间; mbp.Msrepl_tran_version = Guid.NewGuid(); ctx.ZPX_MultiBatchPart.InsertOnSubmit(mbp); } if (mbp.Counts < 0) { throw new Exception("【图号型号】:" + lstGoods[i].GoodsCode + "【物品名称】:" + lstGoods[i].GoodsName + "【规格】:" + lstGoods[i].Spec + "【批次号】:" + lstGoods[i].BatchNo + " 物品数量不能小于0"); } addDataFlag = true; ctx.SubmitChanges(); } if (addDataFlag) { ZPX_MultiBatchPart_LLD lld = new ZPX_MultiBatchPart_LLD(); lld.Bill_ID = billNo; ctx.ZPX_MultiBatchPart_LLD.InsertOnSubmit(lld); ctx.SubmitChanges(); } else { throw new Exception("没有添加任何数据,可能是单据中的零件不属于装配BOM"); } ctx.Transaction.Commit(); return(true); } catch (Exception err) { ctx.Transaction.Rollback(); error = err.Message; return(false); } }
/// <summary> /// 批量变更变速箱箱号 /// </summary> /// <param name="convertMode">变更模式, 手动模式:新箱箱号是操作人手工录入的;自动模式:新箱箱号由系统自动生成</param> /// <param name="data">要添加的数据</param> /// <param name="error">出错时返回的错误信息</param> /// <returns>操作是否成功的标志</returns> public bool BatchConvertCVTNumber(string convertMode, List <ZPX_ConvertedCVTNumber> data, out string error) { error = null; if (data == null || data.Count == 0) { return(true); } DepotManagementDataContext ctx = CommentParameter.DepotDataContext; try { DateTime serverTime = ServerTime.Time; if (convertMode == "手动模式") { for (int i = 0; i < data.Count; i++) { data[i].NewProductType = data[i].NewProductType.Replace(" FX", ""); } foreach (var item in data) { if (!Add(ctx, item, out error)) { return(false); } } //ctx.ZPX_ConvertedCVTNumber.InsertAllOnSubmit(data); } else { string productName = (from r in ctx.P_ProductInfo where r.ProductCode == data[0].NewProductType select r.ProductName).First(); BatchBarcodeInf batchBarcodeInf; if (!PMS_ServerFactory.GetServerModule <IBarcodeForAssemblyLine>().BatchGenerateBarcode( data[0].NewProductType, productName, data.Count, "[批量变更箱号] ", out batchBarcodeInf, out error)) { return(false); } string[] arrayNewProductNumber = null; foreach (var item in batchBarcodeInf.Barcodes) { arrayNewProductNumber = item.Value.Barcode; break; } char[] separator = new char[] { ' ' }; for (int i = 0; i < data.Count; i++) { data[i].NewProductNumber = arrayNewProductNumber[i].Split(separator)[1]; data[i].NewProductType = data[i].NewProductType.Replace(" FX", ""); if (!Add(ctx, data[i], out error)) { return(false); } } //ctx.ZPX_ConvertedCVTNumber.InsertAllOnSubmit(data); } // 删除移交记录 for (int i = 0; i < data.Count; i++) { var result = from r in ctx.ZPX_CVTHandoverInfo where r.ProductType == data[i].OldProductType && r.ProductNumber == data[i].OldProductNumber select r; if (result.Count() > 0) { ctx.ZPX_CVTHandoverInfo.DeleteAllOnSubmit(result); } } ctx.SubmitChanges(); return(true); } catch (Exception exce) { error = exce.Message; return(false); } }
/// <summary> /// 获取服务组件 /// </summary> /// <returns>返回组件接口</returns> public static T GetServerModule <T>() { string name = typeof(T).ToString(); m_hashTable = new Hashtable(); //if (m_hashTable.ContainsKey(name)) //{ // return (T)m_hashTable[name]; //} if (typeof(T) == typeof(IProviderServer)) { IProviderServer serverModule = new ProviderServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IAccessoryDutyInfoManageServer)) { IAccessoryDutyInfoManageServer serverModule = new AccessoryDutyInfoManageServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IDepartmentServer)) { IDepartmentServer serverModule = new DepartmentServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMaterialTypeServer)) { IMaterialTypeServer serverModule = new MaterialTypeServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IStoreServer)) { IStoreServer serverModule = new StoreServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ICheckOutInDepotServer)) { ICheckOutInDepotServer serverModule = new CheckOutInDepotServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IUnitServer)) { IUnitServer serverModule = new UnitServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IClientServer)) { IClientServer serverModule = new ClientServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductListServer)) { IProductListServer serverModule = new ProductListServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IBasicGoodsServer)) { IBasicGoodsServer serverModule = SCM_Level01_ServerFactory.GetServerModule <IBasicGoodsServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IAssemblyInfoServer)) { IAssemblyInfoServer serverModule = PMS_ServerFactory.GetServerModule <IAssemblyInfoServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IBarCodeServer)) { IBarCodeServer serverModule = BasicServerFactory.GetServerModule <IBarCodeServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IBomServer)) { IBomServer serverModule = PMS_ServerFactory.GetServerModule <IBomServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IBomMappingServer)) { IBomMappingServer serverModule = PMS_ServerFactory.GetServerModule <IBomMappingServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IAssemblingBom)) { IAssemblingBom serverModule = PMS_ServerFactory.GetServerModule <IAssemblingBom>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IElectronFileServer)) { IElectronFileServer serverModule = PMS_ServerFactory.GetServerModule <IElectronFileServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IChoseConfectServer)) { IChoseConfectServer serverModule = PMS_ServerFactory.GetServerModule <IChoseConfectServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IWorkbenchService)) { IWorkbenchService serverModule = PMS_ServerFactory.GetServerModule <IWorkbenchService>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IGoodsGradeServer)) { IGoodsGradeServer serverModule = new GoodsGradeServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IBargainInfoServer)) { IBargainInfoServer serverModule = new BargainInfoServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IBargainGoodsServer)) { IBargainGoodsServer serverModule = new BargainGoodsServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IOrderFormInfoServer)) { IOrderFormInfoServer serverModule = new OrderFormInfoServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IOrderFormGoodsServer)) { IOrderFormGoodsServer serverModule = new OrderFormGoodsServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IOrdinaryInDepotBillServer)) { IOrdinaryInDepotBillServer serverModule = new OrdinaryInDepotBillServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IOrdinaryInDepotGoodsBill)) { IOrdinaryInDepotGoodsBill serverModule = new OrdinaryInDepotGoodsBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductInfoServer)) { IProductInfoServer serverModule = PMS_ServerFactory.GetServerModule <IProductInfoServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IBillTypeServer)) { IBillTypeServer serverModule = BasicServerFactory.GetServerModule <IBillTypeServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IAssignBillNoServer)) { IAssignBillNoServer serverModule = BasicServerFactory.GetServerModule <IAssignBillNoServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMaterialRequisitionServer)) { IMaterialRequisitionServer serverModule = new MaterialRequisitionServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IPersonnelInfoServer)) { IPersonnelInfoServer serverModule = SCM_Level01_ServerFactory.GetServerModule <IPersonnelInfoServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMaterialRequisitionGoodsServer)) { IMaterialRequisitionGoodsServer serverModule = new MaterialRequisitionGoodsServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IDeclareWastrelType)) { IDeclareWastrelType serverModule = new DeclareWastrelType(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IScrapBillServer)) { IScrapBillServer serverModule = new ScrapBillServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IScrapGoodsServer)) { IScrapGoodsServer serverModule = new ScrapGoodsServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMaterialRequisitionPurposeServer)) { IMaterialRequisitionPurposeServer serverModule = new MaterialRequisitionPurposeServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IFieldWidthServer)) { IFieldWidthServer serverModule = new FieldWidthServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IHomemadePartInDepotServer)) { IHomemadePartInDepotServer serverModule = new HomemadePartInDepotServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMaterialReturnedInTheDepot)) { IMaterialReturnedInTheDepot serverModule = new MaterialReturnedInTheDepot(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMaterialListReturnedInTheDepot)) { IMaterialListReturnedInTheDepot serverModule = new MaterialListReturnedInTheDepot(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMaterialRejectBill)) { IMaterialRejectBill serverModule = new MaterialRejectBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMaterialListRejectBill)) { IMaterialListRejectBill serverModule = new MaterialListRejectBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IDetailSummaryInfo)) { IDetailSummaryInfo serverModule = new DetailSummaryInfo(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IDepotTypeForPersonnel)) { IDepotTypeForPersonnel serverModule = SCM_Level01_ServerFactory.GetServerModule <IDepotTypeForPersonnel>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IInvoiceServer)) { IInvoiceServer serverModule = new InvoiceServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ISellIn)) { ISellIn serverModule = new SellIn(); m_hashTable.Add(name, serverModule); } //else if (typeof(T) == typeof(IProductOrder)) //{ // IProductOrder serverModule = new ProductOrder(); // m_hashTable.Add(name, serverModule); //} else if (typeof(T) == typeof(ICannibalize)) { ICannibalize serverModule = new Cannibalize(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ICheckReturnRepair)) { ICheckReturnRepair serverModule = new CheckReturnRepair(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IIsolationManageBill)) { IIsolationManageBill serverModule = new IsolationManageBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMessMessageFeedback)) { IMessMessageFeedback serverModule = new MessMessageFeedback(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ITorqueConverterInfoServer)) { ITorqueConverterInfoServer serverModule = new TorqueConverterInfoServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductPlan)) { IProductPlan serverModule = new ProductPlan(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IStoreageCheck)) { IStoreageCheck serverModule = new StoreageCheck(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ISafeStockServer)) { ISafeStockServer serverModule = new SafeStockServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMusterAffirmBill)) { IMusterAffirmBill serverModule = new MusterAffirmBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMusterUse)) { IMusterUse serverModule = new MusterUse(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ITempElectronFileServer)) { ITempElectronFileServer serverModule = PMS_ServerFactory.GetServerModule <ITempElectronFileServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMultiBatchPartServer)) { IMultiBatchPartServer serverModule = PMS_ServerFactory.GetServerModule <IMultiBatchPartServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ITechnologyChange)) { ITechnologyChange serverModule = new TechnologyChange(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IGoodsLeastPackAndStock)) { IGoodsLeastPackAndStock serverModule = new GoodsLeastPackAndStock(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IOrderFormAffrim)) { IOrderFormAffrim serverModule = new OrderFormAffrim(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMarketingPlan)) { IMarketingPlan serverModule = new MarketingPlan(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IPurcharsingPlan)) { IPurcharsingPlan serverModule = new PurcharsingPlan(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IGeneratesCheckOutInDepotServer)) { IGeneratesCheckOutInDepotServer serverModule = new GeneratesCheckOutInDepotServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IGoodsAntirust)) { IGoodsAntirust serverModule = new GoodsAntirust(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IQuarantine)) { IQuarantine serverModule = new Quarantine(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IAfterServiceMakePartsBill)) { IAfterServiceMakePartsBill serverModule = new AfterServiceMakePartsBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IReparativePartInfoServer)) { IReparativePartInfoServer serverModule = PMS_ServerFactory.GetServerModule <IReparativePartInfoServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IConvertCVTNumber)) { IConvertCVTNumber serverModule = PMS_ServerFactory.GetServerModule <IConvertCVTNumber>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductBarcodeServer)) { IProductBarcodeServer serverModule = PMS_ServerFactory.GetServerModule <IProductBarcodeServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ICheckOutInDepotForOutsourcingServer)) { ICheckOutInDepotForOutsourcingServer serverModule = new CheckOutInDepotForOutsourcingServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductChange)) { IProductChange serverModule = new ProductChange(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IHomemadeRejectBill)) { IHomemadeRejectBill serverModule = new HomemadeRejectBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IHomemadeRejectList)) { IHomemadeRejectList serverModule = new HomemadeRejectList(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IFrockProvingReport)) { IFrockProvingReport serverModule = new FrockProvingReport(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMaterialDetainBill)) { IMaterialDetainBill serverModule = new MaterialDetainBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IPrintProductBarcodeInfo)) { IPrintProductBarcodeInfo serverModule = PMS_ServerFactory.GetServerModule <IPrintProductBarcodeInfo>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IThreePacketsOfTheRepairBill)) { IThreePacketsOfTheRepairBill serverModule = new ThreePacketsOfTheRepairBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IFrockIndepotBill)) { IFrockIndepotBill serverModule = new FrockIndepotBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ICommunicateReportBill)) { ICommunicateReportBill serverModule = new CommunicateReportBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductCodeServer)) { IProductCodeServer serverModule = SCM_Level02_ServerFactory.GetServerModule <IProductCodeServer>(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IHomemadePartInfoServer)) { IHomemadePartInfoServer serverModule = new HomemadePartInfoServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IStorageInfo)) { IStorageInfo serverModule = new StorageInfo(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductDeliveryInspectionServer)) { IProductDeliveryInspectionServer serverModule = new ProductDeliveryInspectionServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ICVTCustomerInformationServer)) { ICVTCustomerInformationServer serverModule = new CVTCustomerInformationServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ICVTTruckLoadingInformation)) { ICVTTruckLoadingInformation serverModule = new CVTTruckLoadingInformation(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IQualityProblemRectificationDisposalBill)) { IQualityProblemRectificationDisposalBill serverModule = new QualityProblemRectificationDisposalBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IGoodsShelfLife)) { IGoodsShelfLife serverModule = new GoodsShelfLife(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IReport)) { IReport serverModule = new Report(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMarqueeServer)) { IMarqueeServer serverModule = new MarqueeServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IDeviceMaintenanceBill)) { IDeviceMaintenanceBill serverModule = new DeviceMaintenanceBill(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ICBOMServer)) { ICBOMServer serverModule = new CBOMServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ILogisticSafeStock)) { ILogisticSafeStock serverModule = new LogisticSafeStock(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IUnProductTestingSingle)) { IUnProductTestingSingle serverModule = new UnProductTestingSingle(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IDisposableGoodsServer)) { IDisposableGoodsServer serverModule = new DisposableGoodsServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ITCURepairInfoServer)) { ITCURepairInfoServer serverModule = new TCURepairInfoServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ISalesOrderServer)) { ISalesOrderServer serverModule = new SalesOrderServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ITechnologyAlteration)) { ITechnologyAlteration serverModule = new TechnologyAlteration(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IMinorPurchaseBillServer)) { IMinorPurchaseBillServer serverModule = new MinorPurchaseBillServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductLendService)) { IProductLendService serverModule = new ProductLendService(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductLendReturnService)) { IProductLendReturnService serverModule = new ProductLendReturnService(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IProductReturnService)) { IProductReturnService serverModule = new ProductReturnService(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IStockLack)) { IStockLack serverModule = new StockLack(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IOfflineFailSafeServer)) { IOfflineFailSafeServer serverModule = new OfflineFailSafeServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(ISystemLogServer)) { ISystemLogServer serverModule = new SystemLogServer(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IFinancialDetailManagement)) { IFinancialDetailManagement serverModule = new FinancialDetailManagement(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IToolsManage)) { IToolsManage serverModule = new ToolsManage(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IGaugeManage)) { IGaugeManage serverModule = new GaugeManage(); m_hashTable.Add(name, serverModule); } else if (typeof(T) == typeof(IQualitySystemDatabase)) { IQualitySystemDatabase serverModule = new QualitySystemDatabase(); m_hashTable.Add(name, serverModule); } if (m_hashTable.ContainsKey(name)) { return((T)m_hashTable[name]); } return(default(T)); }