|
|
@ -3,6 +3,7 @@ package com.spring.ifs.utils; |
|
|
import com.spring.ifs.data.IfsParamBean; |
|
|
import com.spring.ifs.data.IfsParamBean; |
|
|
import ifs.fnd.ap.*; |
|
|
import ifs.fnd.ap.*; |
|
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
import java.util.HashMap; |
|
|
import java.util.HashMap; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
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: 执行存储过程 返回需要的数据 |
|
|
* @description: 执行存储过程 返回需要的数据 |
|
|
* @author LR |
|
|
* @author LR |
|
|
* @date 2024/12/9 16:17 |
|
|
* @date 2024/12/9 16:17 |
|
|
* @version 1.0 |
|
|
* @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"); |
|
|
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 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( |
|
|
PlsqlBaseMethodCommand methodCommand = new PlsqlBaseMethodCommand( |
|
|
|