PDAModuleServiceWorkShop3.cs 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  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 xuwei add 2019-10-28 三车间接口
  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. //2020-06-26 读取预检(成检交接)数据
  284. public ActionResult GetPreProductCheck(string accountCode, string userCode, string userPassword, string sessionKey, string barCode)
  285. {
  286. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetPreProductCheck",
  287. accountCode,
  288. userCode,
  289. userPassword,
  290. sessionKey,
  291. barCode
  292. );
  293. }
  294. //xuwei end
  295. #endregion
  296. #region xuwei add 2021-08-11 防伪码处理接口
  297. //防伪码绑定
  298. public ActionResult UpdateSecurityCodeByBarcode(string accountCode, string userCode, string userPassword, string sessionKey, string barCode, string securityCode, string procedureID)
  299. {
  300. return CallActionResult("PDAModuleLogic.PDAModuleLogic.UpdateSecurityCodeByBarcode",
  301. accountCode,
  302. userCode,
  303. userPassword,
  304. sessionKey,
  305. barCode,
  306. securityCode,
  307. procedureID
  308. );
  309. }
  310. //防伪码校验
  311. public ActionResult CheckSecurityCodeByBarcode(string accountCode, string userCode, string userPassword, string sessionKey, string barCode, string securityCode)
  312. {
  313. return CallActionResult("PDAModuleLogic.PDAModuleLogic.CheckSecurityCodeByBarcode",
  314. accountCode,
  315. userCode,
  316. userPassword,
  317. sessionKey,
  318. barCode,
  319. securityCode
  320. );
  321. }
  322. //读取防伪码
  323. public ActionResult GetSecurityCodeByBarcode(string accountCode, string userCode, string userPassword, string sessionKey, string barCode)
  324. {
  325. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetSecurityCodeByBarcode",
  326. accountCode,
  327. userCode,
  328. userPassword,
  329. sessionKey,
  330. barCode
  331. );
  332. }
  333. //读取防伪码设置
  334. public ActionResult GetSecurityCodeSetting(string accountCode, string userCode, string userPassword, string sessionKey)
  335. {
  336. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetSecurityCodeSetting",
  337. accountCode,
  338. userCode,
  339. userPassword,
  340. sessionKey
  341. );
  342. }
  343. //通用情况
  344. public ActionResult GetStatusByBarcode(string accountCode, string userCode, string userPassword, string sessionKey, string barCode, string procedureID)
  345. {
  346. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetStatusByBarcode",
  347. accountCode,
  348. userCode,
  349. userPassword,
  350. sessionKey,
  351. barCode,
  352. procedureID
  353. );
  354. }
  355. #endregion
  356. #region lsq add 2021-08-25 pda端注浆登记验证工号的注浆权限
  357. public ActionResult CheckGroutingPower(string accountCode, string userCode, string userPassword, string sessionKey, string groutingData)
  358. {
  359. return CallActionResult("PDAModuleLogic.PDAModuleLogic.CheckGroutingPower",
  360. accountCode,
  361. userCode,
  362. userPassword,
  363. sessionKey,
  364. groutingData
  365. );
  366. }
  367. #endregion
  368. #region xuwei add 2021-09-11 通用方法
  369. //读取系统参数 xuwei add 2021-09-11
  370. public ActionResult GetSystemSetting(string accountCode, string userCode, string userPassword, string sessionKey, string settingCode)
  371. {
  372. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetSystemSetting",
  373. accountCode,
  374. userCode,
  375. userPassword,
  376. sessionKey,
  377. settingCode
  378. );
  379. }
  380. //读取产品信息 xuwei add 2021-09-14
  381. public ActionResult GetGoodsByBarcode(string accountCode, string userCode, string userPassword, string sessionKey, string barCode)
  382. {
  383. return CallActionResult("PDAModuleLogic.PDAModuleLogic.GetGoodsByBarcode",
  384. accountCode,
  385. userCode,
  386. userPassword,
  387. sessionKey,
  388. barCode
  389. );
  390. }
  391. #endregion
  392. }
  393. }