SAPDataService.cs 7.0 KB

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