Browse Source

Merge remote-tracking branch 'origin/master'

master
qiezi 9 months ago
parent
commit
3c787c3104
  1. 60
      src/main/java/com/spring/ifs/utils/IfsPlsqlUtils.java

60
src/main/java/com/spring/ifs/utils/IfsPlsqlUtils.java

@ -3,6 +3,7 @@ package com.spring.ifs.utils;
import com.spring.ifs.data.IfsParamBean;
import ifs.fnd.ap.*;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -72,23 +73,72 @@ public class IfsPlsqlUtils {
}
}
/**
* @description: 执行存储过程 返回需要的数据
* @author LR
* @date 2024/12/9 16:17
* @version 1.0
*/
public static Map<String, String> execProcedureGetRecord(Server srv, String packageName, String methodName,
PlsqlBaseMethodType methodType, PlsqlBaseMethodAction methodAction, Map<String, String> inParam) throws APException {
//创建查询体
Record profile = new Record("PROFILE");
//填充参数
//循环设置入参
for(Map.Entry<String, String> entry : inParam.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
//设置入参
profile.add(key, value);
}
//创建执行的框体
PlsqlBaseMethodCommand methodCommand = new PlsqlBaseMethodCommand(
srv,
methodType,
packageName,
methodName,
profile,
methodAction);
//执行
methodCommand.execute();
//转换类型
Map<String, String> resultMap = IfsConverterToMap.ConverterIfsToMap(profile);
//返回结果集
return resultMap;
}
/**
* @description: 执行存储过程 返回需要的数据
* @author LR
* @date 2024/12/9 16:17
* @version 1.0
*/
public static Map<String, String> execProcedureGetRecord(Server srv, String packageName, String methodName,
PlsqlBaseMethodType methodType, PlsqlBaseMethodAction methodAction, Map<String, String> inParam) throws APException {
public static Map<String, String> execProcedureGetRecordForParamType(Server srv, String packageName, String methodName,
PlsqlBaseMethodType methodType, PlsqlBaseMethodAction methodAction, Map<String, Object> inParam) throws APException {
//创建查询体
Record profile = new Record("PROFILE");
//填充参数
//循环设置入参
for(Map.Entry<String, String> entry : inParam.entrySet()) {
for(Map.Entry<String, Object> entry : inParam.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
Object value = entry.getValue();
//设置入参
profile.add(key, value);
//区分不同类型 使用不同的添加入参方法
if (value instanceof String){
profile.add(key, (String)value, DataType.ALPHA);
}else if (value instanceof BigDecimal){
profile.add(key, (BigDecimal)value, DataType.DECIMAL);
}else if (value instanceof Integer){
profile.add(key, (Integer)value, DataType.INTEGER);
}else if (value instanceof Long){
profile.add(key, (Long)value, DataType.INTEGER);
}else if (value instanceof Double){
profile.add(key, (Double)value, DataType.FLOAT);
}else if (value instanceof Float){
profile.add(key, (Float)value, DataType.FLOAT);
}else if (value instanceof Boolean) {
profile.add(key, (Boolean) value, DataType.BOOLEAN);
}
}
//创建执行的框体
PlsqlBaseMethodCommand methodCommand = new PlsqlBaseMethodCommand(

Loading…
Cancel
Save