sjz
4 天以前 bf780b6c83012b5beb3d7515b8fb61753c5fb736
MESApplication/Controllers/QcIssueResult/QcIssueResultController.cs
@@ -2,6 +2,7 @@
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;
@@ -10,6 +11,10 @@
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;
@@ -33,14 +38,17 @@
   
        try
        {
            // 新增URL解码处理逻辑
            DecodeUrlEncodedProperties(getQcIssueResultDetail);
            // 调用 QcIssueResultManager 中的 GetProcessNo 方法来启动钉钉工作流实例
            string result = m.GetProcessNo(getQcIssueResultDetail);
            string jsonPart = result.Substring(result.IndexOf("{"));
            Debug.WriteLine(jsonPart);
            JObject jsonObject = JObject.Parse(jsonPart);
            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();
@@ -58,6 +66,27 @@
        }
    }
    // 新增解码方法
    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编码进行解码
                    var decodedValue = HttpUtility.UrlDecode(value, Encoding.UTF8);
                    prop.SetValue(obj, decodedValue);
                }
            }
        }
    }
    [HttpPost("Save")]
    public ResponseResult Save(ErpQcIssueResult erpQcIssueResult)