SAPDataService.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  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.Service.WMSDataService;
  8. using Dongke.IBOSS.PRD.WCF.Contracts;
  9. using Dongke.IBOSS.PRD.WCF.DataModels;
  10. namespace Dongke.IBOSS.PRD.WCF.Services
  11. {
  12. /// <summary>
  13. /// SAP数据接口
  14. /// </summary>
  15. [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
  16. [ServiceBehavior(ConfigurationName = "SAPDataService",
  17. InstanceContextMode = InstanceContextMode.PerCall,
  18. ConcurrencyMode = ConcurrencyMode.Multiple,
  19. UseSynchronizationContext = false)]
  20. public class SAPDataService : ServicesBase, ISAPData
  21. {
  22. #region 共通接口
  23. /// <summary>
  24. /// 共通接口
  25. /// </summary>
  26. /// <param name="cre"></param>
  27. /// <returns></returns>
  28. public ServiceResultEntity DoRequest(ClientRequestEntity cre)
  29. {
  30. try
  31. {
  32. #region Hegii
  33. if ("Hegii" == cre.NameSpace)
  34. {
  35. #region SAP相关
  36. // 获取同步最后一次同步成功的日期
  37. if ("GetLastDateByCode" == cre.Name)
  38. {
  39. string dataCode = cre.Request + "";
  40. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  41. () => SAPDataLogic.GetLastDateByCode(dataCode));
  42. return result;
  43. }
  44. // 获取成品交接同步数据
  45. if ("GetWorkData60" == cre.Name)
  46. {
  47. DateTime date = (DateTime)cre.Request;
  48. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  49. () => SAPDataLogic.GetWorkData60(date));
  50. return result;
  51. }
  52. // 同步成品交接数据
  53. if ("SetWorkData60" == cre.Name)
  54. {
  55. DateTime date = (DateTime)cre.Request;
  56. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  57. () => SAPDataLogic.SetWorkData60(date, cre.Data.Tables[0], SUserInfo.UserID));
  58. return result;
  59. }
  60. // 查询同步日志
  61. if ("GetDataLog" == cre.Name)
  62. {
  63. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  64. () => SAPDataLogic.GetDataLog(cre));
  65. return result;
  66. }
  67. // 查询产量同步明细
  68. if ("GetWorkDataByDataLog" == cre.Name)
  69. {
  70. int logid = Convert.ToInt32(cre.Request);
  71. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  72. () => SAPDataLogic.GetWorkDataByDataLog(logid));
  73. return result;
  74. }
  75. // 查询
  76. if ("GetWorkDataSPSumByDate" == cre.Name)
  77. {
  78. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  79. () => SAPDataLogic.GetWorkDataSPSumByDate(cre));
  80. return result;
  81. }
  82. // 查询成品条码同步明细
  83. if ("GetFinishedProductByDataLog" == cre.Name)
  84. {
  85. int logid = Convert.ToInt32(cre.Request);
  86. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  87. () => SAPDataLogic.GetFinishedProductByDataLog(logid));
  88. return result;
  89. }
  90. // 获取数据并同步产量数据
  91. if ("SetWorkData10_50" == cre.Name)
  92. {
  93. DateTime date = (DateTime)cre.Request;
  94. string datacode = cre.Properties["datacode"] + "";
  95. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  96. () => SAPDataLogic.SetWorkData10_50(datacode, SUserInfo.UserID, date));
  97. return result;
  98. }
  99. // 同步产量数据
  100. if ("SyncSap" == cre.Name)
  101. {
  102. DateTime date = (DateTime)cre.Request;
  103. string datacode = cre.Properties["datacode"] + "";
  104. int logid = cre.Properties["logid"].ToInt32();
  105. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  106. () => SAPDataLogic.SyncSap(date, datacode, SUserInfo.UserID, logid));
  107. return result;
  108. }
  109. // 同步成品条码明细数据
  110. if ("SetFP6001" == cre.Name)
  111. {
  112. DateTime date = (DateTime)cre.Request;
  113. //if (date.Year < 2018)
  114. //{
  115. // ServiceResultEntity result1 = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  116. // () => SAPDataLogic.SetFP6001_1(date, SUserInfo.UserID));
  117. // return result1;
  118. //}
  119. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  120. () => SAPDataLogic.SetFP6001(date, SUserInfo.UserID));
  121. return result;
  122. }
  123. // 同步成品条码明细数据
  124. if ("SetFP6002" == cre.Name)
  125. {
  126. DateTime date = (DateTime)cre.Request;
  127. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  128. () => SAPDataLogic.SetFP6002(date, SUserInfo.UserID));
  129. return result;
  130. }
  131. // 查询报工日志 add xiacm 2022-10-17
  132. if ("GetDataLog_BG" == cre.Name)
  133. {
  134. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  135. () => WMSDataLogic.GetDataLog_BG(cre));
  136. return result;
  137. }
  138. // 查询报工日志明细 add xiacm 2022-10-17
  139. if ("GetWorkData_BG" == cre.Name)
  140. {
  141. int logid = Convert.ToInt32(cre.Request);
  142. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  143. () => WMSDataLogic.GetWorkData_BG(cre));
  144. return result;
  145. }
  146. // 查询报工汇总 add xiacm 2022-10-17
  147. if ("GetDataLogTotal_BG" == cre.Name)
  148. {
  149. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  150. () => WMSDataLogic.GetDataLogTotal_BG(cre));
  151. return result;
  152. }
  153. #endregion
  154. #region 富勒WMS相关
  155. // 查询WMS同步日志
  156. if ("GetWMSDataLog" == cre.Name)
  157. {
  158. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  159. () => WMSDataLogic.GetWMSDataLog(cre, SUserInfo));
  160. return result;
  161. }
  162. // 同步WMS同步日志
  163. if ("SyncWMSDataLog" == cre.Name)
  164. {
  165. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  166. () => WMSDataLogic.SyncWMSDataLog(cre, SUserInfo));
  167. return result;
  168. }
  169. #endregion
  170. #region 中台相关
  171. // 查询中台同步日志
  172. else if ("GetZhongTaiDataLog" == cre.Name)
  173. {
  174. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  175. () => WMSDataLogic.GetZhongTaiDataLog(cre, SUserInfo));
  176. return result;
  177. }
  178. // 同步中台同步日志
  179. else if ("SyncZhongTaiData" == cre.Name)
  180. {
  181. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  182. () => WMSDataLogic.SyncZhongTaiData(cre));
  183. return result;
  184. }
  185. #endregion
  186. #region 昆船WMS
  187. // 查询昆船WMS同步日志
  188. else if ("GetKunChuanDataLog" == cre.Name)
  189. {
  190. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  191. () => WMSDataLogic.GetKunChuanDataLog(cre, SUserInfo));
  192. return result;
  193. }
  194. // 同步昆船WMS同步日志
  195. else if ("SyncKunChuanData" == cre.Name)
  196. {
  197. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  198. () => WMSDataLogic.SyncKunChuanData(cre));
  199. return result;
  200. }
  201. #endregion
  202. return null;
  203. }
  204. #endregion
  205. return null;
  206. }
  207. catch (Exception ex)
  208. {
  209. throw ex;
  210. }
  211. }
  212. #endregion
  213. #region Hegii
  214. ///// <summary>
  215. ///// 获取同步最后一次同步成功的日期
  216. ///// </summary>
  217. ///// <returns></returns>
  218. //public ServiceResultEntity GetLastDateBy(string dataCode)
  219. //{
  220. // try
  221. // {
  222. // }
  223. // catch (Exception ex)
  224. // {
  225. // throw ex;
  226. // }
  227. //}
  228. #endregion
  229. }
  230. }