/**
 * DynamicFormService.Save 外层 JSON
 * Model 为 Map 或 JSON 对象，由业务片段填充。
 */
package com.example.integration.kingdee.dto;

import java.util.List;
import java.util.Map;

public class KingdeeSaveRequest {

    private List<String> NeedUpDateFields;
    private List<String> NeedReturnFields;
    private String IsDeleteEntry = "false";
    private String SubSystemId = "";
    private String IsVerifyBaseDataField = "false";
    private String IsEntryBatchFill = "true";
    private String ValidateFlag = "true";
    private String NumberSearch = "true";
    private String IsAutoAdjustField = "false";
    private String InterationFlags = "";
    private String IgnoreInterationFlag = "";
    private String IsControlPrecision = "false";
    private String ValidateRepeatJson = "false";
    private Map<String, Object> Model;

    /** 部分更新示例：字段标识建议由调用方根据当前账套元数据传入。 */
    public static KingdeeSaveRequest buildPartialUpdate(
            String entityIdField, long entityId,
            String externalIdField, String externalId) {
        KingdeeSaveRequest req = new KingdeeSaveRequest();
        req.NeedUpDateFields = List.of(externalIdField);
        req.Model = Map.of(
            entityIdField, entityId,
            externalIdField, externalId
        );
        return req;
    }

    public List<String> getNeedUpDateFields() { return NeedUpDateFields; }
    public void setNeedUpDateFields(List<String> needUpDateFields) { NeedUpDateFields = needUpDateFields; }
    public List<String> getNeedReturnFields() { return NeedReturnFields; }
    public void setNeedReturnFields(List<String> needReturnFields) { NeedReturnFields = needReturnFields; }
    public String getIsDeleteEntry() { return IsDeleteEntry; }
    public void setIsDeleteEntry(String isDeleteEntry) { IsDeleteEntry = isDeleteEntry; }
    public Map<String, Object> getModel() { return Model; }
    public void setModel(Map<String, Object> model) { Model = model; }
    // 其余 getter/setter 按字段生成
}