using System;
using System.ServiceModel;
using System.ServiceModel.Activation;
using Curtain.Extension.ExObjectConvert;
using Dongke.IBOSS.PRD.Service.BPMDataService;
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;
}
// 获取成品交接同步数据
else if ("GetWorkData60" == cre.Name)
{
DateTime date = (DateTime)cre.Request;
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetWorkData60(date));
return result;
}
// 同步成品交接数据
else 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;
}
// 查询同步日志
else if ("GetDataLog" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetDataLog(cre));
return result;
}
// 查询产量同步明细
else if ("GetWorkDataByDataLog" == cre.Name)
{
int logid = Convert.ToInt32(cre.Request);
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetWorkDataByDataLog(logid));
return result;
}
// 查询
else if ("GetWorkDataSPSumByDate" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetWorkDataSPSumByDate(cre));
return result;
}
// 查询成品条码同步明细
else if ("GetFinishedProductByDataLog" == cre.Name)
{
int logid = Convert.ToInt32(cre.Request);
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetFinishedProductByDataLog(logid));
return result;
}
// 获取数据并同步产量数据
else 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;
}
// 同步产量数据
else 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;
}
// 同步成品条码明细数据
else 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 new ServiceResultEntity();
}
// 同步成品条码明细数据
else if ("SetFP6002" == cre.Name)
{
//DateTime date = (DateTime)cre.Request;
//ServiceResultEntity result = ServiceInvoker.Invoke(this,
// () => SAPDataLogic.SetFP6002(date, SUserInfo.UserID));
return new ServiceResultEntity();
}
// 临时同步
else if ("SetFP60_T" == cre.Name)
{
//DateTime date = DateTime.Now;//(DateTime)cre.Request;
//ServiceResultEntity result = ServiceInvoker.Invoke(this,
// () => SAPDataLogic.SetFP60_T(date, SUserInfo.UserID));
return new ServiceResultEntity();
}
//查询跨车间作业同步汇总
else if ("GetDataLog_kczzy" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetDataLog_kczzy(cre));
return result;
}
// 查询跨车间作业同步明细
else if ("GetWorkData_kczzy" == cre.Name)
{
//int logid = Convert.ToInt32(cre.Request);
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetWorkData_kczzy(cre));
return result;
}
// 查询报工移库日志
else if ("GetDataLog_BGYK" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetDataLog_BGYK(cre));
return result;
}
// 查询报工移库日志明细
else if ("GetWorkData_BGYK" == cre.Name)
{
//update xiacm 2022-10-21
// int logid = Convert.ToInt32(cre.Request);
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetWorkData_BGYK(cre));
return result;
}
// 查询报工日志
else if ("GetDataLog_BG" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetDataLog_BG(cre));
return result;
}
// 查询报工日志明细
else if ("GetWorkData_BG" == cre.Name)
{
// int logid = Convert.ToInt32(cre.Request);
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetWorkData_BG(cre));
return result;
}
// 查询报工汇总 add xiacm 2022-10-12
else if ("GetDataLogTotal_BG" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetDataLogTotal_BG(cre));
return result;
}
// 查询半成品库存 add xiacm 2022-11-09
else if ("GetDataIVITotal_BC" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => SAPDataLogic.GetDataIVITotal_BC(cre));
return result;
}
#endregion
#region WMS相关
// 查询WMS同步日志
else if ("GetWMSDataLog" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => WMSDataLogic.GetWMSDataLog(cre, SUserInfo));
return result;
}
// 同步WMS同步日志
else if ("SyncWMSDataLog" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => WMSDataLogic.SyncWMSDataLog(cre, SUserInfo));
return result;
}
#endregion
#region BPM相关
// 查询组件报损数据
else if ("GetDataBARCODEIDNRKSCRAP" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.GetDataBARCODEIDNRKSCRAP(cre, SUserInfo));
return result;
}
// 确认组件报损
else if ("SaveConfirmIdnrkScrap" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.SaveConfirmIdnrkScrap(cre, SUserInfo));
return result;
}
// 撤销确认组件报损
else if ("SaveUNConfirmIdnrkScrap" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.SaveUNConfirmIdnrkScrap(cre, SUserInfo));
return result;
}
//同步bpm组件报损
else if ("SynIdnrkScrap" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.SynIdnrkScrap(cre, SUserInfo));
return result;
}
//撤销bpm组件报损
else if ("CancelSynIdnrkScrap" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.CancelSynIdnrkScrap(cre, SUserInfo));
return result;
}
//查询成本中心
else if ("GetCostCenter" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.GetCostCenter(cre, SUserInfo));
return result;
}
//设置成本中心
else if ("SaveCostCenter" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.SaveCostCenter(cre, SUserInfo));
return result;
}
//确认bpm 同一流程实例报损履历是否全部选中
else if ("CheckScrap" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.CheckScrap(cre, SUserInfo));
return result;
}
//删除报损履历
else if ("DeleteIDNRKScrap" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.DeleteIDNRKScrap(cre, SUserInfo));
return result;
}
//新建报损履历
else if ("AddIDNRKScrap" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.AddIDNRKScrap(cre, SUserInfo));
return result;
}
//获取报损履历信息
else if ("GetIDNRKScrap" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.GetIDNRKScrap(cre, SUserInfo));
return result;
}
//
else if ("GetIdnrkCode" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.GetIdnrkCode(cre, SUserInfo));
return result;
}
//编辑报损履历
else if ("UpdateIDNRKScrap" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.UpdateIDNRKScrap(cre, SUserInfo));
return result;
}
#endregion
#region 中台相关
// 查询中台同步日志
else if ("GetZhongTaiDataLog" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.GetZhongTaiDataLog(cre, SUserInfo));
return result;
}
// 同步中台同步日志
else if ("SyncZhongTaiData" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.SyncZhongTaiData(cre));
return result;
}
#endregion
#region 昆船WMS
// 查询昆船WMS同步日志
else if ("GetKunChuanDataLog" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.GetKunChuanDataLog(cre, SUserInfo));
return result;
}
// 同步昆船WMS同步日志
else if ("SyncKunChuanData" == cre.Name)
{
ServiceResultEntity result = ServiceInvoker.Invoke(this,
() => BPMDataLogic.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
}
}