|
@@ -166,6 +166,7 @@ public class EmailTemplateService {
|
|
|
Map<String, Pair<Integer, Integer>> fieldPositionMap = MapUtil.newHashMap();
|
|
|
Map<String, String> fieldPatternMap = MapUtil.newHashMap(8);
|
|
|
Map<String, BigDecimal> fieldUnitConvertMap = MapUtil.newHashMap(8);
|
|
|
+ Map<String, String> fieldReplaceMap = MapUtil.newHashMap(8);
|
|
|
for (TemplateDataRuleDTO dataRuleDTO : dataRuleDTOS) {
|
|
|
if (dataRuleDTO.getRow() == null) {
|
|
|
continue;
|
|
@@ -180,6 +181,9 @@ public class EmailTemplateService {
|
|
|
if (dataRuleDTO.getUnitConvert() != null) {
|
|
|
fieldUnitConvertMap.put(FILE_TYPE_MAP.get(dataRuleDTO.getFieldName()), dataRuleDTO.getUnitConvert());
|
|
|
}
|
|
|
+ if (StringUtil.isNotEmpty(dataRuleDTO.getReplaceText())) {
|
|
|
+ fieldReplaceMap.put(FILE_TYPE_MAP.get(dataRuleDTO.getFieldName()), dataRuleDTO.getReplaceText());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
List<Map<String, String>> fieldValueMapList = CollUtil.newArrayList();
|
|
@@ -197,10 +201,12 @@ public class EmailTemplateService {
|
|
|
Cell cell = row.getCell(columnIndex);
|
|
|
String value = ExcelUtil.getCellValue(cell);
|
|
|
String fieldRule = fieldPatternMap.get(fieldName);
|
|
|
+ String replaceText = fieldReplaceMap.get(fieldName);
|
|
|
boolean isDateFormat = fieldName.equals(EmailFieldConst.PRICE_DATE) && StringUtil.isNumeric(value) && StrUtil.isNotBlank(value) && StringUtil.compare2NumericValue(value);
|
|
|
if (isDateFormat) {
|
|
|
value = ExcelUtil.convertExcelDateToString(value);
|
|
|
}
|
|
|
+ value=replaceText(value,replaceText);
|
|
|
String cellValue = getValueByPattern(value, fieldRule);
|
|
|
BigDecimal unitConvert = fieldUnitConvertMap.get(fieldName);
|
|
|
cellValue = getValueAfterUnitConvert(cellValue, unitConvert);
|
|
@@ -257,6 +263,16 @@ public class EmailTemplateService {
|
|
|
return fieldValueMapList;
|
|
|
}
|
|
|
|
|
|
+ private String replaceText(String value, String replaceText) {
|
|
|
+ if(StringUtil.isEmpty(replaceText) || StringUtil.isEmpty(value)){
|
|
|
+ return value;
|
|
|
+ }
|
|
|
+ for(int i=0;i<replaceText.length();i++){
|
|
|
+ value = value.replaceAll(String.valueOf(replaceText.charAt(i)),"");
|
|
|
+ }
|
|
|
+ return value;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 封装解析的数据为净值数据
|
|
|
*
|