SAPDataService.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. 
  2. using System;
  3. using System.ServiceModel;
  4. using System.ServiceModel.Activation;
  5. using Dongke.IBOSS.PRD.Service.SAPHegiiDataService;
  6. using Dongke.IBOSS.PRD.WCF.Contracts;
  7. using Dongke.IBOSS.PRD.WCF.DataModels;
  8. namespace Dongke.IBOSS.PRD.WCF.Services
  9. {
  10. /// <summary>
  11. /// SAP数据接口
  12. /// </summary>
  13. [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
  14. [ServiceBehavior(ConfigurationName = "SAPDataService",
  15. InstanceContextMode = InstanceContextMode.PerCall,
  16. ConcurrencyMode = ConcurrencyMode.Multiple,
  17. UseSynchronizationContext = false)]
  18. public class SAPDataService : ServicesBase, ISAPData
  19. {
  20. #region 共通接口
  21. /// <summary>
  22. /// 共通接口
  23. /// </summary>
  24. /// <param name="cre"></param>
  25. /// <returns></returns>
  26. public ServiceResultEntity DoRequest(ClientRequestEntity cre)
  27. {
  28. try
  29. {
  30. #region Hegii
  31. if ("Hegii" == cre.NameSpace)
  32. {
  33. // 获取同步最后一次同步成功的日期
  34. if ("GetLastDateByCode" == cre.Name)
  35. {
  36. string dataCode = cre.Request + "";
  37. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  38. () => SAPDataLogic.GetLastDateByCode(dataCode));
  39. return result;
  40. }
  41. // 获取成品交接同步数据
  42. if ("GetWorkData60" == cre.Name)
  43. {
  44. DateTime date = (DateTime)cre.Request;
  45. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  46. () => SAPDataLogic.GetWorkData60(date));
  47. return result;
  48. }
  49. // 同步成品交接数据
  50. if ("SetWorkData60" == cre.Name)
  51. {
  52. DateTime date = (DateTime)cre.Request;
  53. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  54. () => SAPDataLogic.SetWorkData60(date, cre.Data.Tables[0], SUserInfo.UserID));
  55. return result;
  56. }
  57. // 查询同步日志
  58. if ("GetDataLog" == cre.Name)
  59. {
  60. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  61. () => SAPDataLogic.GetDataLog(cre));
  62. return result;
  63. }
  64. // 查询产量同步明细
  65. if ("GetWorkDataByDataLog" == cre.Name)
  66. {
  67. int logid = Convert.ToInt32(cre.Request);
  68. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  69. () => SAPDataLogic.GetWorkDataByDataLog(logid));
  70. return result;
  71. }
  72. // 查询
  73. if ("GetWorkDataSPSumByDate" == cre.Name)
  74. {
  75. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  76. () => SAPDataLogic.GetWorkDataSPSumByDate(cre));
  77. return result;
  78. }
  79. // 查询成品条码同步明细
  80. if ("GetFinishedProductByDataLog" == cre.Name)
  81. {
  82. int logid = Convert.ToInt32(cre.Request);
  83. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  84. () => SAPDataLogic.GetFinishedProductByDataLog(logid));
  85. return result;
  86. }
  87. // 同步产量数据
  88. if ("SetWorkData10_50" == cre.Name)
  89. {
  90. DateTime date = (DateTime)cre.Request;
  91. string datacode = cre.Properties["datacode"] + "";
  92. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  93. () => SAPDataLogic.SetWorkData10_50(date, datacode, SUserInfo.UserID));
  94. return result;
  95. }
  96. // 同步成品条码明细数据
  97. if ("SetFP6001" == cre.Name)
  98. {
  99. DateTime date = (DateTime)cre.Request;
  100. //if (date.Year < 2018)
  101. //{
  102. // ServiceResultEntity result1 = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  103. // () => SAPDataLogic.SetFP6001_1(date, SUserInfo.UserID));
  104. // return result1;
  105. //}
  106. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  107. () => SAPDataLogic.SetFP6001(date, SUserInfo.UserID));
  108. return result;
  109. }
  110. // 同步成品条码明细数据
  111. if ("SetFP6002" == cre.Name)
  112. {
  113. DateTime date = (DateTime)cre.Request;
  114. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  115. () => SAPDataLogic.SetFP6002(date, SUserInfo.UserID));
  116. return result;
  117. }
  118. return null;
  119. }
  120. #endregion
  121. return null;
  122. }
  123. catch (Exception ex)
  124. {
  125. throw ex;
  126. }
  127. }
  128. #endregion
  129. #region Hegii
  130. ///// <summary>
  131. ///// 获取同步最后一次同步成功的日期
  132. ///// </summary>
  133. ///// <returns></returns>
  134. //public ServiceResultEntity GetLastDateBy(string dataCode)
  135. //{
  136. // try
  137. // {
  138. // }
  139. // catch (Exception ex)
  140. // {
  141. // throw ex;
  142. // }
  143. //}
  144. #endregion
  145. }
  146. }