package com.njcn.gather.icd.mapping.pojo.bo.mapping;

import lombok.Data;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * 最终映射中的 ReportMap 单项。
 *
 * 关键说明：
 * 1. 原 C# 不是把同组报告合并成一条，而是组内每个报告各自输出一条。
 * 2. 但 reportCount 仍然写该分组总数。
 * 3. buffered 不是 boolean，而是：
 *    - true  -> BR
 *    - false -> RP
 */
@Data
public class ReportMapItem {

    /** 报告分组描述。 */
    @JsonProperty("desc")
    private String desc;

    /** 同一分组下的报告数量，单报告按原规则写 0。 */
    @JsonProperty("reportCount")
    private int reportCount;

    /** ICD ReportControl.rptID。 */
    @JsonProperty("rptID")
    private String rptId;

    /** ICD ReportControl.name。 */
    @JsonProperty("name")
    private String name;

    /** 报告缓存类型编码，取值 BR 或 RP。 */
    @JsonProperty("buffered")
    private String buffered;

    /** 模板 ReportList.inst，限定 01~04。 */
    @JsonProperty("inst")
    private String inst;

    /**
     * 原 C# Set_FlickerFlag() 当前固定写 "0"
     */
    @JsonProperty("FlickerFlag")
    private String flickerFlag;

    /**
     * 原 C# 来自 DefaultCfg.ReportList.Select
     */
    @JsonProperty("Select")
    private String select;

    /**
     * 原 C# 来自 DefaultCfg.ReportList.TrgOps
     */
    @JsonProperty("TrgOps")
    private String trgOps;
}