From 465a5c91bf763eebedf7f72007fa1ded7dc12db6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=96=8C?= <1324361213@qq.com> Date: Mon, 1 Sep 2025 13:58:20 +0800 Subject: [PATCH] 1 --- Reportapi/Lib/Kingdee.CDP.WebApi.SDK.dll | Bin 0 -> 61952 bytes .../Config/K3CloudConfig.cs | 23 +++++ .../MyCode.Project.Domain.csproj | 1 + .../MyCode.Project.Services/K3CloudHelp.cs | 83 ++++++++++++++++++ .../MyCode.Project.Services.csproj | 11 +-- Reportapi/MyCode.Project.WebApi/Web.config | 41 +++++---- Reportapi/MyCode.Project.sln | 9 +- 7 files changed, 141 insertions(+), 27 deletions(-) create mode 100644 Reportapi/Lib/Kingdee.CDP.WebApi.SDK.dll create mode 100644 Reportapi/MyCode.Project.Domain/Config/K3CloudConfig.cs create mode 100644 Reportapi/MyCode.Project.Services/K3CloudHelp.cs diff --git a/Reportapi/Lib/Kingdee.CDP.WebApi.SDK.dll b/Reportapi/Lib/Kingdee.CDP.WebApi.SDK.dll new file mode 100644 index 0000000000000000000000000000000000000000..3e2915fe4dfe7f767fea6230d018a4f6d693a6b4 GIT binary patch literal 61952 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 literal 0 HcmV?d00001 diff --git a/Reportapi/MyCode.Project.Domain/Config/K3CloudConfig.cs b/Reportapi/MyCode.Project.Domain/Config/K3CloudConfig.cs new file mode 100644 index 0000000..cb58546 --- /dev/null +++ b/Reportapi/MyCode.Project.Domain/Config/K3CloudConfig.cs @@ -0,0 +1,23 @@ +using MyCode.Project.Infrastructure.Common; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MyCode.Project.Domain.Config +{ + /// + /// 金蝶云星空配置类 + /// + public static class K3CloudConfig + { + public static string AcctID = WebConfigUtils.GetConnectionStringsInfo("AcctID"); + public static string AppID = WebConfigUtils.GetConnectionStringsInfo("AppID"); + public static string AppSec = WebConfigUtils.GetConnectionStringsInfo("AppSec"); + public static string UserName = WebConfigUtils.GetConnectionStringsInfo("UserName"); + public static string LCID = WebConfigUtils.GetConnectionStringsInfo("LCID"); + public static string ServerUrl = WebConfigUtils.GetConnectionStringsInfo("ServerUrl"); + public static string OrgNumber = WebConfigUtils.GetConnectionStringsInfo("OrgNumber"); + } +} diff --git a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj index 69968f2..fdd8310 100644 --- a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj +++ b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj @@ -54,6 +54,7 @@ + diff --git a/Reportapi/MyCode.Project.Services/K3CloudHelp.cs b/Reportapi/MyCode.Project.Services/K3CloudHelp.cs new file mode 100644 index 0000000..aed9181 --- /dev/null +++ b/Reportapi/MyCode.Project.Services/K3CloudHelp.cs @@ -0,0 +1,83 @@ +using Kingdee.CDP.WebApi.SDK; +using MyCode.Project.Domain.Config; +using MyCode.Project.Domain.Message.Response.User; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MyCode.Project.Services +{ + public static class K3CloudHelp + { + private static K3CloudApi k3CloudApi; + + public static K3CloudApi GetK3CloudApiInstance() + { + K3CloudOption k3CloudOption = new K3CloudOption() + { + AcctID = K3CloudConfig.AcctID, + AppID = K3CloudConfig.AppID, + AppSec = K3CloudConfig.AppSec, + LCID = Convert.ToInt32(K3CloudConfig.LCID), + ServerUrl = K3CloudConfig.ServerUrl, + UserName = K3CloudConfig.UserName, + OrgNumber = K3CloudConfig.OrgNumber + }; + if (k3CloudApi == null) + { + k3CloudApi = new K3CloudApi(k3CloudOption.ServerUrl, 30); + } + k3CloudApi.InitClient( + k3CloudOption.AcctID, + k3CloudOption.AppID, + k3CloudOption.AppSec, + k3CloudOption.UserName, + k3CloudOption.LCID, + k3CloudOption.OrgNumber, + k3CloudOption.ServerUrl + ); + + return k3CloudApi; + } + + public static K3CloudApi CreateDefaultK3CloudApi() + { + + return k3CloudApi; + } + + private class K3CloudOption + { + /// + /// DBID + /// + public string AcctID { get; set; } + /// + /// 应用ID + /// + public string AppID { get; set; } + /// + /// 应用密钥 + /// + public string AppSec { get; set; } + /// + /// 服务器地址 + /// + public string ServerUrl { get; set; } + /// + /// 默认语言ID + /// + public int LCID { get; set; } + /// + /// 默认用户名称 + /// + public string UserName { get; set; } + /// + /// 默认组织ID + /// + public string OrgNumber { get; set; } + } + } +} diff --git a/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj b/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj index 8a0b90f..617740d 100644 --- a/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj +++ b/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj @@ -38,6 +38,9 @@ ..\packages\AutoMapper.6.1.1\lib\net45\AutoMapper.dll True + + ..\Lib\Kingdee.CDP.WebApi.SDK.dll + ..\packages\log4net.2.0.8\lib\net45-full\log4net.dll True @@ -115,28 +118,22 @@ - - - - - - - + diff --git a/Reportapi/MyCode.Project.WebApi/Web.config b/Reportapi/MyCode.Project.WebApi/Web.config index 8b44b6a..eff6a91 100644 --- a/Reportapi/MyCode.Project.WebApi/Web.config +++ b/Reportapi/MyCode.Project.WebApi/Web.config @@ -4,11 +4,11 @@ https://go.microsoft.com/fwlink/?LinkId=301879 --> - +
- + @@ -26,12 +26,12 @@ - - - - + + + + - + @@ -54,7 +54,7 @@ - + @@ -62,10 +62,19 @@ + - - - + + + + + + + + + + + - - + + @@ -203,7 +212,7 @@ - + @@ -212,7 +221,7 @@ - + @@ -229,7 +238,7 @@ - + diff --git a/Reportapi/MyCode.Project.sln b/Reportapi/MyCode.Project.sln index 384e3f3..0375e4c 100644 --- a/Reportapi/MyCode.Project.sln +++ b/Reportapi/MyCode.Project.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.33027.164 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36414.22 d17.14 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Designs", "Designs", "{7DA7AF38-10EF-4157-B270-511E3A58DF6E}" ProjectSection(SolutionItems) = preProject @@ -33,6 +33,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Lib", "Lib", "{EC2A682C-494 Lib\C5.dll = Lib\C5.dll Lib\Common.Logging.dll = Lib\Common.Logging.dll Lib\HtmlAgilityPack.dll = Lib\HtmlAgilityPack.dll + C:\Users\13243\Downloads\Compressed\SDK_.Net4_V9.2.0\.net4.0_sdk_v9.2.0\Kingdee.CDP.WebApi.SDK.Net4.0.V9.2.0\Kingdee.CDP.WebApi.SDK.dll = C:\Users\13243\Downloads\Compressed\SDK_.Net4_V9.2.0\.net4.0_sdk_v9.2.0\Kingdee.CDP.WebApi.SDK.Net4.0.V9.2.0\Kingdee.CDP.WebApi.SDK.dll Lib\log4net.dll = Lib\log4net.dll Lib\log4net.xml = Lib\log4net.xml MyCode.Project.WebApi\bin\Microsoft.Owin.dll = MyCode.Project.WebApi\bin\Microsoft.Owin.dll @@ -278,8 +279,8 @@ Global {B0B592F9-E0B5-41B7-8908-036021468D87} = {8D2B010E-7C91-4375-B93D-511ADE541A2B} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.0\lib\NET35;packages\Unity.Interception.2.1.505.0\lib\NET35;packages\EnterpriseLibrary.Common.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.Caching.5.0.505.0\lib\NET35 - EnterpriseLibraryConfigurationToolBinariesPathV6 = packages\EnterpriseLibrary.Common.6.0.1304.0\lib\NET45 SolutionGuid = {22616349-AE54-419A-A4A5-7503567F2279} + EnterpriseLibraryConfigurationToolBinariesPathV6 = packages\EnterpriseLibrary.Common.6.0.1304.0\lib\NET45 + EnterpriseLibraryConfigurationToolBinariesPath = packages\Unity.2.1.505.0\lib\NET35;packages\Unity.Interception.2.1.505.0\lib\NET35;packages\EnterpriseLibrary.Common.5.0.505.0\lib\NET35;packages\EnterpriseLibrary.Caching.5.0.505.0\lib\NET35 EndGlobalSection EndGlobal