Files
Gatedge.NewOrientLandMark.BOS/Gatedge.K3Cloud.Utils/Model/K3Request/PatchSave.cs

88 lines
3.6 KiB
C#
Raw Normal View History

2025-11-18 17:43:12 +08:00
using Newtonsoft.Json;
namespace Gatedge.K3Cloud.Utils.Model.K3Request
{
/// <summary>
/// 批量保存
/// </summary>
public class PatchSave<T>
{ /// <summary>
/// 是否用编码搜索基础资料布尔类型默认true非必录
/// </summary>
public bool? NumberSearch { get; set; } = true;
/// <summary>
/// 是否验证数据合法性标志布尔类型默认true非必录设为false时不对数据合法性进行校验
/// </summary>
public bool? ValidateFlag { get; set; } = true;
/// <summary>
/// 是否删除已存在的分录布尔类型默认true非必录
/// </summary>
public bool? IsDeleteEntry { get; set; } = true;
/// <summary>
/// 是否批量填充分录默认true非必录
/// </summary>
public bool? IsEntryBatchFill { get; set; } = true;
/// <summary>
/// 需要更新的字段,数组类型,格式:[key1,key2,...] 非必录更新字段时Model数据包中必须设置内码若更新单据体字段还需设置分录内码
/// </summary>
public string? NeedUpDateFields { get; set; }
/// <summary>
/// 需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录) 注返回单据体字段格式entitykey.key
/// </summary>
public string NeedReturnFields { get; set; }
/// <summary>
/// 表单所在的子系统内码,字符串类型(非必录)
/// </summary>
public string? SubSystemId { get; set; }
/// <summary>
/// 交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录) 例如允许负库存标识STK_InvCheckResult
/// </summary>
public string? InterationFlags { get; set; }
/// <summary>
/// 服务端开启的线程数,整型(非必录) 注(数据包数应大于此值,否则无效)
/// </summary>
public int? BatchCount { get; set; }
/// <summary>
/// 是否验证所有的基础资料有效性布尔类默认false非必录
/// </summary>
public bool? IsVerifyBaseDataField { get; set; } = false;
/// <summary>
/// 是否自动调整JSON字段顺序布尔类型默认false非必录
/// </summary>
public bool? IsAutoAdjustField { get; set; } = false;
/// <summary>
/// 是否允许忽略交互布尔类型默认true非必录
/// </summary>
public bool? IgnoreInterationFlag { get; set; } = true;
/// <summary>
/// 是否控制精度为true时对金额、单价和数量字段进行精度验证默认false非必录
/// </summary>
public bool? IsControlPrecision { get; set; } = false;
/// <summary>
/// 校验Json数据包是否重复传入一旦重复传入接口调用失败默认false非必录
/// </summary>
public bool? ValidateRepeatJson { get; set; } = false;
/// <summary>
/// 表单数据包,数组类型(必录)
/// </summary>
public IEnumerable<T> Model { get; set; }
/// <summary>
/// 重写
/// </summary>
/// <returns></returns>
public override string ToString()
{
var settings = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
};
return JsonConvert.SerializeObject(this, settings);
}
}
}