package com.njcn.gather.detection.util.socket;

import com.njcn.gather.detection.pojo.dto.DevXiNumData;
import com.njcn.gather.detection.pojo.vo.CoefficientVO;
import com.njcn.gather.device.pojo.vo.PreDetection;
import com.njcn.gather.script.pojo.po.SourceIssue;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @Author: cdf
 * @CreateTime: 2025-01-05
 * @Description: 系数校验管理器
 */
public class XiNumberManager {

    /**
     * 存储大电压，小电压源控制脚本
     */
    public static List<SourceIssue> xiSourceIssueList = new ArrayList<>();

    /**
     * 存储校验系数的装置ip,校验完一个则删除一个
     */
    public static List<String> devXiList = new ArrayList<>();

    /**
     * 最开始存储装置通道原始系数，后续存储大电压计算出来的系数。key为装置ip
     */
    public static Map<String, DevXiNumData> devXiNumDataMap = new ConcurrentHashMap<>();

    /**
     * 存储所有测点的小电压系数
     */
    public static Map<String, DevXiNumData> smallDevXiNumDataMap = new ConcurrentHashMap<>();

    /**
     * 系数校验步数计数器 0.大电压 1.小电压 2.小电压 3.大电压
     */
    public static Integer stepNumber = 0;


    // 存放大电压、小电压、大电流、小电流的数值
    public static List<CoefficientVO.DevParameter> devParameterList = new ArrayList<>();




    /**
     * 因为只支持单台装置获取系数，用于记录未获取到系数的装置，获取到一个删除一个
     */
    public static List<PreDetection> xiDevList = new ArrayList<>();





}
