diff --git a/代码/jsp/telsale_import/src/com/cpic/telsale/DataImport/DataImport.java b/代码/jsp/telsale_import/src/com/cpic/telsale/DataImport/DataImport.java
index 019a09c..fdf3f0d 100644
--- a/代码/jsp/telsale_import/src/com/cpic/telsale/DataImport/DataImport.java
+++ b/代码/jsp/telsale_import/src/com/cpic/telsale/DataImport/DataImport.java
@@ -116,251 +116,6 @@ public class DataImport
return policyList;
}
- /**
- * 读取xls表格插入数据,要么全部成功,要么全部失败。
- *
- * @param fileName xls文件名
- * @param telsalePolicyOperatorListTableName informix库电销转介绍表名
- * @param informixURL informix数据库URL
- * @return
- * @throws IOException
- * @throws ClassNotFoundException
- * @throws SQLException 数据库异常
- * @throws XlsFileFormatException xls文件格式错误异常
- */
- public static String importTelsalePolicyDataFromXlsx( String fileName,
- String telsalePolicyOperatorListTableName,
- String informixURL )
- throws IOException,
- ClassNotFoundException,
- SQLException,
- XlsFileFormatException
- {
- String importResult = "";
- String importMessage = null;
- int rowIndex = 1; //excel文件行索引
- int rowCount = -1;
- int successCount = 0; //成功写入的行计数
- int failCount = 0; //写入失败的行计数
-
- //excel相关
- FileInputStream xlsFileIn = null;
- HSSFWorkbook xlsFile = null;
- HSSFSheet sheet = null;
- HSSFRow row = null;
-
- try
- {
- xlsFileIn = new FileInputStream( fileName );
- xlsFile = new HSSFWorkbook( xlsFileIn );
- sheet = xlsFile.getSheetAt( 0 ); //第一个sheet
- rowIndex = sheet.getFirstRowNum() + 1;
- rowCount = sheet.getLastRowNum();
- row = sheet.getRow( rowIndex );
- }
- catch ( IOException error ) //有文件格式错误的可能。
- {
- xlsFile.close();
- xlsFileIn.close();
-
- throw new XlsFileFormatException( "文件格式错误,请检查是否xls格式文件。" );
- }
-
- //informix相关
- Class.forName( "com.informix.jdbc.IfxDriver" );
- String ifxSql =
- "INSERT INTO " + telsalePolicyOperatorListTableName + " \n" +
- " (bdh,\n" +
- " zhjywy,\n" +
- " zhjywymc,\n" +
- " kshdm,\n" +
- " kshmc,\n" +
- " zhjywybm,\n" +
- " zhjywybmm,\n" +
- //" chshdm,\n" +
- //" khmc,\n" +
- //" chph,\n" +
- " khjl,\n" +
- " khjllx,\n" +
- " jjbj,\n" +
- " czydm,\n" +
- " czrq)\n" +
- "VALUES\n" +
- " (?,\n" +
- " ?,\n" +
- " ?,\n" +
- " ?,\n" +
- " ?,\n" +
- " ?,\n" +
- " ?,\n" +
- //" ?,\n" +
- //" ?,\n" +
- //" ?,\n" +
- " 0,\n" +
- " 0,\n" +
- " 1,\n" +
- " '800',\n" +
- " today)";
- Connection ifxConn = DriverManager.getConnection( informixURL );
- PreparedStatement ifxStmt = ifxConn.prepareStatement( ifxSql );
-
- ifxConn.setAutoCommit( false );//关闭自动提交,整个表格要么全部成写入,要么全部失败。
-
- //数据相关
- String policyNo = null;
- String operatorCode = null;
- StaffInfo staff = null;
- boolean isSuccess = true; //标志位,用来指示在保存过程中是否出现错误。
-
- while ( rowIndex <= rowCount )
- {
- //用来判断是不是空行
- HSSFCell cell = row.getCell( 0 );
-
- if ( cell == null )
- {
- rowIndex++;
- continue;
- }
-
- policyNo = row.getCell( 0 ).getStringCellValue().trim();
- operatorCode = getStringValueFromHSSFCell( row.getCell( 1 ) );
-
- //判断一下是不是空的单元格
- if ( policyNo.length() == 0 || operatorCode.length() == 0 )
- {
- importResult = importResult + "第" + rowIndex + "行数据为空。
";
-
- //isSuccess = false;
- }
- else //不是空单元格,进行处理
- {
- try
- {
- //取得经办人信息
- staff = new StaffInfo( operatorCode );
-
- //写入informix
- ifxStmt.setString( 1, policyNo );
- ifxStmt.setString( 2, staff.getStaffCode() );
- ifxStmt.setString( 3, staff.getStaffName() );
- ifxStmt.setString( 4, staff.getSectionOfficeCode() );
- ifxStmt.setString( 5, staff.getSectionOfficeName() );
- ifxStmt.setString( 6, staff.getDepartmentCode() );
- ifxStmt.setString( 7, staff.getDepartmentName() );
- //ifxStmt.setString( 8, getStringValueFromHSSFCell( row.getCell( 6 ) ) );
- //ifxStmt.setString( 9, getStringValueFromHSSFCell( row.getCell( 3 ) ) );
- //ifxStmt.setString( 10, getStringValueFromHSSFCell( row.getCell( 2 ) ) );
-
- //ifxStmt.execute();
-
- //成功写入提示
- importResult = importResult + "第" + rowIndex + "行,保单号" + policyNo + ",转介绍信息入成功!
";
-
- successCount++;
- }
- catch ( StaffCodeNotExistException error )
- {
- //经办人不存在
- importResult = importResult + "第" + rowIndex + "行,保单号" + policyNo + ",经办人" + operatorCode + "不存在。
";
-
- //标志位
- isSuccess = false;
-
- //计数
- failCount++;
- }
- catch ( OracleConnectionException error )
- {
- //查询工号失败
- importResult = importResult + "第" + rowIndex + "行,保单号" + policyNo + ",经办人" + operatorCode + ",查询工号失败。
";
-
- //标志位
- isSuccess = false;
-
- //计数
- failCount++;
- }
- catch ( SQLException error )
- {
- int errorCode = error.getErrorCode();
-
- switch ( errorCode )
- {
- case -268: //保单号重复
- importResult = importResult + "第" + rowIndex + "行,保单号" + policyNo + ",已录入过转介绍信息!" + error.getCause() + "。
";
- break;
-
- default: //写入错误
- importResult = importResult + "第" + rowIndex + "行,保单号" + policyNo + ",数据库写入错误,错误信息:" + error
- .getCause() + "。
";
- break;
- }
-
- //标志位
- isSuccess = false;
-
- //计数
- failCount++;
- }
- catch ( Exception error )
- {
- //写入错误
- importResult = importResult + "第" + rowIndex + "行,保单号" + policyNo + ",数据库写入错误,错误信息:" + error.getMessage() + "。
";
-
- //标志位
- isSuccess = false;
-
- //计数
- failCount++;
- }
- finally
- {
- ifxConn.commit();
- }
- }
-
- rowIndex++;
- row = sheet.getRow( rowIndex );
- }
-
- //判断标志位,如果为false,则说明在保存过程中出现了错误,放弃所有过程,进行回滚。
-// if ( isSuccess == true )
-// {
-// //oracleConn.commit();
-// ifxConn.commit();
-// }
-// else
-// {
-// ifxConn.rollback();
-// }
-
- //清理
- xlsFile.close();
- xlsFileIn.close();
-
- //日志
- importMessage = "读取记录数量:" + ( rowIndex - 1 ) +
- "
写入记录数量:" + successCount +
- "
错误记录数量:" + failCount + "
";
-
-// if ( failCount != 0 )
-// {
-// //有错误的记录,输出提示
-// importMessage += "
请根据错误提示修正后重新导入!
";
-// }
-// else
-// {
-// //无错误的记录,输出成功提示
-// importMessage += "
文件已成功导入!
";
-// }
-
- //追加导入记录
- importMessage += importResult;
-
- return importMessage;
- }
-
private static String getStringValueFromHSSFCell( HSSFCell cell )
{
String value = null;
@@ -593,8 +348,8 @@ public class DataImport
/**
* @Description: 读取excel文件,将数据写入oracle和informix数据库。
- * 数据库连接关闭自动提交,在两个数据库都写入成功后提交。
- * 只要有一个数据库写入抛出异常,回滚两个数据库的事务。
+ * 数据库连接关闭自动提交,在两个数据库都写入成功后提交。
+ * 只要有一个数据库写入抛出异常,回滚两个数据库的事务。
* @Param:
* @return: void
* @Author: 王炜
diff --git a/代码/jsp/telsale_import/src/com/cpic/telsale/uploadData/uploadDataProcessor.java b/代码/jsp/telsale_import/src/com/cpic/telsale/uploadData/uploadDataProcessor.java
index 5467c0a..4c31fe0 100644
--- a/代码/jsp/telsale_import/src/com/cpic/telsale/uploadData/uploadDataProcessor.java
+++ b/代码/jsp/telsale_import/src/com/cpic/telsale/uploadData/uploadDataProcessor.java
@@ -35,13 +35,13 @@ public class uploadDataProcessor extends HttpServlet
ServletException
{
//获取参数
- oracleURL = (String) config.getServletContext().getInitParameter( "oracleURL" );
+ oracleURL = (String) config.getServletContext().getInitParameter( "oracle_url_dev01" );
oracleUserName = (String) config.getServletContext().getInitParameter( "oracleUserName" );
oraclePassword = (String) config.getServletContext().getInitParameter( "oraclePassword" );
//informix dxbd_test
//informixURL = (String) config.getServletContext().getInitParameter( "informixURL" );
- informixURL = (String) config.getServletContext().getInitParameter( "dxbd_test" );
+ informixURL = (String) config.getServletContext().getInitParameter( "informix_url_92" );
telsalePolicyOperatorListTableName = (String) config.getServletContext()
.getInitParameter( "telsalePolicyOperatorListTableName" );
}
diff --git a/代码/jsp/telsale_import/src/com/cpic/util/staff/StaffInfo.java b/代码/jsp/telsale_import/src/com/cpic/util/staff/StaffInfo.java
index 92920fa..2b51f41 100644
--- a/代码/jsp/telsale_import/src/com/cpic/util/staff/StaffInfo.java
+++ b/代码/jsp/telsale_import/src/com/cpic/util/staff/StaffInfo.java
@@ -20,15 +20,14 @@ public class StaffInfo
private static String oracleURL = "jdbc:oracle:thin:@10.39.0.86:1521:xmcx1";
- public StaffInfo( String staffCode )
+ public StaffInfo(String staffCode)
throws StaffCodeNotExistException,
- OracleConnectionException,
- ClassNotFoundException,
- SQLException
+ OracleConnectionException,
+ ClassNotFoundException,
+ SQLException
{
- if ( staffCode.length() < 3 )
- {
- throw new StaffCodeNotExistException( staffCode + "不存在。" );
+ if (staffCode.length() < 3) {
+ throw new StaffCodeNotExistException(staffCode + "不存在。");
}
//url要改成可配置的
@@ -39,7 +38,7 @@ public class StaffInfo
this.staffCode = staffCode;
- Class.forName( "oracle.jdbc.driver.OracleDriver" );
+ Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = null;
PreparedStatement stmt = null;
@@ -58,43 +57,32 @@ public class StaffInfo
" AND ry.department_code = bm.department_code\n" +
" AND ry.section_office_code = ksh.section_office_code";
- try
- {
- conn = DriverManager.getConnection( oracleURL, oracleUserName, oraclePassword );
- stmt = conn.prepareStatement( sql );
- stmt.setString( 1, staffCode );
+ try {
+ conn = DriverManager.getConnection(oracleURL, oracleUserName, oraclePassword);
+ stmt = conn.prepareStatement(sql);
+ stmt.setString(1, staffCode);
result = stmt.executeQuery();
- if ( result.next() )
- {
- staffName = result.getString( "staff_name" );
- sectionOfficeCode = result.getString( "section_office_code" );
- sectionOfficeName = result.getString( "section_office_name" );
- departmentCode = result.getString( "department_code" );
- departmentName = result.getString( "department_name" );
+ if (result.next()) {
+ staffName = result.getString("staff_name");
+ sectionOfficeCode = result.getString("section_office_code");
+ sectionOfficeName = result.getString("section_office_name");
+ departmentCode = result.getString("department_code");
+ departmentName = result.getString("department_name");
}
- if ( staffName.isEmpty() == true )
- {
+ if (staffName.isEmpty() == true) {
//没查到数据
- throw new StaffCodeNotExistException( "工号" + staffCode + "不存在。" );
+ throw new StaffCodeNotExistException("工号" + staffCode + "不存在。");
}
- }
- catch ( SQLException error )
- {
- throw new OracleConnectionException( error.getMessage() );
- }
- finally
- {
- try
- {
- if ( conn != null )
- {
+ } catch (SQLException error) {
+ throw new OracleConnectionException(error.getMessage());
+ } finally {
+ try {
+ if (conn != null) {
conn.close();
}
- }
- catch ( SQLException error )
- {
+ } catch (SQLException error) {
//不处理了
}
}
diff --git a/代码/jsp/telsale_import/web/WEB-INF/web.xml b/代码/jsp/telsale_import/web/WEB-INF/web.xml
index 42a1dcf..41e9e3d 100644
--- a/代码/jsp/telsale_import/web/WEB-INF/web.xml
+++ b/代码/jsp/telsale_import/web/WEB-INF/web.xml
@@ -20,9 +20,13 @@
temporaryFiles
- oracleURL
+ oracle_url_dev01
jdbc:oracle:thin:@10.39.0.85:1521:dev01
+
+ oracle_url_xmcx1
+ jdbc:oracle:thin:@10.39.0.86:1521:xmcx1
+
oracleUserName
telsale
@@ -32,17 +36,13 @@
Cpic#1234
- informixURL
+ informix_prod_url
jdbc:informix-sqli://10.187.11.163:9096/ywgl_xm:INFORMIXSERVER=pxmcx2;newcodeset=GBK,8859-1,819;user=ccx99;password=ct0IT17!
- dxbd_test
+ informix_url_92
jdbc:informix-sqli://10.39.0.92:16192/ywgl_xm:INFORMIXSERVER=xmcx2;newcodeset=GBK,8859-1,819;user=ccx99;password=c92IT09
-
- ora_telsale_url
- jdbc:oracle:thin:@10.39.0.85:1521:dev01;user=telsale;password=Cpic%231234;
-
ora_xmcx1_url
jdbc:oracle:thin:@10.39.0.86:1521:xmcx1;user=ywglxt;password=ywglxt;
diff --git a/代码/oracle/项目/建表/查询.sql b/代码/oracle/项目/建表/查询.sql
new file mode 100644
index 0000000..d1f5986
--- /dev/null
+++ b/代码/oracle/项目/建表/查询.sql
@@ -0,0 +1,7 @@
+
+/*
+truncate table Ϣ
+*/
+
+SELECT *
+ FROM Ϣ;
diff --git a/代码/oracle/项目/电销保单信息管理.dsk b/代码/oracle/项目/电销保单信息管理.dsk
index cd8aadd..f5f6222 100644
--- a/代码/oracle/项目/电销保单信息管理.dsk
+++ b/代码/oracle/项目/电销保单信息管理.dsk
@@ -6,7 +6,7 @@ SavePath=D:\develop\projects_win\2018\telsale_management_2017\
Index=1
Filename=D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\\telsale_policy_check_pkg.pck
VCSDBObject=0
-Connection=203611904672479448844638482446903692419849284826467636303960398639804038366443144308449440244018359636063616
+Connection=271145534323418944714289409142133087477745794477439133453099306130553049344348614855459331633157337533853395
DPI=96
Left=0
Top=0
@@ -17,11 +17,38 @@ Type=3
ChildListIndex=1
Pinned=0
+Index=2
+Filename=D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\\Ϣ.sql
+Connection=228750254923504546234889507549414071444946675045492738813667372537513777391545654559423337633757384738573867
+DPI=96
+Left=0
+Top=0
+Width=1474
+Height=636
+State=0
+Type=1
+ChildListIndex=3
+Pinned=0
+
+Index=3
+Filename=D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\\ѯ.sql
+Connection=206849344704482648524670472845943724416649604602477237263992395439484070356842184212446240564050401240224032
+DPI=96
+Left=0
+Top=0
+Width=1550
+Height=719
+State=0
+Type=1
+ChildListIndex=2
+Pinned=0
+
[Files]
[MRU]
-3,D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\\telsale_policy_check_pkg.pck
+1,D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\\ѯ.sql
1,D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\\Ϣ.sql
+3,D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\\telsale_policy_check_pkg.pck
1,D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\\Ϣ¼־.sql
[Layout]
diff --git a/代码/oracle/项目/电销保单信息管理.prj b/代码/oracle/项目/电销保单信息管理.prj
index be5a777..95cbd83 100644
--- a/代码/oracle/项目/电销保单信息管理.prj
+++ b/代码/oracle/项目/电销保单信息管理.prj
@@ -3,7 +3,7 @@ PL/SQL Developer Project
[Options]
AutoConnect=0
Username=telsale
-Password=2093407949054803468536713937389938934015
+Password=2784480245724182438433383060305430483170
Database=DEV01
ConnectAs=Normal
Edition=1.0
@@ -17,8 +17,8 @@ VersionControlPath=
ShowItems=-1
[History]
-Programs=D:\develop\projects_win\2019\car_dealer_util\\ݿ\oracle\pkg
-SQL Scripts=D:\develop\projects_win\2018\xmty_util_2018\\oracle\xmty\sql\ѯ
+Programs=D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\
+SQL Scripts=D:\develop\projects_win\2018\telsale_management_2017\\oracle\Ŀ\
Report Files=
Test Scripts=
Command Scripts=
@@ -31,6 +31,7 @@ Diagram Files=
[Files]
1,0,,,\Ϣ.sql
+1,0,,,\ѯ.sql
[Notes]
{\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fnil Arial;}}