package jnpf.elnService;
|
|
import jnpf.elnEntity.runtime.ElnRecordEntity;
|
import jnpf.elnEntity.runtime.ElnRecordFieldValueEntity;
|
import jnpf.elnEntity.runtime.ElnRecordFormulaCalculationResult;
|
import jnpf.elnEntity.runtime.ElnRecordRevisionEntity;
|
|
import java.util.List;
|
import java.util.Set;
|
|
/** 记录草稿的唯一权威公式计算入口。 */
|
public interface ElnRecordFormulaCalculationService {
|
|
List<ElnRecordFieldValueEntity> recalculateAffected(
|
String tenantId, ElnRecordEntity record,
|
ElnRecordRevisionEntity revision,
|
List<ElnRecordFieldValueEntity> values,
|
Set<String> changedBindingIds,
|
String operationCode, String operatorUserId);
|
|
List<ElnRecordFieldValueEntity> recalculateAll(
|
String tenantId, ElnRecordEntity record,
|
ElnRecordRevisionEntity revision,
|
List<ElnRecordFieldValueEntity> values,
|
String operationCode, String operatorUserId);
|
|
default ElnRecordFormulaCalculationResult recalculateAffectedWithRepeats(
|
String tenantId, ElnRecordEntity record,
|
ElnRecordRevisionEntity revision,
|
List<ElnRecordFieldValueEntity> values,
|
Set<String> changedBindingIds,
|
String operationCode, String operatorUserId) {
|
ElnRecordFormulaCalculationResult result = new ElnRecordFormulaCalculationResult();
|
result.setFieldValues(recalculateAffected(tenantId, record, revision, values,
|
changedBindingIds, operationCode, operatorUserId));
|
return result;
|
}
|
|
default ElnRecordFormulaCalculationResult recalculateAllWithRepeats(
|
String tenantId, ElnRecordEntity record,
|
ElnRecordRevisionEntity revision,
|
List<ElnRecordFieldValueEntity> values,
|
String operationCode, String operatorUserId) {
|
ElnRecordFormulaCalculationResult result = new ElnRecordFormulaCalculationResult();
|
result.setFieldValues(recalculateAll(tenantId, record, revision, values,
|
operationCode, operatorUserId));
|
return result;
|
}
|
}
|