SAPDataService.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. 
  2. using System;
  3. using System.ServiceModel;
  4. using System.ServiceModel.Activation;
  5. using Curtain.Extension.ExObjectConvert;
  6. using Dongke.IBOSS.PRD.Service.BPMDataService;
  7. using Dongke.IBOSS.PRD.Service.SAPHegiiDataService;
  8. using Dongke.IBOSS.PRD.Service.WMSDataService;
  9. using Dongke.IBOSS.PRD.WCF.Contracts;
  10. using Dongke.IBOSS.PRD.WCF.DataModels;
  11. namespace Dongke.IBOSS.PRD.WCF.Services
  12. {
  13. /// <summary>
  14. /// SAP数据接口
  15. /// </summary>
  16. [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
  17. [ServiceBehavior(ConfigurationName = "SAPDataService",
  18. InstanceContextMode = InstanceContextMode.PerCall,
  19. ConcurrencyMode = ConcurrencyMode.Multiple,
  20. UseSynchronizationContext = false)]
  21. public class SAPDataService : ServicesBase, ISAPData
  22. {
  23. #region 共通接口
  24. /// <summary>
  25. /// 共通接口
  26. /// </summary>
  27. /// <param name="cre"></param>
  28. /// <returns></returns>
  29. public ServiceResultEntity DoRequest(ClientRequestEntity cre)
  30. {
  31. try
  32. {
  33. #region Hegii
  34. if ("Hegii" == cre.NameSpace)
  35. {
  36. #region SAP相关
  37. // 获取同步最后一次同步成功的日期
  38. if ("GetLastDateByCode" == cre.Name)
  39. {
  40. string dataCode = cre.Request + "";
  41. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  42. () => SAPDataLogic.GetLastDateByCode(dataCode));
  43. return result;
  44. }
  45. // 获取成品交接同步数据
  46. else if ("GetWorkData60" == cre.Name)
  47. {
  48. DateTime date = (DateTime)cre.Request;
  49. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  50. () => SAPDataLogic.GetWorkData60(date));
  51. return result;
  52. }
  53. // 同步成品交接数据
  54. else if ("SetWorkData60" == cre.Name)
  55. {
  56. DateTime date = (DateTime)cre.Request;
  57. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  58. () => SAPDataLogic.SetWorkData60(date, cre.Data.Tables[0], SUserInfo.UserID));
  59. return result;
  60. }
  61. // 查询同步日志
  62. else if ("GetDataLog" == cre.Name)
  63. {
  64. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  65. () => SAPDataLogic.GetDataLog(cre));
  66. return result;
  67. }
  68. // 查询产量同步明细
  69. else if ("GetWorkDataByDataLog" == cre.Name)
  70. {
  71. int logid = Convert.ToInt32(cre.Request);
  72. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  73. () => SAPDataLogic.GetWorkDataByDataLog(logid));
  74. return result;
  75. }
  76. // 查询
  77. else if ("GetWorkDataSPSumByDate" == cre.Name)
  78. {
  79. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  80. () => SAPDataLogic.GetWorkDataSPSumByDate(cre));
  81. return result;
  82. }
  83. // 查询成品条码同步明细
  84. else if ("GetFinishedProductByDataLog" == cre.Name)
  85. {
  86. int logid = Convert.ToInt32(cre.Request);
  87. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  88. () => SAPDataLogic.GetFinishedProductByDataLog(logid));
  89. return result;
  90. }
  91. // 获取数据并同步产量数据
  92. else if ("SetWorkData10_50" == cre.Name)
  93. {
  94. DateTime date = (DateTime)cre.Request;
  95. string datacode = cre.Properties["datacode"] + "";
  96. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  97. () => SAPDataLogic.SetWorkData10_50(datacode, SUserInfo.UserID, date));
  98. return result;
  99. }
  100. // 同步产量数据
  101. else if ("SyncSap" == cre.Name)
  102. {
  103. DateTime date = (DateTime)cre.Request;
  104. string datacode = cre.Properties["datacode"] + "";
  105. int logid = cre.Properties["logid"].ToInt32();
  106. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  107. () => SAPDataLogic.SyncSap(date, datacode, SUserInfo.UserID, logid));
  108. return result;
  109. }
  110. // 同步成品条码明细数据
  111. else if ("SetFP6001" == cre.Name)
  112. {
  113. // DateTime date = (DateTime)cre.Request;
  114. // //if (date.Year < 2018)
  115. // //{
  116. // // ServiceResultEntity result1 = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  117. // // () => SAPDataLogic.SetFP6001_1(date, SUserInfo.UserID));
  118. // // return result1;
  119. // //}
  120. // ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  121. //() => SAPDataLogic.SetFP6001(date, SUserInfo.UserID));
  122. return new ServiceResultEntity();
  123. }
  124. // 同步成品条码明细数据
  125. else if ("SetFP6002" == cre.Name)
  126. {
  127. //DateTime date = (DateTime)cre.Request;
  128. //ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  129. // () => SAPDataLogic.SetFP6002(date, SUserInfo.UserID));
  130. return new ServiceResultEntity();
  131. }
  132. // 临时同步
  133. else if ("SetFP60_T" == cre.Name)
  134. {
  135. //DateTime date = DateTime.Now;//(DateTime)cre.Request;
  136. //ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  137. // () => SAPDataLogic.SetFP60_T(date, SUserInfo.UserID));
  138. return new ServiceResultEntity();
  139. }
  140. //查询跨车间作业同步汇总
  141. else if ("GetDataLog_kczzy" == cre.Name)
  142. {
  143. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  144. () => SAPDataLogic.GetDataLog_kczzy(cre));
  145. return result;
  146. }
  147. // 查询跨车间作业同步明细
  148. else if ("GetWorkData_kczzy" == cre.Name)
  149. {
  150. //int logid = Convert.ToInt32(cre.Request);
  151. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  152. () => SAPDataLogic.GetWorkData_kczzy(cre));
  153. return result;
  154. }
  155. // 查询报工移库日志
  156. else if ("GetDataLog_BGYK" == cre.Name)
  157. {
  158. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  159. () => SAPDataLogic.GetDataLog_BGYK(cre));
  160. return result;
  161. }
  162. // 查询报工移库日志明细
  163. else if ("GetWorkData_BGYK" == cre.Name)
  164. {
  165. //update xiacm 2022-10-21
  166. // int logid = Convert.ToInt32(cre.Request);
  167. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  168. () => SAPDataLogic.GetWorkData_BGYK(cre));
  169. return result;
  170. }
  171. // 查询报工日志
  172. else if ("GetDataLog_BG" == cre.Name)
  173. {
  174. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  175. () => SAPDataLogic.GetDataLog_BG(cre));
  176. return result;
  177. }
  178. // 查询报工日志明细
  179. else if ("GetWorkData_BG" == cre.Name)
  180. {
  181. // int logid = Convert.ToInt32(cre.Request);
  182. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  183. () => SAPDataLogic.GetWorkData_BG(cre));
  184. return result;
  185. }
  186. // 查询报工汇总 add xiacm 2022-10-12
  187. else if ("GetDataLogTotal_BG" == cre.Name)
  188. {
  189. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  190. () => SAPDataLogic.GetDataLogTotal_BG(cre));
  191. return result;
  192. }
  193. // 查询半成品库存 add xiacm 2022-11-09
  194. else if ("GetDataIVITotal_BC" == cre.Name)
  195. {
  196. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  197. () => SAPDataLogic.GetDataIVITotal_BC(cre));
  198. return result;
  199. }
  200. #endregion
  201. #region WMS相关
  202. // 查询WMS同步日志
  203. else if ("GetWMSDataLog" == cre.Name)
  204. {
  205. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  206. () => WMSDataLogic.GetWMSDataLog(cre, SUserInfo));
  207. return result;
  208. }
  209. // 同步WMS同步日志
  210. else if ("SyncWMSDataLog" == cre.Name)
  211. {
  212. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  213. () => WMSDataLogic.SyncWMSDataLog(cre, SUserInfo));
  214. return result;
  215. }
  216. #endregion
  217. #region BPM相关
  218. // 查询组件报损数据
  219. else if ("GetDataBARCODEIDNRKSCRAP" == cre.Name)
  220. {
  221. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  222. () => BPMDataLogic.GetDataBARCODEIDNRKSCRAP(cre, SUserInfo));
  223. return result;
  224. }
  225. // 确认组件报损
  226. else if ("SaveConfirmIdnrkScrap" == cre.Name)
  227. {
  228. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  229. () => BPMDataLogic.SaveConfirmIdnrkScrap(cre, SUserInfo));
  230. return result;
  231. }
  232. // 撤销确认组件报损
  233. else if ("SaveUNConfirmIdnrkScrap" == cre.Name)
  234. {
  235. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  236. () => BPMDataLogic.SaveUNConfirmIdnrkScrap(cre, SUserInfo));
  237. return result;
  238. }
  239. //同步bpm组件报损
  240. else if ("SynIdnrkScrap" == cre.Name)
  241. {
  242. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  243. () => BPMDataLogic.SynIdnrkScrap(cre, SUserInfo));
  244. return result;
  245. }
  246. //撤销bpm组件报损
  247. else if ("CancelSynIdnrkScrap" == cre.Name)
  248. {
  249. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  250. () => BPMDataLogic.CancelSynIdnrkScrap(cre, SUserInfo));
  251. return result;
  252. }
  253. //查询成本中心
  254. else if ("GetCostCenter" == cre.Name)
  255. {
  256. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  257. () => BPMDataLogic.GetCostCenter(cre, SUserInfo));
  258. return result;
  259. }
  260. //设置成本中心
  261. else if ("SaveCostCenter" == cre.Name)
  262. {
  263. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  264. () => BPMDataLogic.SaveCostCenter(cre, SUserInfo));
  265. return result;
  266. }
  267. //确认bpm 同一流程实例报损履历是否全部选中
  268. else if ("CheckScrap" == cre.Name)
  269. {
  270. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  271. () => BPMDataLogic.CheckScrap(cre, SUserInfo));
  272. return result;
  273. }
  274. //删除报损履历
  275. else if ("DeleteIDNRKScrap" == cre.Name)
  276. {
  277. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  278. () => BPMDataLogic.DeleteIDNRKScrap(cre, SUserInfo));
  279. return result;
  280. }
  281. //新建报损履历
  282. else if ("AddIDNRKScrap" == cre.Name)
  283. {
  284. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  285. () => BPMDataLogic.AddIDNRKScrap(cre, SUserInfo));
  286. return result;
  287. }
  288. //获取报损履历信息
  289. else if ("GetIDNRKScrap" == cre.Name)
  290. {
  291. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  292. () => BPMDataLogic.GetIDNRKScrap(cre, SUserInfo));
  293. return result;
  294. }
  295. //
  296. else if ("GetIdnrkCode" == cre.Name)
  297. {
  298. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  299. () => BPMDataLogic.GetIdnrkCode(cre, SUserInfo));
  300. return result;
  301. }
  302. //编辑报损履历
  303. else if ("UpdateIDNRKScrap" == cre.Name)
  304. {
  305. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  306. () => BPMDataLogic.UpdateIDNRKScrap(cre, SUserInfo));
  307. return result;
  308. }
  309. #endregion
  310. #region 中台相关
  311. // 查询中台同步日志
  312. else if ("GetZhongTaiDataLog" == cre.Name)
  313. {
  314. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  315. () => BPMDataLogic.GetZhongTaiDataLog(cre, SUserInfo));
  316. return result;
  317. }
  318. // 同步中台同步日志
  319. else if ("SyncZhongTaiData" == cre.Name)
  320. {
  321. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  322. () => BPMDataLogic.SyncZhongTaiData(cre));
  323. return result;
  324. }
  325. #endregion
  326. #region 昆船WMS
  327. // 查询昆船WMS同步日志
  328. else if ("GetKunChuanDataLog" == cre.Name)
  329. {
  330. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  331. () => BPMDataLogic.GetKunChuanDataLog(cre, SUserInfo));
  332. return result;
  333. }
  334. // 同步昆船WMS同步日志
  335. else if ("SyncKunChuanData" == cre.Name)
  336. {
  337. ServiceResultEntity result = ServiceInvoker.Invoke<ServiceResultEntity>(this,
  338. () => BPMDataLogic.SyncKunChuanData(cre));
  339. return result;
  340. }
  341. #endregion
  342. return null;
  343. }
  344. #endregion
  345. return null;
  346. }
  347. catch (Exception ex)
  348. {
  349. throw ex;
  350. }
  351. }
  352. #endregion
  353. #region Hegii
  354. ///// <summary>
  355. ///// 获取同步最后一次同步成功的日期
  356. ///// </summary>
  357. ///// <returns></returns>
  358. //public ServiceResultEntity GetLastDateBy(string dataCode)
  359. //{
  360. // try
  361. // {
  362. // }
  363. // catch (Exception ex)
  364. // {
  365. // throw ex;
  366. // }
  367. //}
  368. #endregion
  369. }
  370. }