ModuleCallbackController.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using Procurement.Enums;
  2. using Microsoft.AspNetCore.Mvc;
  3. using System;
  4. using System.Threading.Tasks;
  5. using Volo.Abp.AspNetCore.Mvc;
  6. using Procurement.EntityFrameworkCore.SqlRepositories;
  7. using Procurement.ViewModel;
  8. using Procurement.Helpers;
  9. using System.Text.Json;
  10. using System.Data.SqlClient;
  11. using Procurement.Core;
  12. namespace Procurement.Controllers
  13. {
  14. [Produces("application/json")]
  15. [Route("api/[controller]")]
  16. public class ModuleCallbackController : AbpController
  17. {
  18. private readonly ISqlRepository _repository;
  19. private string logType = "ModuleCallback";
  20. public ModuleCallbackController(ISqlRepository sqlRepository)
  21. {
  22. _repository = sqlRepository;
  23. }
  24. /// <summary>
  25. /// 接收IQC检验结果
  26. /// </summary>
  27. /// <returns></returns>
  28. [Route("iqcresult")]
  29. [HttpPost]
  30. public async Task<IActionResult> SaveIQCResult([FromBody] JsonElement jsonElement)
  31. {
  32. if (jsonElement.ValueKind == JsonValueKind.Undefined || jsonElement.ValueKind == JsonValueKind.Null)
  33. {
  34. return BadRequest();
  35. }
  36. string reqMethod = HttpContext.Request.Method.ToString().ToUpper();
  37. string traceId = DateTime.Now.ToString("yyyyMMddHHmmssfff");
  38. string logAction = "IQCResult";
  39. NLogHelper.Info(logType, logAction, $"收到{reqMethod}请求:RecID_{traceId}|{jsonElement.ToString()}");
  40. ResultCode code = ResultCode.Fail, subCode = ResultCode.Fail;
  41. string subMsg = "";
  42. try
  43. {
  44. string proc = "pr_WMS_SaveIQCResult";
  45. SqlParameter[] sqlParams = SqlHelper.CreateSqlParameters(jsonElement);
  46. var resultData = await _repository.GetResultByProcAsync(proc, sqlParams);
  47. subMsg = resultData.msg;
  48. if (resultData.isSuccess)
  49. {
  50. code = ResultCode.Success;
  51. subCode = ResultCode.Success;
  52. }
  53. }
  54. catch (Exception ex)
  55. {
  56. subMsg = ex.Message;
  57. code = ResultCode.Fail;
  58. subCode = ResultCode.Fail;
  59. }
  60. ResultViewModel result = ResultHelper.CreateResult(code, null, subCode, subMsg);
  61. NLogHelper.Info(logType, logAction, $"处理结果:RecID_{traceId}|{subMsg}");
  62. return Ok(result);
  63. }
  64. }
  65. }