Connection conn = null;
Statement stat;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// 与url指定的数据源建立连接
conn = DriverManager.getConnection(dbUrl, theUser, thePw);
// 采用Statement进行查询
stat = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
CallableStatement proc = null;
String startAge = "" + new Double(record[1]).intValue();
String reparationRate = record[4];
String sunIns = "" + new Double(record[5]).intValue();
proc = conn.prepareCall("{call 包名.存储过程名字(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }");
// 险种
proc.setString(1, prodCode);
// 版次
proc.setString(2, "1");
// 计划别总人数
proc.setString(3, null);
// 投保计划别平均年龄
proc.setString(4, null);
// 性别
proc.setString(5, "F");
// 社保类型
proc.setString(6, record[3]);
// 保额
proc.setString(7, sunIns);
// 公用保额,和保额相等
proc.setString(8, null);
// 免赔额
proc.setString(9, null);
// 赔付比例
proc.setString(10, reparationRate);
// 年龄
proc.setString(11, startAge);
// 销售区域
if ("SH".equals(record[0])) {
proc.setString(12, "0601");
} else if ("GD".equals(record[0])) {
proc.setString(12, "6001");
} else if ("SZ".equals(record[0])) {
proc.setString(12, "6002");
} else if ("JS".equals(record[0])) {
proc.setString(12, "1501");
}
// 女性比例
proc.setString(13, "0");
// 日限额
proc.setString(14, null);
// 成本费用
proc.setString(15, costRate);
// 保费
proc.registerOutParameter(16, Types.DOUBLE);
proc.execute();
double fee = proc.getDouble(16);
DecimalFormat decimalFormat = new DecimalFormat("####.######");
String stringFee = decimalFormat.format(fee);
proc.close();
if (stat != null) {
stat.close();
}
if (conn != null) {
conn.close();
}