package com.iailab.module.model.mdk.sample.dto;
|
|
import com.iailab.module.data.api.ind.dto.ApiIndItemDTO;
|
import com.iailab.module.data.api.plan.dto.ApiPlanItemDTO;
|
import com.iailab.module.data.api.point.dto.ApiPointDTO;
|
import com.iailab.module.model.mdk.vo.StAdjustDeviationDTO;
|
import lombok.AllArgsConstructor;
|
import lombok.Builder;
|
import lombok.Data;
|
import lombok.NoArgsConstructor;
|
import org.springframework.util.CollectionUtils;
|
|
import java.math.BigDecimal;
|
import java.sql.Timestamp;
|
import java.util.List;
|
import java.util.Map;
|
|
@Data
|
@AllArgsConstructor
|
@NoArgsConstructor
|
@Builder
|
public class SampleInfo {
|
/**
|
* 用于记录端口的个数(爪的个数)
|
*/
|
private Integer portLength;
|
|
private Integer sampleColumn;
|
|
private Timestamp startTime;
|
|
private Timestamp endTime;
|
|
private List<ColumnItemPort> columnInfo;
|
|
private Integer sampleCycle;
|
|
// 调整值
|
private List<StAdjustDeviationDTO> deviation;
|
// 所有测点信息,避免重复查询
|
private Map<String, ApiPointDTO> pointMap;
|
// 所有计划数据信息,避免重复查询
|
private Map<String, ApiPlanItemDTO> planMap;
|
// 所有计划数据信息,避免重复查询
|
private Map<String, ApiIndItemDTO> indMap;
|
|
public static double getAdjustValueFromDeviation(int portIdx, int paramIdx, List<StAdjustDeviationDTO> deviation) {
|
if (CollectionUtils.isEmpty(deviation)) {
|
return 0;
|
}
|
for (StAdjustDeviationDTO deviationItem : deviation) {
|
if (deviationItem.getPortIdx() == portIdx && deviationItem.getParamIdx() == paramIdx) {
|
return deviationItem.getValue();
|
}
|
}
|
return 0;
|
}
|
}
|