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