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); } } }