Browse Source

单元格公式问题

pull/1/head
richie 6 years ago
parent
commit
ea10edf781
  1. 2
      plugin.xml
  2. 21
      src/main/java/com/fr/plugin/file/submit/oss/script/OssDownloadHyperlink.java

2
plugin.xml

@ -2,7 +2,7 @@
<id>com.fr.plugin.file.submit.oss</id>
<name><![CDATA[文件上传下载(OSS)]]></name>
<active>yes</active>
<version>2.3</version>
<version>2.4</version>
<env-version>10.0</env-version>
<jartime>2018-11-02</jartime>
<vendor>author</vendor>

21
src/main/java/com/fr/plugin/file/submit/oss/script/OssDownloadHyperlink.java

@ -3,6 +3,7 @@ package com.fr.plugin.file.submit.oss.script;
import com.fr.base.BaseFormula;
import com.fr.base.Parameter;
import com.fr.base.ParameterMapNameSpace;
import com.fr.base.ResultFormula;
import com.fr.general.GeneralUtils;
import com.fr.general.xml.GeneralXMLTools;
import com.fr.js.Hyperlink;
@ -25,6 +26,11 @@ import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLableReader;
import com.fr.web.session.SessionIDInfo;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
public class OssDownloadHyperlink extends Hyperlink {
private String bucket;
@ -65,12 +71,14 @@ public class OssDownloadHyperlink extends Hyperlink {
if (ArrayUtils.isEmpty(providers)) {
providers = ArrayUtils.add(providers, new Parameter(parameterName, variableValue.getValue()));
} else {
Map<String, ParameterProvider> map = new HashMap<String, ParameterProvider>();
for (ParameterProvider provider : providers) {
if (AssistUtils.equals(provider.getValue(), parameterName)) {
provider.setValue(variableValue.getValue());
} else {
providers = ArrayUtils.add(providers, new Parameter(parameterName, variableValue.getValue()));
}
map.put(provider.getName(), provider);
}
if (map.containsKey(parameterName)) {
map.get(parameterName).setValue(variableValue.getValue());
} else {
providers = ArrayUtils.add(providers, new Parameter(parameterName, variableValue.getValue()));
}
}
setParameters(providers);
@ -102,6 +110,9 @@ public class OssDownloadHyperlink extends Hyperlink {
Object value = provider.getValue();
if (value instanceof BaseFormula) {
result = ((BaseFormula) value).getResult();
if (result instanceof ResultFormula) {
result = ((ResultFormula)result).getResult();
}
break;
} else {
result = value;

Loading…
Cancel
Save