using System; using System.ServiceModel; using System.ServiceModel.Activation; using Curtain.Core; using Dongke.IBOSS.PRD.Service.SAPHegiiDataService; using Dongke.IBOSS.PRD.Service.WMSDataService; using Dongke.IBOSS.PRD.WCF.Contracts; using Dongke.IBOSS.PRD.WCF.DataModels; namespace Dongke.IBOSS.PRD.WCF.Services { /// /// SAP数据接口 /// [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] [ServiceBehavior(ConfigurationName = "SAPDataService", InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Multiple, UseSynchronizationContext = false)] public class SAPDataService : ServicesBase, ISAPData { #region 共通接口 /// /// 共通接口 /// /// /// public ServiceResultEntity DoRequest(ClientRequestEntity cre) { try { #region Hegii if ("Hegii" == cre.NameSpace) { #region SAP相关 // 获取同步最后一次同步成功的日期 if ("GetLastDateByCode" == cre.Name) { string dataCode = cre.Request + ""; ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.GetLastDateByCode(dataCode)); return result; } // 获取成品交接同步数据 if ("GetWorkData60" == cre.Name) { DateTime date = (DateTime)cre.Request; ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.GetWorkData60(date)); return result; } // 同步成品交接数据 if ("SetWorkData60" == cre.Name) { DateTime date = (DateTime)cre.Request; ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.SetWorkData60(date, cre.Data.Tables[0], SUserInfo.UserID)); return result; } // 查询同步日志 if ("GetDataLog" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.GetDataLog(cre)); return result; } // 查询产量同步明细 if ("GetWorkDataByDataLog" == cre.Name) { int logid = Convert.ToInt32(cre.Request); ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.GetWorkDataByDataLog(logid)); return result; } // 查询 if ("GetWorkDataSPSumByDate" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.GetWorkDataSPSumByDate(cre)); return result; } // 查询成品条码同步明细 if ("GetFinishedProductByDataLog" == cre.Name) { int logid = Convert.ToInt32(cre.Request); ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.GetFinishedProductByDataLog(logid)); return result; } // 获取数据并同步产量数据 if ("SetWorkData10_50" == cre.Name) { DateTime date = (DateTime)cre.Request; string datacode = cre.Properties["datacode"] + ""; ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.SetWorkData10_50(datacode, SUserInfo.UserID, date)); return result; } // 同步产量数据 if ("SyncSap" == cre.Name) { DateTime date = (DateTime)cre.Request; string datacode = cre.Properties["datacode"] + ""; int logid = cre.Properties["logid"].ToInt32(); ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.SyncSap(date, datacode, SUserInfo.UserID, logid)); return result; } // 同步成品条码明细数据 if ("SetFP6001" == cre.Name) { DateTime date = (DateTime)cre.Request; //if (date.Year < 2018) //{ // ServiceResultEntity result1 = ServiceInvoker.Invoke(this, // () => SAPDataLogic.SetFP6001_1(date, SUserInfo.UserID)); // return result1; //} ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.SetFP6001(date, SUserInfo.UserID)); return result; } // 同步成品条码明细数据 if ("SetFP6002" == cre.Name) { DateTime date = (DateTime)cre.Request; ServiceResultEntity result = ServiceInvoker.Invoke(this, () => SAPDataLogic.SetFP6002(date, SUserInfo.UserID)); return result; } // 查询报工日志 add xiacm 2022-10-17 if ("GetDataLog_BG" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => WMSDataLogic.GetDataLog_BG(cre)); return result; } // 查询报工日志明细 add xiacm 2022-10-17 if ("GetWorkData_BG" == cre.Name) { int logid = Convert.ToInt32(cre.Request); ServiceResultEntity result = ServiceInvoker.Invoke(this, () => WMSDataLogic.GetWorkData_BG(cre)); return result; } // 查询报工汇总 add xiacm 2022-10-17 if ("GetDataLogTotal_BG" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => WMSDataLogic.GetDataLogTotal_BG(cre)); return result; } #endregion #region 富勒WMS相关 // 查询WMS同步日志 if ("GetWMSDataLog" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => WMSDataLogic.GetWMSDataLog(cre, SUserInfo)); return result; } // 同步WMS同步日志 if ("SyncWMSDataLog" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => WMSDataLogic.SyncWMSDataLog(cre, SUserInfo)); return result; } #endregion #region 中台相关 // 查询中台同步日志 else if ("GetZhongTaiDataLog" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => WMSDataLogic.GetZhongTaiDataLog(cre, SUserInfo)); return result; } // 同步中台同步日志 else if ("SyncZhongTaiData" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => WMSDataLogic.SyncZhongTaiData(cre)); return result; } #endregion #region 昆船WMS // 查询昆船WMS同步日志 else if ("GetKunChuanDataLog" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => WMSDataLogic.GetKunChuanDataLog(cre, SUserInfo)); return result; } // 同步昆船WMS同步日志 else if ("SyncKunChuanData" == cre.Name) { ServiceResultEntity result = ServiceInvoker.Invoke(this, () => WMSDataLogic.SyncKunChuanData(cre)); return result; } #endregion return null; } #endregion return null; } catch (Exception ex) { throw ex; } } #endregion #region Hegii ///// ///// 获取同步最后一次同步成功的日期 ///// ///// //public ServiceResultEntity GetLastDateBy(string dataCode) //{ // try // { // } // catch (Exception ex) // { // throw ex; // } //} #endregion } }