yusijie
2024-12-18 e998e67f3b017d41b4f1c322301c1e8a4bc7c241
截取返回金蝶报错信息
1个文件已添加
2个文件已修改
67 ■■■■■ 已修改文件
CLOUDWEB/CLOUDWEB.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CLOUDWEB/Model/KingdeeResponse.cs 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CLOUDWEB/WebService1.asmx.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CLOUDWEB/CLOUDWEB.csproj
@@ -318,6 +318,7 @@
    </Compile>
    <Compile Include="Log.cs" />
    <Compile Include="LogService.cs" />
    <Compile Include="Model\KingdeeResponse.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Site.Master.cs">
      <DependentUpon>Site.Master</DependentUpon>
CLOUDWEB/Model/KingdeeResponse.cs
New file
@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CLOUDWEB
{
    public class KingdeeResponse
    {
        public _Result Result { get; set; }
    }
    public class _Result
    {
        public _ResponseStatus ResponseStatus { get; set; }
    }
    public class _ResponseStatus
    {
        public int ErrorCode { get; set; }
        public bool IsSuccess { get; set; }
        private List<_Error> _errors;
        public List<_Error> Errors
        {
            get; set;
        } = new List<_Error>();
        private List<_SuccessEntity> _successEntitys;
        public List<_SuccessEntity> SuccessEntitys
        {
            get; set;
        }
        public int MsgCode { get; set; }
    }
    public class _Error
    {
        public string FieldName { get; set; }
        public string Message { get; set; }
        public int DIndex { get; set; }
        //错误的单据编号
        public string FNumber { get; set; }
    }
    public class _SuccessEntity
    {
        public int Id { get; set; }
        public string Number { get; set; }
        public int DIndex { get; set; }
    }
}
CLOUDWEB/WebService1.asmx.cs
@@ -7,6 +7,7 @@
using System.Web.Services;
using System.Data.SqlClient;
using System.Globalization;
using Newtonsoft.Json;
namespace CLOUDWEB
{
@@ -32937,7 +32938,17 @@
                        if (HReturn.Contains("\"IsSuccess\":false") == true)
                        {
                            sErrMsg = "生成生产入库单失败!" + HReturn;
                            //反序列化json数据
                            var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result);
                            //接收金蝶报错信息
                            var strErrorMsg = string.Empty;
                            //遍历获取报错信息
                            foreach (var item in retModel.Result.ResponseStatus.Errors)
                            {
                                strErrorMsg += item.Message + "\r\n";
                            };
                            sErrMsg = "生成生产入库单失败!" + strErrorMsg;
                            LogService.Write("生成生产入库单(源单:生产任务单)失败!" + HReturn + sJson);   //写入txt文本
                            oCn.RollBack();
                            return false;