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