package com.fr.plugin; import com.fr.general.GeneralUtils; import com.fr.intelli.record.Focus; import com.fr.intelli.record.Original; import com.fr.plugin.context.PluginContexts; import com.fr.record.analyzer.EnableMetrics; import com.fr.script.AbstractFunction; import com.fr.stable.StringUtils; import com.fr.stable.exception.FormulaException; import com.fr.stable.fun.Authorize; import com.fr.third.v2.org.apache.poi.ss.formula.functions.FinanceLib; import java.math.BigDecimal; @EnableMetrics @Authorize(callSignKey = FinanceFunctionConstants.PLUGIN_ID) public class NPV extends AbstractFunction { @Override @Focus(id = "com.fr.plugin.function.finance", text = "Plugin-Test_Function_Finance", source = Original.PLUGIN) public Object run(Object[] objects) throws FormulaException { if (PluginContexts.currentContext().isAvailable()) { return cal(objects); } else { return "插件未激活,请购买使用"; } } private Object cal(Object[] objects){ //某一期间的贴现率 double rate = trans(objects[0]).doubleValue(); double[] doubles = new double[objects.length]; for (int i = 1; i