PDAModuleServiceWorkShop3.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. /*******************************************************************************
  2. * Copyright(c) 2019 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:PDAModuleService.cs
  5. * 2.功能描述:PDA模块WCF服务
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 徐伟 2019/10/23 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Reflection;
  12. using System.Collections.Generic;
  13. using System.Data;
  14. using System.IO;
  15. using System.ServiceModel;
  16. using System.ServiceModel.Activation;
  17. using Dongke.IBOSS.PRD.Basics.BaseResources;
  18. using Dongke.IBOSS.PRD.Basics.DataAccess;
  19. using Dongke.IBOSS.PRD.Basics.Library;
  20. using Dongke.IBOSS.PRD.Service.BarcodePrintService;
  21. using Dongke.IBOSS.PRD.Service.CommonModuleLogic;
  22. using Dongke.IBOSS.PRD.Service.DataModels;
  23. using Dongke.IBOSS.PRD.Service.DKIBOSSPRDLogic;
  24. using Dongke.IBOSS.PRD.Service.HRModuleLogic;
  25. using Dongke.IBOSS.PRD.Service.PCModuleLogic;
  26. using Dongke.IBOSS.PRD.Service.PDAModuleLogic;
  27. using Dongke.IBOSS.PRD.Service.PMModuleLogic;
  28. using Dongke.IBOSS.PRD.Service.PublicModuleService;
  29. using Dongke.IBOSS.PRD.Service.ReportModuleLogic;
  30. using Dongke.IBOSS.PRD.Service.SmartDeviceService;
  31. using Dongke.IBOSS.PRD.Service.SystemModuleLogic;
  32. using Dongke.IBOSS.PRD.WCF.Contracts;
  33. using Dongke.IBOSS.PRD.WCF.DataModels;
  34. using Dongke.IBOSS.PRD.WCF.DataModels.ConfigModule;
  35. using Dongke.IBOSS.PRD.WCF.DataModels.HRModule;
  36. using Dongke.IBOSS.PRD.WCF.DataModels.PCModule;
  37. using Dongke.IBOSS.PRD.WCF.DataModels.PMModule;
  38. namespace Dongke.IBOSS.PRD.WCF.Services
  39. {
  40. public partial class PDAModuleService : IPDAModule
  41. {
  42. #region 三车间接口
  43. //xuwei add 2019-10-28
  44. //===================================================
  45. public ServiceResultEntity CallLogicResult(string classMethodName, params object[] methodPara)
  46. {
  47. //类名称
  48. string className = classMethodName.Substring(0, classMethodName.LastIndexOf("."));
  49. //程序集名称
  50. string dllName = classMethodName.Substring(0, classMethodName.IndexOf("."));
  51. //方法名称
  52. string methodName = classMethodName.Substring(classMethodName.LastIndexOf(".") + 1);
  53. //定义业务逻辑方法
  54. string logicClassName = $"Dongke.IBOSS.PRD.Service.{className},{dllName}";
  55. var logicClass = Type.GetType(logicClassName);
  56. //object logicInstance = Activator.CreateInstance(logicClass);
  57. MethodInfo logicMethod = logicClass.GetMethod(methodName);
  58. //调用业务逻辑方法
  59. return (ServiceResultEntity)logicMethod.Invoke(null, methodPara);
  60. }
  61. public ActionResult CallActionResult(string methodName, params object[] methodPara)
  62. {
  63. //获取参数
  64. string accountCode = methodPara[0].ToString();
  65. string userCode = methodPara[1].ToString();
  66. string userPassword = methodPara[2].ToString();
  67. string sessionKey = methodPara[3].ToString();
  68. //拼合业务逻辑调用参数 去除前4个参数 加入参数 sUserInfo
  69. object[] logicPara = new object[methodPara.Length - 3];
  70. for (int i = 4; i < methodPara.Length; i++)
  71. {
  72. logicPara[i - 4] = methodPara[i];
  73. }
  74. ActionResult action = this.DoPDACheck(accountCode, userCode, userPassword, sessionKey);
  75. //追加最后一个参数 sUserInfo
  76. logicPara[logicPara.Length - 1] = sUserInfo;
  77. try
  78. {
  79. // 验证请求头信息
  80. if (action.Status != (int)Constant.PDAResult.Success) return action;
  81. ServiceResultEntity sre = CallLogicResult(methodName,logicPara);
  82. action.Result = JsonHelper.ToJson(sre.Data);
  83. action.Status = sre.Status == Constant.ServiceResultStatus.Success ? (int)Constant.PDAResult.Success : (int)Constant.PDAResult.Fail;
  84. action.Message = sre.Message;
  85. }
  86. catch (Exception ex)
  87. {
  88. OutputLog.TraceLog(LogPriority.Error,
  89. this.ToString(),
  90. System.Reflection.MethodBase.GetCurrentMethod().Name,
  91. ex.ToString(),
  92. LocalPath.LogExePath);
  93. action.Status = (int)Constant.PDAResult.Exception;
  94. action.Message = Constant.PDA_RESULT_EXCEPTION;
  95. }
  96. return action;
  97. }
  98. //===================================================
  99. public ActionResult GetGroutingLineUserCode(string accountCode, string userCode, string userPassword, string sessionKey, string groutingLineCode)
  100. {
  101. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingLineUserCode",
  102. accountCode,
  103. userCode,
  104. userPassword,
  105. sessionKey,
  106. groutingLineCode
  107. );
  108. }
  109. public ActionResult SetGroutingLineUserCode(string accountCode, string userCode, string userPassword, string sessionKey, string groutingLineCode)
  110. {
  111. return CallActionResult("PDAModuleLogic.PDAModuleLogic.SetGroutingLineUserCode",
  112. accountCode,
  113. userCode,
  114. userPassword,
  115. sessionKey,
  116. groutingLineCode
  117. );
  118. }
  119. public ActionResult GetGroutingLineInfo(string accountCode, string userCode, string userPassword, string sessionKey, string groutingLineCode, string groutingDay)
  120. {
  121. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingLineInfo",
  122. accountCode,
  123. userCode,
  124. userPassword,
  125. sessionKey,
  126. groutingLineCode,
  127. groutingDay
  128. );
  129. }
  130. public ActionResult GetGroutingLineDetail(string accountCode, string userCode, string userPassword, string sessionKey, string groutingLineCode, string groutingDay)
  131. {
  132. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingLineDetail",
  133. accountCode,
  134. userCode,
  135. userPassword,
  136. sessionKey,
  137. groutingLineCode,
  138. groutingDay
  139. );
  140. }
  141. public ActionResult SetGroutingLineDetail(string accountCode, string userCode, string userPassword, string sessionKey, string groutingData)
  142. {
  143. return CallActionResult("PDAModuleLogic.PDAModuleLogic.SetGroutingLineDetail",
  144. accountCode,
  145. userCode,
  146. userPassword,
  147. sessionKey,
  148. groutingData
  149. );
  150. }
  151. public ActionResult GetGroutingLineGrouting(string accountCode, string userCode, string userPassword, string sessionKey, string groutingLineCode, string groutingDay, string groutingBatchNo)
  152. {
  153. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingLineGrouting",
  154. accountCode,
  155. userCode,
  156. userPassword,
  157. sessionKey,
  158. groutingLineCode,
  159. groutingDay,
  160. groutingBatchNo
  161. );
  162. }
  163. public ActionResult SetGroutingLineGrouting(string accountCode, string userCode, string userPassword, string sessionKey,string groutingData)
  164. {
  165. return CallActionResult("PDAModuleLogic.PDAModuleLogic.SetGroutingLineGrouting",
  166. accountCode,
  167. userCode,
  168. userPassword,
  169. sessionKey,
  170. groutingData
  171. );
  172. }
  173. public ActionResult GetGroutingLineBatchNo(string accountCode, string userCode, string userPassword, string sessionKey, string groutingLineCode, string groutingDay)
  174. {
  175. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingLineBatchNo",
  176. accountCode,
  177. userCode,
  178. userPassword,
  179. sessionKey,
  180. groutingLineCode,
  181. groutingDay
  182. );
  183. }
  184. public ActionResult GetGroutingNoGroutingReason(string accountCode, string userCode, string userPassword, string sessionKey)
  185. {
  186. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingNoGroutingReason",
  187. accountCode,
  188. userCode,
  189. userPassword,
  190. sessionKey
  191. );
  192. }
  193. public ActionResult GetGroutingMouldBatchNo(string accountCode, string userCode, string userPassword, string sessionKey, string groutingMouldCode, string groutingDay)
  194. {
  195. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingMouldBatchNo",
  196. accountCode,
  197. userCode,
  198. userPassword,
  199. sessionKey,
  200. groutingMouldCode,
  201. groutingDay
  202. );
  203. }
  204. public ActionResult GetGroutingMouldGrouting(string accountCode, string userCode, string userPassword, string sessionKey, string groutingMouldCode, string groutingDay, string groutingBatchNo)
  205. {
  206. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingMouldGrouting",
  207. accountCode,
  208. userCode,
  209. userPassword,
  210. sessionKey,
  211. groutingMouldCode,
  212. groutingDay,
  213. groutingBatchNo
  214. );
  215. }
  216. public ActionResult GetGroutingMouldGroutingNext(string accountCode, string userCode, string userPassword, string sessionKey, string groutingMouldCode, string groutingDay, string groutingBatchNo)
  217. {
  218. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingMouldGroutingNext",
  219. accountCode,
  220. userCode,
  221. userPassword,
  222. sessionKey,
  223. groutingMouldCode,
  224. groutingDay,
  225. groutingBatchNo
  226. );
  227. }
  228. public ActionResult BindGroutingBarCode(string accountCode, string userCode, string userPassword, string sessionKey, string groutingDailyDetailId, string barCode)
  229. {
  230. return CallActionResult("PDAModuleLogic.PDAModuleLogic.BindGroutingBarCode",
  231. accountCode,
  232. userCode,
  233. userPassword,
  234. sessionKey,
  235. groutingDailyDetailId,
  236. barCode
  237. );
  238. }
  239. public ActionResult UnBindGroutingBarCode(string accountCode, string userCode, string userPassword, string sessionKey, string groutingDailyDetailId, string barCode)
  240. {
  241. return CallActionResult("PDAModuleLogic.PDAModuleLogic.UnBindGroutingBarCode",
  242. accountCode,
  243. userCode,
  244. userPassword,
  245. sessionKey,
  246. groutingDailyDetailId,
  247. barCode
  248. );
  249. }
  250. public ActionResult UnBindGroutingLineBarCode(string accountCode, string userCode, string userPassword, string sessionKey, string groutingLineCode, string groutingDay, string groutingBatchNo)
  251. {
  252. return CallActionResult("PDAModuleLogic.PDAModuleLogic.UnBindGroutingLineBarCode",
  253. accountCode,
  254. userCode,
  255. userPassword,
  256. sessionKey,
  257. groutingLineCode,
  258. groutingDay,
  259. groutingBatchNo
  260. );
  261. }
  262. public ActionResult SetGroutingScrap(string accountCode, string userCode, string userPassword, string sessionKey, string groutingDailyDetailId, string scrapFlag)
  263. {
  264. return CallActionResult("PDAModuleLogic.PDAModuleLogic.SetGroutingScrap",
  265. accountCode,
  266. userCode,
  267. userPassword,
  268. sessionKey,
  269. groutingDailyDetailId,
  270. scrapFlag
  271. );
  272. }
  273. public ActionResult GetGroutingDailyDetail(string accountCode, string userCode, string userPassword, string sessionKey, string barCode)
  274. {
  275. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGroutingDailyDetail",
  276. accountCode,
  277. userCode,
  278. userPassword,
  279. sessionKey,
  280. barCode
  281. );
  282. }
  283. //xuwei end
  284. #endregion
  285. }
  286. }