From 597f8e08e6264b2143454e40a7be553d1e8b6df7 Mon Sep 17 00:00:00 2001 From: sjz <1240968267@qq.com> Date: 星期五, 09 五月 2025 17:04:19 +0800 Subject: [PATCH] 2025/5/9 沈 --- StandardInterface/MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs | 135 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 135 insertions(+), 0 deletions(-) diff --git a/StandardInterface/MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs b/StandardInterface/MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs new file mode 100644 index 0000000..5863393 --- /dev/null +++ b/StandardInterface/MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs @@ -0,0 +1,135 @@ +锘縰sing MES.Service.Dto.webApi; +using MES.Service.Dto.webApi.QcIssueResult; +using MES.Service.Modes; +using MES.Service.Modes.QcIssueResult; +//using MES.Service.Modes.SentLaboratory; +using MES.Service.service; +using MES.Service.service.QcIssueResult; +using MES.Service.util; +using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System.Diagnostics; +using System.Dynamic; +using System.Net; +using System.Text; +using System.Text.Json.Nodes; +using System.Web; + +namespace MESApplication.Controllers.QcIssueResult; + +[ApiController] +[Route("api/[controller]")] +public class QcIssueResultController : ControllerBase +{ + private readonly MessageCenterManager _manager = new(); + private readonly QcIssueResultManager m = new(); + + private readonly string METHOD = "POST"; + + private readonly string TableName = "MES_QCISSUE_RESULT"; + + private readonly string URL = "http://localhost:10054/api/QcIssueResult/"; + + + [HttpPost("GetProcessNo")] + public IActionResult StartDingtalkProcess([FromBody] GetQcIssueResultDetail getQcIssueResultDetail) + { + + try + { + // 鏂板URL瑙g爜澶勭悊閫昏緫 + DecodeUrlEncodedProperties(getQcIssueResultDetail); + + // 璋冪敤 QcIssueResultManager 涓殑 GetProcessNo 鏂规硶鏉ュ惎鍔ㄩ拤閽夊伐浣滄祦瀹炰緥 + string result = m.GetProcessNo(getQcIssueResultDetail); + + string getLaboratoryDetailsJson = JsonConvert.SerializeObject(getQcIssueResultDetail, Formatting.Indented); + Debug.WriteLine("getQcIssueResultDetail: " + getLaboratoryDetailsJson); + + string jsonPart = result.Substring(result.IndexOf("{")); + JObject jsonObject = JObject.Parse(jsonPart); + // 鎻愬彇instanceId鐨勫�� + string instanceId = jsonObject["InstanceId"].ToString(); + + dynamic resultInfos = new ExpandoObject(); + string ProcessNo = instanceId; + var save = m.SaveProcessNo(getQcIssueResultDetail.ReleaseNo, instanceId,getQcIssueResultDetail.StaffNo,getQcIssueResultDetail.Department); + resultInfos.tbBillList = save; + + return Ok(result); + } + catch (Exception ex) + { + // 鎹曡幏寮傚父骞惰繑鍥為敊璇俊鎭� + return StatusCode(500, $"鍚姩閽夐拤宸ヤ綔娴佸疄渚嬪け璐�: {ex.Message}"); + } + } + + // 鏂板瑙g爜鏂规硶 + private void DecodeUrlEncodedProperties(object obj) + { + if (obj == null) return; + + var properties = obj.GetType().GetProperties(); + foreach (var prop in properties) + { + // 鍙鐞嗗瓧绗︿覆绫诲瀷鐨勫睘鎬� + if (prop.PropertyType == typeof(string) && prop.CanWrite) + { + var value = prop.GetValue(obj) as string; + if (!string.IsNullOrEmpty(value)) + { + // 浣跨敤UTF8缂栫爜杩涜瑙g爜 + var decodedValue = HttpUtility.UrlDecode(value, Encoding.UTF8); + prop.SetValue(obj, decodedValue); + } + } + } + } + + [HttpPost("Save")] + public ResponseResult Save(ErpQcIssueResult erpQcIssueResult) + { + var entity = new MessageCenter(); + entity.TableName = TableName; + entity.Url = URL + "Save"; + entity.Method = METHOD; + entity.Data = JsonConvert.SerializeObject(erpQcIssueResult); + entity.Status = 1; + entity.CreateBy = "PL017"; + try + { + dynamic resultInfos = new ExpandoObject(); + var save = m.Save(erpQcIssueResult); + //resultInfos.tbBillList = save; + + //entity.Result = 0; + //if (save) entity.Result = 1; + + //entity.DealWith = 1; + //_manager.save(entity); + + return new ResponseResult + { + status = 0, + message = "OK", + data = save + }; + } + catch (Exception ex) + { + entity.Result = 0; + + entity.DealWith = 0; + + entity.ResultData = ex.Message; + + _manager.save(entity); + + return ResponseResult.ResponseError(ex); + } + } + +} + -- Gitblit v1.9.3