parent
5d753ead07
commit
a07a9ceac5
|
|
@ -9,6 +9,8 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户API保存插件
|
* 客户API保存插件
|
||||||
|
|
@ -17,6 +19,7 @@ import java.util.Map;
|
||||||
public class CustomerSavePlugin implements Serializable, ApiSavePlugin {
|
public class CustomerSavePlugin implements Serializable, ApiSavePlugin {
|
||||||
private static final long serialVersionUID = -1233066349290656167L;
|
private static final long serialVersionUID = -1233066349290656167L;
|
||||||
private static final Log logger = LogFactory.getLog(CustomerSavePlugin.class);
|
private static final Log logger = LogFactory.getLog(CustomerSavePlugin.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
|
public List<Map<String, Object>> preHandleRequestData(List<Map<String, Object>> reqData) {
|
||||||
logger.info("API起始推送数据 → 客户分录信息 → " + reqData);
|
logger.info("API起始推送数据 → 客户分录信息 → " + reqData);
|
||||||
|
|
@ -25,6 +28,19 @@ public class CustomerSavePlugin implements Serializable, ApiSavePlugin {
|
||||||
Map<String, Object> group = (Map<String, Object>) oneLevel.get("group");
|
Map<String, Object> group = (Map<String, Object>) oneLevel.get("group");
|
||||||
String groupNumber = group.get("number").toString();
|
String groupNumber = group.get("number").toString();
|
||||||
|
|
||||||
|
Object regcapital = oneLevel.get("regcapital");
|
||||||
|
if (regcapital != null) {
|
||||||
|
String regcapitalString = regcapital.toString();//xx万元
|
||||||
|
oneLevel.put("regcapital", convertCurrency(regcapitalString));
|
||||||
|
}
|
||||||
|
|
||||||
|
Object shkd_vendorcategory = oneLevel.get("shkd_vendorcategory");
|
||||||
|
if (shkd_vendorcategory != null) {
|
||||||
|
String shkd_vendorcategoryString = shkd_vendorcategory.toString();//I_65
|
||||||
|
oneLevel.put("shkd_vendorcategory", extractAfterUnderscore(shkd_vendorcategoryString));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
List<Map<String, Object>> entryGroupstandard = new ArrayList<>();
|
List<Map<String, Object>> entryGroupstandard = new ArrayList<>();
|
||||||
Map<String, Object> twoLevel = new HashMap<>();
|
Map<String, Object> twoLevel = new HashMap<>();
|
||||||
|
|
||||||
|
|
@ -45,4 +61,38 @@ public class CustomerSavePlugin implements Serializable, ApiSavePlugin {
|
||||||
logger.info("API最后推送数据 → 客户分录信息 → " + reqData);
|
logger.info("API最后推送数据 → 客户分录信息 → " + reqData);
|
||||||
return reqData;
|
return reqData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static String convertCurrency(String input) {
|
||||||
|
// 正则表达式匹配:数字 + "万人民币"
|
||||||
|
// \\d+ 匹配一个或多个数字
|
||||||
|
// 万人民币 是固定文本
|
||||||
|
Pattern pattern = Pattern.compile("(\\d+万)人民币");
|
||||||
|
Matcher matcher = pattern.matcher(input);
|
||||||
|
|
||||||
|
// 使用StringBuffer来构建结果
|
||||||
|
StringBuffer result = new StringBuffer();
|
||||||
|
|
||||||
|
while (matcher.find()) {
|
||||||
|
// 将匹配到的"万人民币"替换为"万元"
|
||||||
|
matcher.appendReplacement(result, matcher.group(1) + "元");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加剩余部分
|
||||||
|
matcher.appendTail(result);
|
||||||
|
|
||||||
|
return result.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String extractAfterUnderscore(String input) {
|
||||||
|
// 使用split方法分割字符串
|
||||||
|
String[] parts = input.split("_", 2); // 只分割成最多2部分
|
||||||
|
|
||||||
|
// 如果分割后有多于1部分,说明有下划线
|
||||||
|
if (parts.length > 1) {
|
||||||
|
return parts[1]; // 返回下划线后的内容
|
||||||
|
}
|
||||||
|
// 没有下划线,返回原字符串
|
||||||
|
return input;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 供应商分录API保存插件
|
* 供应商分录API保存插件
|
||||||
|
|
@ -24,6 +26,18 @@ public class SupplierSavePlugin implements Serializable, ApiSavePlugin {
|
||||||
Map<String, Object> group = (Map<String, Object>) oneLevel.get("group");
|
Map<String, Object> group = (Map<String, Object>) oneLevel.get("group");
|
||||||
String groupNumber = group.get("number").toString();
|
String groupNumber = group.get("number").toString();
|
||||||
|
|
||||||
|
Object regcapital = oneLevel.get("regcapital");
|
||||||
|
if (regcapital != null) {
|
||||||
|
String regcapitalString = regcapital.toString();//xx万元
|
||||||
|
oneLevel.put("regcapital", convertCurrency(regcapitalString));
|
||||||
|
}
|
||||||
|
|
||||||
|
Object shkd_vendorcategory = oneLevel.get("shkd_vendorcategory");
|
||||||
|
if (shkd_vendorcategory != null) {
|
||||||
|
String shkd_vendorcategoryString = shkd_vendorcategory.toString();//I_65
|
||||||
|
oneLevel.put("shkd_vendorcategory", extractAfterUnderscore(shkd_vendorcategoryString));
|
||||||
|
}
|
||||||
|
|
||||||
List<Map<String, Object>> entryGroupstandard = new ArrayList<>();
|
List<Map<String, Object>> entryGroupstandard = new ArrayList<>();
|
||||||
Map<String, Object> twoLevel = new HashMap<>();
|
Map<String, Object> twoLevel = new HashMap<>();
|
||||||
|
|
||||||
|
|
@ -44,4 +58,37 @@ public class SupplierSavePlugin implements Serializable, ApiSavePlugin {
|
||||||
logger.info("API最后推送数据 → 供应商分录信息 → " + reqData);
|
logger.info("API最后推送数据 → 供应商分录信息 → " + reqData);
|
||||||
return reqData;
|
return reqData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String convertCurrency(String input) {
|
||||||
|
// 正则表达式匹配:数字 + "万人民币"
|
||||||
|
// \\d+ 匹配一个或多个数字
|
||||||
|
// 万人民币 是固定文本
|
||||||
|
Pattern pattern = Pattern.compile("(\\d+万)人民币");
|
||||||
|
Matcher matcher = pattern.matcher(input);
|
||||||
|
|
||||||
|
// 使用StringBuffer来构建结果
|
||||||
|
StringBuffer result = new StringBuffer();
|
||||||
|
|
||||||
|
while (matcher.find()) {
|
||||||
|
// 将匹配到的"万人民币"替换为"万元"
|
||||||
|
matcher.appendReplacement(result, matcher.group(1) + "元");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加剩余部分
|
||||||
|
matcher.appendTail(result);
|
||||||
|
|
||||||
|
return result.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String extractAfterUnderscore(String input) {
|
||||||
|
// 使用split方法分割字符串
|
||||||
|
String[] parts = input.split("_", 2); // 只分割成最多2部分
|
||||||
|
|
||||||
|
// 如果分割后有多于1部分,说明有下划线
|
||||||
|
if (parts.length > 1) {
|
||||||
|
return parts[1]; // 返回下划线后的内容
|
||||||
|
}
|
||||||
|
// 没有下划线,返回原字符串
|
||||||
|
return input;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ public class AddBillReceivableReportListDataPlugin extends AbstractReportListDat
|
||||||
@Override
|
@Override
|
||||||
public void afterQuery(AfterQueryEvent event) {
|
public void afterQuery(AfterQueryEvent event) {
|
||||||
DataSet dataSet = event.getDataSet();
|
DataSet dataSet = event.getDataSet();
|
||||||
dataSet = dataSet.addField("case when shkd_kyje=0 and shkd_zyje=0 then '是' else '否' end", "shkd_sfyxz");//是否已下账
|
dataSet = dataSet.addField("case when (shkd_kyje=0 or shkd_kyje=null) and (shkd_zyje=0 or shkd_zyje=null) then '是' else '否' end", "shkd_sfyxz");//是否已下账
|
||||||
event.setDataSet(dataSet);
|
event.setDataSet(dataSet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue