package com.uas.eis.entity.K3;

import com.alibaba.fastjson.JSONPObject;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;

/**
 * @author: zhouy
 * @date: 2021/9/26 11:19
 * @desc: 保存请求对象
 */
@Data
public  class CommonSaveReq<T> implements Serializable{
    /**
     * NeedUpDateFields：需要更新的字段，数组类型，格式：[key1,key2,...] （非必录）注（更新单据体字段得加上单据体key）
     * NeedReturnFields：需返回结果的字段集合，数组类型，格式：[key,entitykey.key,...]（非必录） 注（返回单据体字段格式：entitykey.key）
     * IsDeleteEntry：是否删除已存在的分录，布尔类型，默认true（非必录）
     * SubSystemId：表单所在的子系统内码，字符串类型（非必录）
     * IsVerifyBaseDataField：是否验证所有的基础资料有效性，布尔类，默认false（非必录）
     * IsEntryBatchFill：是否批量填充分录，默认true（非必录）
     * ValidateFlag：是否验证标志，布尔类型，默认true（非必录）
     * NumberSearch：是否用编码搜索基础资料，布尔类型，默认true（非必录）
     * IsAutoAdjustField：是否自动调整JSON字段顺序，布尔类型，默认false（非必录）
     * InterationFlags：交互标志集合，字符串类型，分号分隔，格式："flag1;flag2;..."（非必录） 例如（允许负库存标识：STK_InvCheckResult）
     * IgnoreInterationFlag：是否允许忽略交互，布尔类型，默认true（非必录）
     * Model：表单数据包，JSON类型（必录）
     * */
    private String[] NeedUpDateFields;
    private String[] NeedReturnFields;
    private boolean IsDeleteEntry = true;
    private String SubSystemId;
    private boolean IsVerifyBaseDataField = false;
    private boolean IsEntryBatchFill= true;
    private boolean ValidateFlag = true;
    private boolean NumberSearch = true;
    private boolean IsAutoAdjustField = false;
    private String InterationFlags;
    private boolean IgnoreInterationFlag;
    private  T Model;
}
