diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
new file mode 100644
index 0000000..257d421
--- /dev/null
+++ b/.config/dotnet-tools.json
@@ -0,0 +1,13 @@
+{
+ "version": 1,
+ "isRoot": true,
+ "tools": {
+ "csharpier": {
+ "version": "1.0.3",
+ "commands": [
+ "csharpier"
+ ],
+ "rollForward": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/Gatedge.K3Cloud.Utils/Common/FilterItem.cs b/Gatedge.K3Cloud.Utils/Common/FilterItem.cs
new file mode 100644
index 0000000..8337b29
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Common/FilterItem.cs
@@ -0,0 +1,93 @@
+namespace Gatedge.K3Cloud.Utils.Common
+{
+ ///
+ /// 过滤条件项
+ ///
+ public class FilterItem
+ {
+
+
+ //{"Left":"(","FieldName":"Field1","Compare":"67","Value":"111","Right":")","Logic":"0"}
+ ///
+ /// 左连接符
+ ///
+ public string Left { get; set; }
+ ///
+ /// 字段名
+ ///
+ public string FieldName { get; set; }
+ ///
+ /// 比较符
+ ///
+ public string Compare { get; set; }
+ ///
+ /// 值
+ ///
+ public string Value { get; set; }
+ ///
+ /// 右连接符
+ ///
+ public string Right { get; set; }
+ ///
+ /// 逻辑控制符
+ ///
+ public string Logic { get; set; }
+
+ ///
+ /// 构造函数
+ ///
+ public FilterItem()
+ {
+ Left = "";
+ Right = "";
+ Logic = "0";
+ FieldName = "";
+ Compare = "";
+ Value = "";
+ }
+
+ ///
+ /// 生成并且的条件
+ ///
+ ///
+ ///
+ ///
+ public FilterItem(string fieldName, string compare, string value)
+ {
+ Left = "";
+ Right = "";
+ Logic = "0";
+ FieldName = fieldName;
+ Compare = compare;
+ Value = value;
+ }
+ ///
+ /// 构造无左右连接符的过滤条件
+ ///
+ ///
+ ///
+ ///
+ ///
+ public FilterItem(string fieldName, string compare, string value, string logic)
+ {
+ Left = "";
+ Right = "";
+ FieldName = fieldName;
+ Compare = compare;
+ Value = value;
+ Logic = logic;
+ }
+ ///
+ /// 构造全属性过滤条件
+ ///
+ public FilterItem(string left, string fieldName, string compare, string value, string right, string logic)
+ {
+ Left = left;
+ FieldName = fieldName;
+ Compare = compare;
+ Value = value;
+ Right = right;
+ Logic = logic;
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Common/FilterList.cs b/Gatedge.K3Cloud.Utils/Common/FilterList.cs
new file mode 100644
index 0000000..e0a2dfb
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Common/FilterList.cs
@@ -0,0 +1,82 @@
+
+
+namespace Gatedge.K3Cloud.Utils.Common
+{
+ ///
+ /// 过滤条件实体类
+ ///
+ public class FilterList
+ {
+ private List Items;
+
+ ///
+ /// 构造函数,初始化过滤子项
+ ///
+ public FilterList()
+ {
+ Items = new List();
+ }
+ ///
+ /// 添加已审核过滤
+ ///
+ ///
+ ///
+ public FilterList AddAuditedItems(string AuditFieldKey = "FDocumentStatus")
+ {
+ FilterItem DocumentStatusItem = new FilterItem()
+ {
+ Left = "",
+ FieldName = AuditFieldKey,
+ Compare = "105",
+ Value = "C",
+ Right = "",
+ Logic = "0",
+ };
+
+ Items.Add(DocumentStatusItem);
+ return this;
+ }
+
+ ///
+ /// 添加未禁用过滤
+ ///
+ ///
+ ///
+ public FilterList AddNotCancelItems(string CancelFieldKey = "FCancelStatus")
+ {
+ FilterItem DocumentStatusItem = new FilterItem()
+ {
+ Left = "",
+ FieldName = CancelFieldKey,
+ Compare = "105",
+ Value = "A",
+ Right = "",
+ Logic = "0",
+ };
+
+ Items.Add(DocumentStatusItem);
+ return this;
+ }
+
+ ///
+ /// 添加过滤字段
+ ///
+ ///
+ ///
+ public FilterList AddFilterItem(FilterItem filterItem)
+ {
+ Items.Add(filterItem);
+ return this;
+ }
+
+ ///
+ /// 获取过滤字段
+ ///
+ ///
+ public List GetFilterString()
+ {
+
+ return Items;
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Exceptions/K3CloudException.cs b/Gatedge.K3Cloud.Utils/Exceptions/K3CloudException.cs
new file mode 100644
index 0000000..7fcff0c
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Exceptions/K3CloudException.cs
@@ -0,0 +1,26 @@
+
+
+using Gatedge.K3Cloud.Utils.Model.K3Result.Model;
+
+namespace Gatedge.K3Cloud.Utils.Exceptions
+{
+ ///
+ /// 金蝶云星空查看单据异常类
+ ///
+ public class K3CloudException : Exception
+ {
+ ///
+ /// 错误信息列表
+ ///
+ public K3CloudResponseStatus responseStatus { get; set; }
+ ///
+ /// 构造一个新的异常
+ ///
+ ///
+ ///
+ public K3CloudException(string message, K3CloudResponseStatus responseStatus) : base(message)
+ {
+ this.responseStatus = responseStatus;
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Gatedge.K3Cloud.Utils.csproj b/Gatedge.K3Cloud.Utils/Gatedge.K3Cloud.Utils.csproj
new file mode 100644
index 0000000..2a5ea60
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Gatedge.K3Cloud.Utils.csproj
@@ -0,0 +1,19 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+ ..\Library\Kingdee.CDP.WebApi.SDK.dll
+
+
+
+
diff --git a/Gatedge.K3Cloud.Utils/K3CloudApiUtils.cs b/Gatedge.K3Cloud.Utils/K3CloudApiUtils.cs
new file mode 100644
index 0000000..9722164
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/K3CloudApiUtils.cs
@@ -0,0 +1,363 @@
+using Gatedge.K3Cloud.Utils.Exceptions;
+using Gatedge.K3Cloud.Utils.Model.K3Request;
+using Gatedge.K3Cloud.Utils.Model.K3Result;
+using Gatedge.K3Cloud.Utils.Model.K3Result.Model;
+using Gatedge.K3Cloud.Utils.Option;
+using Kingdee.CDP.WebApi.SDK;
+using Kingdee.CDP.WebApi.SDK.DataEntity;
+using System.Text.Json;
+
+namespace Gatedge.K3Cloud.Utils
+{
+ ///
+ /// K3CloudApi帮助类
+ ///
+ public class K3CloudApiUtils
+ {
+ private List _options;
+ private K3CloudApi _cloudApi;
+ private LoginInfo _userInfo;
+
+ ///
+ /// 构造K3CloudApiUtils,option、env是从ICO容器中拿到的对象
+ ///
+ /// 金蝶配置
+ public K3CloudApiUtils(List option)
+ {
+ _options = option;
+ }
+ ///
+ /// 获取Kingdee配置信息
+ ///
+ ///
+ public List GetKingdeeOptions()
+ {
+ return _options;
+ }
+
+ ///
+ /// 根据Token中的信息创建K3CloudApi对象
+ ///
+ ///
+ ///
+ public void InitCloudApi(LoginInfo User)
+ {
+ var userName = User.UserName;
+ var lcId = User.LCId;
+ var orgNum = User.OrgNum;
+ var DBID = User.DBID;
+ var serverUrl = User.ServerUrl;
+ K3CloudOption? kingdeeOption = _options
+ .Where(n => n.AcctID == DBID && n.ServerUrl.ToUpperInvariant() == serverUrl.ToUpperInvariant())
+ .FirstOrDefault();
+ if (kingdeeOption == null)
+ {
+ throw new Exception("配置文件没有对应的第三方授权登录信息!");
+ }
+ _cloudApi = new K3CloudApi(serverUrl);
+
+ _cloudApi.InitClient(
+ acctID: DBID,
+ appID: kingdeeOption?.AppID,
+ appSec: kingdeeOption?.AppSec,
+ serverUrl: serverUrl,
+ userName: userName,
+ lcid: lcId,
+ orgNum: orgNum
+ );
+ this._userInfo = User;
+ }
+
+
+
+ ///
+ /// 获取默认用户的api
+ ///
+ ///
+ ///
+ public K3CloudApi CreateDefaultK3CloudApi(LoginInfo loginInfo)
+ {
+ K3CloudOption? kingdeeOption = _options
+ .Where(n => n.AcctID == loginInfo.DBID && n.ServerUrl.ToUpperInvariant() == loginInfo.ServerUrl.ToUpperInvariant())
+ .FirstOrDefault();
+ if (kingdeeOption == null)
+ {
+ throw new Exception("配置文件没有对应的第三方授权登录信息!");
+ }
+ // 默认登录信息从配置文件appsetting.json获取AppID、AppSec,其余从前端传参
+ ThirdPassPortInfo thirdPassPortInfo = new ThirdPassPortInfo();
+ thirdPassPortInfo.CloudDbId = loginInfo.DBID;
+ thirdPassPortInfo.ApiAppId = kingdeeOption?.AppID;
+ thirdPassPortInfo.AppSec = kingdeeOption?.AppSec;
+ thirdPassPortInfo.CloudUrl = loginInfo.ServerUrl;
+ thirdPassPortInfo.Language = loginInfo.LCId.ToString();
+ thirdPassPortInfo.CloudUser = loginInfo.UserName;
+ _cloudApi = new K3CloudApi(thirdPassPortInfo, 30);
+ return _cloudApi;
+ }
+
+
+ ///
+ /// 创建金蝶云API SDK
+ ///
+ ///
+ ///
+ public K3CloudApiUtils GetDefaultK3CloudApiUtil(LoginInfo loginInfo)
+ {
+ K3CloudOption? kingdeeOption = _options
+ .Where(n => n.AcctID == loginInfo.DBID && n.ServerUrl.ToUpperInvariant() == loginInfo.ServerUrl.ToUpperInvariant())
+ .FirstOrDefault();
+ if (kingdeeOption == null)
+ {
+ throw new Exception("配置文件没有对应的第三方授权登录信息!");
+ }
+ // 默认登录信息从配置文件appsetting.json获取AppID、AppSec,其余从前端传参
+ var logInfo = new LoginInfo()
+ {
+ UserName = kingdeeOption.UserName,
+ LCId = kingdeeOption.LCID,
+ OrgNum = kingdeeOption.OrgNumber,
+ DBID = kingdeeOption.AcctID,
+ ServerUrl = kingdeeOption.ServerUrl,
+ };
+ var k3CloudApiUtil = new K3CloudApiUtils(_options);
+ k3CloudApiUtil.InitCloudApi(logInfo);
+ return k3CloudApiUtil;
+ }
+
+ ///
+ /// 创建金蝶云API SDK
+ ///
+ ///
+ ///
+ public K3CloudApiUtils GetDefaultK3CloudApiUtil()
+ {
+
+ if (this._userInfo == null)
+ {
+ throw new Exception("当前工具类没有,初始化用户信息");
+ }
+ return GetDefaultK3CloudApiUtil(_userInfo);
+ }
+
+ ///
+ /// 获取金蝶云星空SDK实例
+ ///
+ ///
+ public K3CloudApi GetApiClient()
+ {
+ return _cloudApi;
+ }
+
+ ///
+ /// 查询列表
+ ///
+ ///
+ ///
+ public ListResult QueryList(Query queryParam)
+ {
+ var datastr = queryParam.ToString();
+ var resultString = _cloudApi.BillQuery(datastr);
+ // 包含ErrorCode认定为失败
+ if (resultString.Contains("ErrorCode"))
+ {
+ var errorResult = JsonSerializer.Deserialize(resultString);
+ var responseStatus = errorResult?.Result?.ResponseStatus;
+ Exception error = new K3CloudException("查看单据列表出错", responseStatus);
+ throw error;
+ }
+ List>? result = JsonSerializer.Deserialize>>(resultString);
+ return new ListResult(result);
+ }
+
+
+ ///
+ /// 查询单据
+ ///
+ /// 表单ID
+ /// 参数
+ ///
+ ///
+ public object Query(string formId, View viewBill)
+ {
+ var jsonData = viewBill.ToString();
+ var resultString = _cloudApi.View(formId, jsonData);
+ var result = JsonSerializer.Deserialize(resultString);
+ if (result?.Result?.ResponseStatus?.IsSuccess != true)
+ {
+ var responseStatus = result?.Result?.ResponseStatus;
+ Exception error = new K3CloudException("查看单据出错", responseStatus);
+ throw error;
+ }
+ var data = result?.Result?.Result;
+ return data;
+ }
+
+ ///
+ /// 查询单据
+ ///
+ /// 表单ID
+ /// 参数
+ ///
+ ///
+ public T Query(string formId, View viewBill)
+ {
+ var jsonData = viewBill.ToString();
+ var resultString = _cloudApi.View(formId, jsonData);
+ var result = JsonSerializer.Deserialize(resultString);
+ if (result?.Result?.ResponseStatus?.IsSuccess != true)
+ {
+ var responseStatus = result?.Result?.ResponseStatus;
+ Exception error = new K3CloudException("查看单据出错", responseStatus);
+ throw error;
+ }
+ var data = result?.Result?.Result;
+ var dataString = JsonSerializer.Serialize(data);
+ return JsonSerializer.Deserialize(dataString);
+ }
+
+ ///
+ /// 下推接口
+ ///
+ /// 表单ID
+ /// 参数
+ ///
+ public K3CloudResponseStatus Push(string formId, Push billPush)
+ {
+ var pushString = billPush.ToString();
+ var resultString = _cloudApi.Push(formId, pushString);
+ var result = JsonSerializer.Deserialize(resultString);
+ var data = result?.Result?.ResponseStatus;
+ return data;
+ }
+
+
+
+ ///
+ /// 保存接口
+ ///
+ ///
+ ///
+ ///
+ public K3CloudResponseStatus Save(string formId, Save billSave)
+ {
+ var requestString = billSave.ToString();
+ var resultString = _cloudApi.Save(formId, requestString);
+ var result = JsonSerializer.Deserialize(resultString);
+ if (result?.Result?.ResponseStatus?.IsSuccess != true)
+ {
+ var responseStatus = result?.Result?.ResponseStatus;
+ Exception error = new K3CloudException("单据保存出错", responseStatus);
+ throw error;
+ }
+ var data = result?.Result?.ResponseStatus;
+ return data;
+ }
+
+ ///
+ /// 批量保存接口
+ ///
+ ///
+ ///
+ ///
+ public K3CloudResponseStatus BatchSave(string formId, PatchSave patchSave)
+ {
+ var requestString = patchSave.ToString();
+ var resultString = _cloudApi.BatchSave(formId, requestString);
+ var result = JsonSerializer.Deserialize(resultString);
+ if (result?.Result?.ResponseStatus?.IsSuccess != true)
+ {
+ var responseStatus = result?.Result?.ResponseStatus;
+ Exception error = new K3CloudException("单据批量保存出错", responseStatus);
+ throw error;
+ }
+ var data = result?.Result?.ResponseStatus;
+ return data;
+ }
+
+
+ ///
+ /// 删除接口
+ ///
+ ///
+ ///
+ ///
+ public K3CloudResponseStatus Delete(string formId, Delete billdelete)
+ {
+ var paramStr = billdelete.ToString();
+ var resultString = _cloudApi.Delete(formId, paramStr);
+ var result = JsonSerializer.Deserialize(resultString);
+ if (result?.Result?.ResponseStatus?.IsSuccess != true)
+ {
+ var responseStatus = result?.Result?.ResponseStatus;
+ Exception error = new K3CloudException("单据删除出错", responseStatus);
+ throw error;
+ }
+ var data = result?.Result?.ResponseStatus;
+ return data;
+ }
+
+
+
+ ///
+ /// 提交接口
+ ///
+ ///
+ ///
+ ///
+ public K3CloudResponseStatus Submit(string formId, Submit billSubmit)
+ {
+ var resultString = _cloudApi.Submit(formId, billSubmit.ToString());
+ var result = JsonSerializer.Deserialize(resultString);
+ var data = result?.Result?.ResponseStatus;
+ return data;
+ }
+
+ ///
+ /// 提交接口
+ ///
+ ///
+ ///
+ ///
+ public K3CloudResponseStatus CancelAssign(string formId, CancelAssign billSubmit)
+ {
+ var resultString = _cloudApi.CancelAssign(formId, billSubmit.ToString());
+ var result = JsonSerializer.Deserialize(resultString);
+ var data = result?.Result?.ResponseStatus;
+ return data;
+ }
+
+ ///
+ /// 审核接口
+ ///
+ ///
+ ///
+ ///
+ public K3CloudResponseStatus Audit(string formId, Audit billAudit)
+ {
+ var resultString = _cloudApi.Audit(formId, billAudit.ToString());
+ var result = JsonSerializer.Deserialize(resultString);
+ var data = result?.Result?.ResponseStatus;
+ return data;
+ }
+
+ ///
+ /// 文件系统
+ ///
+ ///
+ ///
+ public Model.K3Result.Model.K3CloudResult FileDonwload(FileParam fileParam)
+ {
+ var resultString = _cloudApi.AttachmentDownLoad(fileParam.ToString());
+
+ var result = JsonSerializer.Deserialize(resultString);
+ if (result?.Result?.ResponseStatus?.IsSuccess != true)
+ {
+ var responseStatus = result?.Result?.ResponseStatus;
+ Exception error = new K3CloudException("附件下载出错", responseStatus);
+ throw error;
+ }
+ return result?.Result;
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/Audit.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/Audit.cs
new file mode 100644
index 0000000..efd516a
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/Audit.cs
@@ -0,0 +1,64 @@
+using Newtonsoft.Json;
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 单据审核
+ ///
+ public class Audit
+ {
+ ///
+ /// 单据内码
+ ///
+ public string? Ids { get; set; }
+
+ ///
+ /// 组织ID
+ ///
+ public int CreateOrgId { get; set; }
+
+ ///
+ /// 单据编码
+ ///
+ public string[]? Numbers { get; set; }
+
+ ///
+ /// 是否启用网控,布尔类型,默认false(非必录)
+ ///
+ public bool? NetworkCtrl { get; set; } = false;
+
+ ///
+ /// 交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录) 例如(允许负库存标识:STK_InvCheckResult)
+ ///
+ public string? InterationFlags { get; set; }
+
+ ///
+ /// 是否允许忽略交互,布尔类型,默认true(非必录)
+ ///
+ public bool? IgnoreInterationFlag { get; set; } = true;
+
+ ///
+ /// 是否检验单据关联运行中的工作流实例,布尔类型,默认true(非必录)
+ ///
+ public bool? IsVerifyProcInst { get; set; } = true;
+
+ ///
+ /// 是否应用单据参数设置分批处理,默认false
+ ///
+ public bool? UseBatControlTimes { get; set; } = false;
+
+ ///
+ /// 重写
+ ///
+ ///
+ public override string ToString()
+ {
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/CancelAssign.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/CancelAssign.cs
new file mode 100644
index 0000000..50b6897
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/CancelAssign.cs
@@ -0,0 +1,46 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ public class CancelAssign
+ {
+ ///
+ /// 单据内码
+ ///
+ public string? Ids { get; set; }
+
+ ///
+ /// 组织ID
+ ///
+ public int CreateOrgId { get; set; }
+
+ ///
+ /// 单据编码
+ ///
+ public string[]? Numbers { get; set; }
+
+ ///
+ /// 是否启用网控,布尔类型,默认false(非必录)
+ ///
+ public bool? NetworkCtrl { get; set; }
+
+
+ ///
+ /// 获取参数
+ ///
+ ///
+ public override string ToString()
+ {
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/Delete.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/Delete.cs
new file mode 100644
index 0000000..275970d
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/Delete.cs
@@ -0,0 +1,42 @@
+using Newtonsoft.Json;
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 单据删除参数类
+ ///
+ public class Delete
+ { ///
+ /// 单据内码
+ ///
+ public string? Ids { get; set; }
+
+ ///
+ /// 组织ID
+ ///
+ public long CreateOrgId { get; set; }
+
+ ///
+ /// 单据编码
+ ///
+ public string? Numbers { get; set; }
+
+ ///
+ /// 是否启用网控
+ ///
+ public bool NetworkCtrl { get; set; }
+
+ ///
+ /// 重写
+ ///
+ ///
+ public override string ToString()
+ {
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/FileParam.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/FileParam.cs
new file mode 100644
index 0000000..24e699f
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/FileParam.cs
@@ -0,0 +1,32 @@
+using Newtonsoft.Json;
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 文件系统参数
+ ///
+ public class FileParam
+ {
+ ///
+ /// 文件Id
+ ///
+ public string FileId { get; set; }
+ ///
+ /// 开始索引
+ ///
+ public long StartIndex { get; set; }
+
+ ///
+ /// 重写
+ ///
+ ///
+ public override string ToString()
+ {
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/LoginInfo.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/LoginInfo.cs
new file mode 100644
index 0000000..fbd3c48
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/LoginInfo.cs
@@ -0,0 +1,38 @@
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 登录信息参数类
+ ///
+ public class LoginInfo
+ {
+ ///
+ /// 用户名
+ ///
+ public string UserName { get; set; }
+
+ ///
+ /// 密码
+ ///
+ public string Password { get; set; }
+
+ ///
+ /// 语言Id
+ ///
+ public int LCId { get; set; }
+
+ ///
+ /// 金蝶URL
+ ///
+ public string ServerUrl { get; set; }
+
+ ///
+ /// 数据中心DBID
+ ///
+ public string DBID { get; set; }
+
+ ///
+ /// 组织编码
+ ///
+ public string OrgNum { get; set; }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/PatchSave.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/PatchSave.cs
new file mode 100644
index 0000000..d030a42
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/PatchSave.cs
@@ -0,0 +1,87 @@
+using Newtonsoft.Json;
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 批量保存
+ ///
+ public class PatchSave
+ { ///
+ /// 是否用编码搜索基础资料,布尔类型,默认true(非必录)
+ ///
+ public bool? NumberSearch { get; set; } = true;
+
+ ///
+ /// 是否验证数据合法性标志,布尔类型,默认true(非必录)注(设为false时不对数据合法性进行校验)
+ ///
+ public bool? ValidateFlag { get; set; } = true;
+
+ ///
+ /// 是否删除已存在的分录,布尔类型,默认true(非必录)
+ ///
+ public bool? IsDeleteEntry { get; set; } = true;
+
+ ///
+ /// 是否批量填充分录,默认true(非必录)
+ ///
+ public bool? IsEntryBatchFill { get; set; } = true;
+ ///
+ /// 需要更新的字段,数组类型,格式:[key1,key2,...] (非必录)注(更新字段时Model数据包中必须设置内码,若更新单据体字段还需设置分录内码)
+ ///
+ public string? NeedUpDateFields { get; set; }
+ ///
+ /// 需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录) 注(返回单据体字段格式:entitykey.key)
+ ///
+ public string NeedReturnFields { get; set; }
+ ///
+ /// 表单所在的子系统内码,字符串类型(非必录)
+ ///
+ public string? SubSystemId { get; set; }
+ ///
+ /// 交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录) 例如(允许负库存标识:STK_InvCheckResult)
+ ///
+ public string? InterationFlags { get; set; }
+ ///
+ /// 服务端开启的线程数,整型(非必录) 注(数据包数应大于此值,否则无效)
+ ///
+ public int? BatchCount { get; set; }
+ ///
+ /// 是否验证所有的基础资料有效性,布尔类,默认false(非必录)
+ ///
+ public bool? IsVerifyBaseDataField { get; set; } = false;
+ ///
+ /// 是否自动调整JSON字段顺序,布尔类型,默认false(非必录)
+ ///
+ public bool? IsAutoAdjustField { get; set; } = false;
+ ///
+ /// 是否允许忽略交互,布尔类型,默认true(非必录)
+ ///
+ public bool? IgnoreInterationFlag { get; set; } = true;
+ ///
+ /// 是否控制精度,为true时对金额、单价和数量字段进行精度验证,默认false(非必录)
+ ///
+ public bool? IsControlPrecision { get; set; } = false;
+ ///
+ /// 校验Json数据包是否重复传入,一旦重复传入,接口调用失败,默认false(非必录)
+ ///
+ public bool? ValidateRepeatJson { get; set; } = false;
+
+ ///
+ /// 表单数据包,数组类型(必录)
+ ///
+ public IEnumerable Model { get; set; }
+
+ ///
+ /// 重写
+ ///
+ ///
+ public override string ToString()
+ {
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/Push.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/Push.cs
new file mode 100644
index 0000000..8725d2f
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/Push.cs
@@ -0,0 +1,69 @@
+using Newtonsoft.Json;
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 下推参数
+ ///
+ public class Push
+ {
+ ///
+ /// 单据内码
+ ///
+ public string? Ids { get; set; }
+
+ ///
+ /// 组织ID
+ ///
+ public long? TargetOrgId { get; set; }
+
+ ///
+ /// 单据编码
+ ///
+ public string? Numbers { get; set; }
+
+ ///
+ /// 分录行内码
+ ///
+ public string? EntryIds { get; set; }
+
+ ///
+ /// 是否启用默认转换规则
+ ///
+ public bool IsEnableDefaultRule { get; set; }
+ ///
+ /// 保存失败自动暂存单据
+ ///
+ public bool IsDraftWhenSaveFail { get; set; }
+
+
+
+ ///
+ /// 转换规则ID
+ ///
+ public string? RuleId { get; set; }
+
+ ///
+ /// 目标单据ID
+ ///
+ public string? TargetFormId { get; set; }
+
+ ///
+ /// 自定义参数
+ ///
+ public Dictionary? CustomParams { get; set; }
+
+ ///
+ /// 重写ToString
+ ///
+ ///
+ public override string ToString()
+ {
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/Query.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/Query.cs
new file mode 100644
index 0000000..f512383
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/Query.cs
@@ -0,0 +1,88 @@
+using Gatedge.K3Cloud.Utils.Common;
+using Newtonsoft.Json;
+
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 金蝶云星空单据列表查询参数类
+ ///
+ public class Query
+ {
+ ///
+ /// 业务对象表单Id(必录)
+ ///
+ public string FormId { get; set; }
+ ///
+ /// 需查询的字段key集合
+ ///
+ public string? FieldKeys { get; set; }
+ ///
+ /// 过滤条件
+ ///
+ public List? FilterString { get; set; }
+ ///
+ /// 排序字段
+ ///
+ public string? OrderString { get; set; }
+ ///
+ /// 返回总行数
+ ///
+ public int? TopRowCount { get; set; }
+ ///
+ /// 开始行索引
+ ///
+ public int? StartRow { get; set; }
+ ///
+ /// 最大行数
+ ///
+ public int? Limit { get; set; }
+ ///
+ /// 表单所在的子系统内码
+ ///
+ public string? SubSystemId { get; set; }
+
+ ///
+ /// 重写
+ ///
+ ///
+ public override string ToString()
+ {
+
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+ }
+
+ ///
+ /// 获取查询信息
+ ///
+ ///
+ public string GetInfo()
+ {
+ var filterString = JsonConvert.SerializeObject(FilterString);
+ var info = string.Format(@"
+业务对象表单Id(必录):{0}
+需查询的字段key集合:{1}
+过滤条件:{2}
+排序字段:{3}
+返回总行数:{4}
+开始行索引:{5}
+最大行数:{6}
+表单所在的子系统内码:{7}
+",
+FormId,
+FieldKeys,
+filterString,
+OrderString,
+TopRowCount,
+StartRow,
+Limit,
+SubSystemId
+);
+ return info;
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/Save.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/Save.cs
new file mode 100644
index 0000000..a21f29c
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/Save.cs
@@ -0,0 +1,49 @@
+using Newtonsoft.Json;
+
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 单据保存
+ ///
+ public class Save
+ {
+ ///
+ /// 更新字段
+ ///
+ public string? NeedUpDateFields { get; set; }
+
+ ///
+ /// 返回字段
+ ///
+ public string? NeedReturnFields { get; set; }
+
+ ///
+ /// 清空分录
+ ///
+ public bool IsDeleteEntry { get; set; }
+
+ ///
+ /// 自动提交审核
+ ///
+ public bool IsAutoSubmitAndAudit { get; set; }
+
+ ///
+ /// 表单数据包,JSON类型(必录)
+ ///
+ public T Model { get; set; }
+
+ ///
+ /// 重写
+ ///
+ ///
+ public override string ToString()
+ {
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/Submit.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/Submit.cs
new file mode 100644
index 0000000..f2da2f5
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/Submit.cs
@@ -0,0 +1,48 @@
+using Newtonsoft.Json;
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 提交参数
+ ///
+ public class Submit
+ {
+ ///
+ /// 单据内码
+ ///
+ public string? Ids { get; set; }
+
+ ///
+ /// 组织ID
+ ///
+ public int CreateOrgId { get; set; }
+
+ ///
+ /// 单据编码
+ ///
+ public string[]? Numbers { get; set; }
+
+ ///
+ /// 是否启用网控,布尔类型,默认false(非必录)
+ ///
+ public bool? NetworkCtrl { get; set; }
+
+ ///
+ /// 是否允许忽略交互,布尔类型,默认true(非必录)
+ ///
+ public bool? IgnoreInterationFlag { get; set; }
+
+ ///
+ /// 获取参数
+ ///
+ ///
+ public override string ToString()
+ {
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Request/View.cs b/Gatedge.K3Cloud.Utils/Model/K3Request/View.cs
new file mode 100644
index 0000000..da2b4e6
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Request/View.cs
@@ -0,0 +1,45 @@
+using Newtonsoft.Json;
+
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Request
+{
+ ///
+ /// 单据查询条件类
+ ///
+ public class View
+ {
+ ///
+ /// 单据内码
+ ///
+ public string? Id { get; set; }
+
+ ///
+ /// 组织ID
+ ///
+ public long? CreateOrgId { get; set; }
+
+ ///
+ /// 单据编码
+ ///
+ public string? Number { get; set; }
+
+ ///
+ /// 单据体是否按序号排序
+ ///
+ public bool IsSortBySeq { get; set; }
+
+ ///
+ /// 重写ToString方法
+ ///
+ ///
+ public override string ToString()
+ {
+
+ var settings = new JsonSerializerSettings
+ {
+ NullValueHandling = NullValueHandling.Ignore
+ };
+ return JsonConvert.SerializeObject(this, settings);
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Result/KingdeeResult.cs b/Gatedge.K3Cloud.Utils/Model/K3Result/KingdeeResult.cs
new file mode 100644
index 0000000..8135a9c
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Result/KingdeeResult.cs
@@ -0,0 +1,15 @@
+using Gatedge.K3Cloud.Utils.Model.K3Result.Model;
+
+namespace Gatedge.K3Cloud.Utils.Model.K3Result
+{
+ ///
+ /// 金蝶云星空返回类
+ ///
+ public class KingdeeResult
+ {
+ ///
+ /// 返回对象
+ ///
+ public K3CloudResult? Result { get; set; }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Result/ListResult.cs b/Gatedge.K3Cloud.Utils/Model/K3Result/ListResult.cs
new file mode 100644
index 0000000..5560321
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Result/ListResult.cs
@@ -0,0 +1,23 @@
+namespace Gatedge.K3Cloud.Utils.Model.K3Result
+{
+ ///
+ /// 列表查询输出类
+ ///
+ public class ListResult
+ {
+
+ ///
+ /// 列表
+ ///
+ public List> List { get; set; }
+
+ ///
+ /// 构造函数
+ ///
+ ///
+ public ListResult(List> list)
+ {
+ this.List = list;
+ }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudResponseStatus.cs b/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudResponseStatus.cs
new file mode 100644
index 0000000..66ce456
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudResponseStatus.cs
@@ -0,0 +1,33 @@
+namespace Gatedge.K3Cloud.Utils.Model.K3Result.Model
+{
+ ///
+ /// 响应对象
+ ///
+ public class K3CloudResponseStatus
+ {
+ ///
+ /// 错误代码
+ ///
+ public int ErrorCode { get; set; }
+ ///
+ /// 是否成功
+ ///
+ public bool IsSuccess { get; set; }
+ ///
+ /// 错误信息列表
+ ///
+ public List? Errors { get; set; }
+ ///
+ /// 成功实体
+ ///
+ public List? SuccessEntitys { get; set; }
+ ///
+ /// 成功消息
+ ///
+ public List? SuccessMessages { get; set; }
+ ///
+ /// 消息代码
+ ///
+ public int MsgCode { get; set; }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudResult.cs b/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudResult.cs
new file mode 100644
index 0000000..b833403
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudResult.cs
@@ -0,0 +1,44 @@
+namespace Gatedge.K3Cloud.Utils.Model.K3Result.Model
+{
+ ///
+ /// 返回类
+ ///
+ public class K3CloudResult
+ {
+ ///
+ /// 响应对象
+ ///
+ public K3CloudResponseStatus? ResponseStatus { get; set; }
+
+ ///
+ /// 转换响应对象
+ ///
+ public K3CloudResponseStatus? ConvertResponseStatus { get; set; }
+
+ ///
+ /// 返回结果,用于查看单据
+ ///
+ public object? Result { get; set; }
+
+ ///
+ /// 开始索引
+ ///
+ public long? StartIndex { get; set; }
+ ///
+ /// 是否最后
+ ///
+ public bool? IsLast { get; set; }
+ ///
+ /// 文件大小
+ ///
+ public long? FileSize { get; set; }
+ ///
+ /// 文件名称
+ ///
+ public string? FileName { get; set; }
+ ///
+ /// 文件内容(Base64)
+ ///
+ public string? FilePart { get; set; }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudResultInfo.cs b/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudResultInfo.cs
new file mode 100644
index 0000000..4008ec9
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudResultInfo.cs
@@ -0,0 +1,21 @@
+namespace Gatedge.K3Cloud.Utils.Model.K3Result.Model
+{
+ ///
+ /// 金蝶云星空查看错误信息类
+ ///
+ public class K3CloudResultInfo
+ {
+ ///
+ /// 字段名称
+ ///
+ public string? FieldName { get; set; }
+ ///
+ /// 错误信息
+ ///
+ public string? Message { get; set; }
+ ///
+ /// 序号
+ ///
+ public int DIndex { get; set; }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudSuccessEntity.cs b/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudSuccessEntity.cs
new file mode 100644
index 0000000..882c030
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Model/K3Result/Model/K3CloudSuccessEntity.cs
@@ -0,0 +1,25 @@
+namespace Gatedge.K3Cloud.Utils.Model.K3Result.Model
+{
+ ///
+ /// 成功实体
+ ///
+ public class K3CloudSuccessEntity
+ {
+ ///
+ /// 单据Id
+ ///
+ public int Id { get; set; }
+ ///
+ /// 单据编号
+ ///
+ public string Number { get; set; }
+ ///
+ /// 实体索引
+ ///
+ public int DIndex { get; set; }
+ ///
+ /// 分录Id
+ ///
+ public object EntryIds { get; set; }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/Option/K3CloudOption.cs b/Gatedge.K3Cloud.Utils/Option/K3CloudOption.cs
new file mode 100644
index 0000000..5b80b95
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/Option/K3CloudOption.cs
@@ -0,0 +1,41 @@
+namespace Gatedge.K3Cloud.Utils.Option
+{
+ ///
+ /// 金蝶配置帮助类
+ ///
+ public class K3CloudOption
+ {
+ ///
+ /// DBID
+ ///
+ public string AcctID { get; set; }
+ ///
+ /// 应用ID
+ ///
+ public string AppID { get; set; }
+ ///
+ /// 应用密钥
+ ///
+ public string AppSec { get; set; }
+ ///
+ /// 服务器地址
+ ///
+ public string ServerUrl { get; set; }
+ ///
+ /// 时间
+ ///
+ public int Timestamp { get; set; }
+ ///
+ /// 默认语言ID
+ ///
+ public int LCID { get; set; }
+ ///
+ /// 默认用户名称
+ ///
+ public string UserName { get; set; }
+ ///
+ /// 默认组织ID
+ ///
+ public string OrgNumber { get; set; }
+ }
+}
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs
new file mode 100644
index 0000000..ed92695
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge..A76F8AED.Up2Date b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge..A76F8AED.Up2Date
new file mode 100644
index 0000000..e69de29
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.AssemblyInfo.cs b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.AssemblyInfo.cs
new file mode 100644
index 0000000..2763cd3
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------
+//
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
+//
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("Gatedge.K3Cloud.Utils")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("Gatedge.K3Cloud.Utils")]
+[assembly: System.Reflection.AssemblyTitleAttribute("Gatedge.K3Cloud.Utils")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// 由 MSBuild WriteCodeFragment 类生成。
+
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.AssemblyInfoInputs.cache b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..0cd7eb4
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+165ea657890767af593db8502b07268a6eb443998ec6ccaed530b9b98ffa5127
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.GeneratedMSBuildEditorConfig.editorconfig b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..3592c3f
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,15 @@
+is_global = true
+build_property.TargetFramework = net6.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = Gatedge.K3Cloud.Utils
+build_property.ProjectDir = D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
+build_property.EffectiveAnalysisLevelStyle = 6.0
+build_property.EnableCodeStyleSeverity =
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.GlobalUsings.g.cs b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.GlobalUsings.g.cs
new file mode 100644
index 0000000..8578f3d
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.assets.cache b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.assets.cache
new file mode 100644
index 0000000..901b25a
Binary files /dev/null and b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.assets.cache differ
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.csproj.AssemblyReference.cache b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..2b42a40
Binary files /dev/null and b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.csproj.AssemblyReference.cache differ
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.csproj.CoreCompileInputs.cache b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..988d516
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+3270acc3fb76962103a967574cd19f6ece0700a9a54f63abf421e87e5aaff3e2
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.csproj.FileListAbsolute.txt b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..807ea2c
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.csproj.FileListAbsolute.txt
@@ -0,0 +1,14 @@
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\bin\Debug\net6.0\Gatedge.K3Cloud.Utils.deps.json
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\bin\Debug\net6.0\Gatedge.K3Cloud.Utils.dll
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\bin\Debug\net6.0\Gatedge.K3Cloud.Utils.pdb
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\bin\Debug\net6.0\Kingdee.CDP.WebApi.SDK.dll
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\Gatedge.K3Cloud.Utils.csproj.AssemblyReference.cache
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\Gatedge.K3Cloud.Utils.GeneratedMSBuildEditorConfig.editorconfig
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\Gatedge.K3Cloud.Utils.AssemblyInfoInputs.cache
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\Gatedge.K3Cloud.Utils.AssemblyInfo.cs
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\Gatedge.K3Cloud.Utils.csproj.CoreCompileInputs.cache
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\Gatedge..A76F8AED.Up2Date
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\Gatedge.K3Cloud.Utils.dll
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\refint\Gatedge.K3Cloud.Utils.dll
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\Gatedge.K3Cloud.Utils.pdb
+D:\格致金蝶\澳门新东方置地\Gatedge.NewOrientLandMark.BOS\Gatedge.K3Cloud.Utils\obj\Debug\net6.0\ref\Gatedge.K3Cloud.Utils.dll
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.dll b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.dll
new file mode 100644
index 0000000..8dac6a3
Binary files /dev/null and b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.dll differ
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.pdb b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.pdb
new file mode 100644
index 0000000..9899204
Binary files /dev/null and b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/Gatedge.K3Cloud.Utils.pdb differ
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/ref/Gatedge.K3Cloud.Utils.dll b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/ref/Gatedge.K3Cloud.Utils.dll
new file mode 100644
index 0000000..37fac04
Binary files /dev/null and b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/ref/Gatedge.K3Cloud.Utils.dll differ
diff --git a/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/refint/Gatedge.K3Cloud.Utils.dll b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/refint/Gatedge.K3Cloud.Utils.dll
new file mode 100644
index 0000000..37fac04
Binary files /dev/null and b/Gatedge.K3Cloud.Utils/obj/Debug/net6.0/refint/Gatedge.K3Cloud.Utils.dll differ
diff --git a/Gatedge.K3Cloud.Utils/obj/Gatedge.K3Cloud.Utils.csproj.nuget.dgspec.json b/Gatedge.K3Cloud.Utils/obj/Gatedge.K3Cloud.Utils.csproj.nuget.dgspec.json
new file mode 100644
index 0000000..7ccb3eb
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Gatedge.K3Cloud.Utils.csproj.nuget.dgspec.json
@@ -0,0 +1,95 @@
+{
+ "format": 1,
+ "restore": {
+ "D:\\格致金蝶\\澳门新东方置地\\Gatedge.NewOrientLandMark.BOS\\Gatedge.K3Cloud.Utils\\Gatedge.K3Cloud.Utils.csproj": {}
+ },
+ "projects": {
+ "D:\\格致金蝶\\澳门新东方置地\\Gatedge.NewOrientLandMark.BOS\\Gatedge.K3Cloud.Utils\\Gatedge.K3Cloud.Utils.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "D:\\格致金蝶\\澳门新东方置地\\Gatedge.NewOrientLandMark.BOS\\Gatedge.K3Cloud.Utils\\Gatedge.K3Cloud.Utils.csproj",
+ "projectName": "Gatedge.K3Cloud.Utils",
+ "projectPath": "D:\\格致金蝶\\澳门新东方置地\\Gatedge.NewOrientLandMark.BOS\\Gatedge.K3Cloud.Utils\\Gatedge.K3Cloud.Utils.csproj",
+ "packagesPath": "C:\\Users\\海\\.nuget\\packages\\",
+ "outputPath": "D:\\格致金蝶\\澳门新东方置地\\Gatedge.NewOrientLandMark.BOS\\Gatedge.K3Cloud.Utils\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "D:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
+ "C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\海\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net6.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net6.0": {
+ "targetAlias": "net6.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "all"
+ },
+ "SdkAnalysisLevel": "9.0.100"
+ },
+ "frameworks": {
+ "net6.0": {
+ "targetAlias": "net6.0",
+ "dependencies": {
+ "Newtonsoft.Json": {
+ "target": "Package",
+ "version": "[13.0.3, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[6.0.36, 6.0.36]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[6.0.36, 6.0.36]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[6.0.36, 6.0.36]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.100\\RuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Gatedge.K3Cloud.Utils/obj/Gatedge.K3Cloud.Utils.csproj.nuget.g.props b/Gatedge.K3Cloud.Utils/obj/Gatedge.K3Cloud.Utils.csproj.nuget.g.props
new file mode 100644
index 0000000..a2aa38d
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Gatedge.K3Cloud.Utils.csproj.nuget.g.props
@@ -0,0 +1,17 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\海\.nuget\packages\;D:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\
+ PackageReference
+ 6.12.1
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Gatedge.K3Cloud.Utils/obj/Gatedge.K3Cloud.Utils.csproj.nuget.g.targets b/Gatedge.K3Cloud.Utils/obj/Gatedge.K3Cloud.Utils.csproj.nuget.g.targets
new file mode 100644
index 0000000..3dc06ef
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/Gatedge.K3Cloud.Utils.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Gatedge.K3Cloud.Utils/obj/project.assets.json b/Gatedge.K3Cloud.Utils/obj/project.assets.json
new file mode 100644
index 0000000..7d9a1b5
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/project.assets.json
@@ -0,0 +1,149 @@
+{
+ "version": 3,
+ "targets": {
+ "net6.0": {
+ "Newtonsoft.Json/13.0.3": {
+ "type": "package",
+ "compile": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/Newtonsoft.Json.dll": {
+ "related": ".xml"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "Newtonsoft.Json/13.0.3": {
+ "sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==",
+ "type": "package",
+ "path": "newtonsoft.json/13.0.3",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "LICENSE.md",
+ "README.md",
+ "lib/net20/Newtonsoft.Json.dll",
+ "lib/net20/Newtonsoft.Json.xml",
+ "lib/net35/Newtonsoft.Json.dll",
+ "lib/net35/Newtonsoft.Json.xml",
+ "lib/net40/Newtonsoft.Json.dll",
+ "lib/net40/Newtonsoft.Json.xml",
+ "lib/net45/Newtonsoft.Json.dll",
+ "lib/net45/Newtonsoft.Json.xml",
+ "lib/net6.0/Newtonsoft.Json.dll",
+ "lib/net6.0/Newtonsoft.Json.xml",
+ "lib/netstandard1.0/Newtonsoft.Json.dll",
+ "lib/netstandard1.0/Newtonsoft.Json.xml",
+ "lib/netstandard1.3/Newtonsoft.Json.dll",
+ "lib/netstandard1.3/Newtonsoft.Json.xml",
+ "lib/netstandard2.0/Newtonsoft.Json.dll",
+ "lib/netstandard2.0/Newtonsoft.Json.xml",
+ "newtonsoft.json.13.0.3.nupkg.sha512",
+ "newtonsoft.json.nuspec",
+ "packageIcon.png"
+ ]
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net6.0": [
+ "Newtonsoft.Json >= 13.0.3"
+ ]
+ },
+ "packageFolders": {
+ "C:\\Users\\海\\.nuget\\packages\\": {},
+ "D:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {},
+ "C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "D:\\格致金蝶\\澳门新东方置地\\Gatedge.NewOrientLandMark.BOS\\Gatedge.K3Cloud.Utils\\Gatedge.K3Cloud.Utils.csproj",
+ "projectName": "Gatedge.K3Cloud.Utils",
+ "projectPath": "D:\\格致金蝶\\澳门新东方置地\\Gatedge.NewOrientLandMark.BOS\\Gatedge.K3Cloud.Utils\\Gatedge.K3Cloud.Utils.csproj",
+ "packagesPath": "C:\\Users\\海\\.nuget\\packages\\",
+ "outputPath": "D:\\格致金蝶\\澳门新东方置地\\Gatedge.NewOrientLandMark.BOS\\Gatedge.K3Cloud.Utils\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "D:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
+ "C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\海\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net6.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net6.0": {
+ "targetAlias": "net6.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "all"
+ },
+ "SdkAnalysisLevel": "9.0.100"
+ },
+ "frameworks": {
+ "net6.0": {
+ "targetAlias": "net6.0",
+ "dependencies": {
+ "Newtonsoft.Json": {
+ "target": "Package",
+ "version": "[13.0.3, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "downloadDependencies": [
+ {
+ "name": "Microsoft.AspNetCore.App.Ref",
+ "version": "[6.0.36, 6.0.36]"
+ },
+ {
+ "name": "Microsoft.NETCore.App.Ref",
+ "version": "[6.0.36, 6.0.36]"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App.Ref",
+ "version": "[6.0.36, 6.0.36]"
+ }
+ ],
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.100\\RuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Gatedge.K3Cloud.Utils/obj/project.nuget.cache b/Gatedge.K3Cloud.Utils/obj/project.nuget.cache
new file mode 100644
index 0000000..9056d0d
--- /dev/null
+++ b/Gatedge.K3Cloud.Utils/obj/project.nuget.cache
@@ -0,0 +1,13 @@
+{
+ "version": 2,
+ "dgSpecHash": "Zsi42lfljO8=",
+ "success": true,
+ "projectFilePath": "D:\\格致金蝶\\澳门新东方置地\\Gatedge.NewOrientLandMark.BOS\\Gatedge.K3Cloud.Utils\\Gatedge.K3Cloud.Utils.csproj",
+ "expectedPackageFiles": [
+ "C:\\Users\\海\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512",
+ "C:\\Users\\海\\.nuget\\packages\\microsoft.windowsdesktop.app.ref\\6.0.36\\microsoft.windowsdesktop.app.ref.6.0.36.nupkg.sha512",
+ "C:\\Users\\海\\.nuget\\packages\\microsoft.netcore.app.ref\\6.0.36\\microsoft.netcore.app.ref.6.0.36.nupkg.sha512",
+ "C:\\Users\\海\\.nuget\\packages\\microsoft.aspnetcore.app.ref\\6.0.36\\microsoft.aspnetcore.app.ref.6.0.36.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file
diff --git a/Gatedge.NewOrientLandMark.BOS.sln b/Gatedge.NewOrientLandMark.BOS.sln
new file mode 100644
index 0000000..b908771
--- /dev/null
+++ b/Gatedge.NewOrientLandMark.BOS.sln
@@ -0,0 +1,40 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.12.35506.116 d17.12
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gatedge.NewOrientLandMark.BOS", "Gatedge.NewOrientLandMark.BOS\Gatedge.NewOrientLandMark.BOS.csproj", "{20CFFA50-E5D4-48F5-99CD-7DDFD992F8C3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gatedge.ScanCode.Basis.PlugIn", "Gatedge.ScanCode.Basis.PlugIn\Gatedge.ScanCode.Basis.PlugIn.csproj", "{C2252356-BCEC-48D8-80DF-6C45B4BDA1FC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gatedge.ScanCode", "Gatedge.ScanCode\Gatedge.ScanCode.csproj", "{A26D430B-8ABD-4EFF-A42E-E5870F9C2402}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gatedge.K3Cloud.Utils", "Gatedge.K3Cloud.Utils\Gatedge.K3Cloud.Utils.csproj", "{83F71047-7D98-4D30-B175-BF75550383E7}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {20CFFA50-E5D4-48F5-99CD-7DDFD992F8C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {20CFFA50-E5D4-48F5-99CD-7DDFD992F8C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {20CFFA50-E5D4-48F5-99CD-7DDFD992F8C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {20CFFA50-E5D4-48F5-99CD-7DDFD992F8C3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C2252356-BCEC-48D8-80DF-6C45B4BDA1FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C2252356-BCEC-48D8-80DF-6C45B4BDA1FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C2252356-BCEC-48D8-80DF-6C45B4BDA1FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C2252356-BCEC-48D8-80DF-6C45B4BDA1FC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A26D430B-8ABD-4EFF-A42E-E5870F9C2402}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A26D430B-8ABD-4EFF-A42E-E5870F9C2402}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A26D430B-8ABD-4EFF-A42E-E5870F9C2402}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A26D430B-8ABD-4EFF-A42E-E5870F9C2402}.Release|Any CPU.Build.0 = Release|Any CPU
+ {83F71047-7D98-4D30-B175-BF75550383E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {83F71047-7D98-4D30-B175-BF75550383E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {83F71047-7D98-4D30-B175-BF75550383E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {83F71047-7D98-4D30-B175-BF75550383E7}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Gatedge.NewOrientLandMark.BOS/Gatedge.NewOrientLandMark.BOS.csproj b/Gatedge.NewOrientLandMark.BOS/Gatedge.NewOrientLandMark.BOS.csproj
new file mode 100644
index 0000000..dcc3930
--- /dev/null
+++ b/Gatedge.NewOrientLandMark.BOS/Gatedge.NewOrientLandMark.BOS.csproj
@@ -0,0 +1,53 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {20CFFA50-E5D4-48F5-99CD-7DDFD992F8C3}
+ Library
+ Properties
+ Gatedge.NewOrientLandMark.BOS
+ Gatedge.NewOrientLandMark.BOS
+ v4.8
+ 512
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Gatedge.NewOrientLandMark.BOS/Gatedge.NewOrientLandMark.BOS.csproj.user b/Gatedge.NewOrientLandMark.BOS/Gatedge.NewOrientLandMark.BOS.csproj.user
new file mode 100644
index 0000000..0b24643
--- /dev/null
+++ b/Gatedge.NewOrientLandMark.BOS/Gatedge.NewOrientLandMark.BOS.csproj.user
@@ -0,0 +1,6 @@
+
+
+
+ ProjectFiles
+
+
\ No newline at end of file
diff --git a/Gatedge.NewOrientLandMark.BOS/Properties/AssemblyInfo.cs b/Gatedge.NewOrientLandMark.BOS/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..919773c
--- /dev/null
+++ b/Gatedge.NewOrientLandMark.BOS/Properties/AssemblyInfo.cs
@@ -0,0 +1,33 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的一般信息由以下
+// 控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("Gatedge.NewOrientLandMark.BOS")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Gatedge.NewOrientLandMark.BOS")]
+[assembly: AssemblyCopyright("Copyright © 2025")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 会使此程序集中的类型
+//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
+//请将此类型的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("20cffa50-e5d4-48f5-99cd-7ddfd992f8c3")]
+
+// 程序集的版本信息由下列四个值组成:
+//
+// 主版本
+// 次版本
+// 生成号
+// 修订号
+//
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Gatedge.ScanCode.Basis.PlugIn/Bill/BAR_BarCodePrint/FormPlugIn/BarCodePrintEditRewrite.cs b/Gatedge.ScanCode.Basis.PlugIn/Bill/BAR_BarCodePrint/FormPlugIn/BarCodePrintEditRewrite.cs
new file mode 100644
index 0000000..d33c4f0
--- /dev/null
+++ b/Gatedge.ScanCode.Basis.PlugIn/Bill/BAR_BarCodePrint/FormPlugIn/BarCodePrintEditRewrite.cs
@@ -0,0 +1,6871 @@
+using Kingdee.BOS;
+using Kingdee.BOS.App;
+using Kingdee.BOS.App.Data;
+using Kingdee.BOS.Contracts;
+using Kingdee.BOS.Core;
+using Kingdee.BOS.Core.Bill;
+using Kingdee.BOS.Core.Bill.PlugIn;
+using Kingdee.BOS.Core.Bill.PlugIn.Args;
+using Kingdee.BOS.Core.CommonFilter;
+using Kingdee.BOS.Core.DynamicForm;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
+using Kingdee.BOS.Core.Enums;
+using Kingdee.BOS.Core.Interaction;
+using Kingdee.BOS.Core.List;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Metadata.EntityElement;
+using Kingdee.BOS.Core.Metadata.FieldElement;
+using Kingdee.BOS.Core.Metadata.FormElement;
+using Kingdee.BOS.Core.NotePrint;
+using Kingdee.BOS.Core.SqlBuilder;
+using Kingdee.BOS.FileServer.Core.Object;
+using Kingdee.BOS.FileServer.ProxyService;
+using Kingdee.BOS.JSON;
+using Kingdee.BOS.KDThread;
+using Kingdee.BOS.Orm;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Orm.Metadata.DataEntity;
+using Kingdee.BOS.Resource;
+using Kingdee.BOS.ServiceHelper;
+using Kingdee.BOS.ServiceHelper.Report;
+using Kingdee.BOS.Util;
+using Kingdee.K3.BD.BarCode.App.Core;
+using Kingdee.K3.BD.BarCode.App.Core.BarCodeItem;
+using Kingdee.K3.BD.BarCode.Business.PlugIn;
+using Kingdee.K3.BD.BarCode.Core;
+using Kingdee.K3.BD.BarCode.Core.DataModel.Service;
+using Kingdee.K3.BD.BarCode.ServiceHelper;
+using Kingdee.K3.BD.NewCode.Core.Utils;
+using Kingdee.K3.BD.ServiceHelper;
+using Kingdee.K3.Core.BD;
+using Kingdee.K3.Core.BD.ServiceArgs;
+using Kingdee.K3.Core.SCM;
+using Kingdee.K3.Core.SCM.STK;
+using Kingdee.K3.SCM.App.Core.Util;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Linq;
+using System.Net;
+using System.Reflection;
+using System.Text;
+using System.Text.RegularExpressions;
+using StockServiceHelper = Kingdee.K3.SCM.ServiceHelper.StockServiceHelper;
+
+namespace Gatedge.ScanCode.Basis.PlugIn.Bill.BAR_BarCodePrint.FormPlugIn
+{
+ [Description("条码打印重写"), HotUpdate]
+ public class BarCodePrintEditRewrite : AbstractBillPlugIn
+ {
+ private int totalCount = 0;
+ private int currentCount = 0;
+ private List _noteTemplates;
+ private string barcodeToPrint = string.Empty;
+ private List printDatas = new List();
+
+ private List newPrintDatas = new List();
+
+ private string printOperationType = string.Empty;
+
+ private int currPrintIndex = -1;
+
+ private int currPrintQty = 0;
+
+ private string flagPrintType = string.Empty;
+
+ private string _permissionConst = string.Empty;
+
+ private long _sRuleId = 0L;
+
+ private long _sBoxRuleId = 0L;
+
+ private long _sCenterBoxRuleId = 0L;
+
+ private long _sBigBoxRuleId = 0L;
+
+ private long _sFieldRuleId = 0L;
+
+ protected string _sFormId = string.Empty;
+
+ protected Dictionary SelectRowId = new Dictionary();
+
+ protected int IsCheck = 0;
+
+ protected string _sourceId = string.Empty;
+
+ protected string _sourceEntryId = string.Empty;
+
+ protected string _sEntityKey = string.Empty;
+
+ private FormMetadata _billFormMetaData = null;
+
+ private int _isFromBill = 0;
+
+ private bool _isAutoPacking = false;
+
+ private bool _isCustomerPolicy = false;
+
+ private bool _isThreePacking = false;
+
+ private bool _controlCreateNumber = false;
+
+ private ListSelectedRowCollection listData = new ListSelectedRowCollection();
+
+ private int _isFromPrintList = 0;
+
+ private string billPageId = string.Empty;
+
+ protected BarCodeSysParamsModel barcodeSysParm = null;
+
+ public string Msg = "";
+
+ private Dictionary _baseBusinessInfo = new Dictionary();
+
+ private Dictionary _baseDataInfo = new Dictionary();
+
+ private bool _ctrlBatchCreate = false;
+
+ private List