sjz
6 天以前 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,11 +11,15 @@
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/QcIssueResult")]
[Route("api/[controller]")]
public class QcIssueResultController : ControllerBase
{
    private readonly MessageCenterManager _manager = new();
@@ -33,20 +38,24 @@
   
        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();
            dynamic resultInfos = new ExpandoObject();
            string ProcessNo = instanceId;
            //var save = m.SaveProcessNo(ReleaseNo, instanceId);
            //resultInfos.tbBillList = save;
            var save = m.SaveProcessNo(getQcIssueResultDetail.ReleaseNo, instanceId);
            resultInfos.tbBillList = save;
            return Ok(result);
        }
@@ -57,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)