150 lines
4.5 KiB
Plaintext
150 lines
4.5 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=utf-8" %>
|
|
<%@ page import="weaver.general.*,java.util.*,java.math.*" %>
|
|
<%@ page import="weaver.conn.RecordSet" %>
|
|
<%@ page import="weaver.conn.RecordSetDataSource" %>
|
|
<%@ page import="weaver.hrm.resource.ResourceComInfo" %>
|
|
<%@ page import="weaver.hrm.company.DepartmentComInfo" %>
|
|
<%@ page import="weaver.hrm.company.CompanyComInfo" %>
|
|
|
|
<%
|
|
RecordSet rs = new RecordSet();
|
|
//
|
|
String tablename = Util.null2String(request.getParameter("tablename"));
|
|
if("".equals(tablename)){
|
|
tablename="HRMRESOURCE";
|
|
}
|
|
|
|
|
|
String trigerql = "SELECT trigger_name, trigger_type, triggering_event, trigger_body FROM user_triggers WHERE table_name = '"+tablename.toUpperCase()+"'";
|
|
rs.execute(trigerql);
|
|
rs.next();
|
|
String trigger_name = Util.null2String(rs.getString("trigger_name"));
|
|
if(!"".equals(trigger_name)){
|
|
rs.execute("ALTER TRIGGER "+trigger_name+" DISABLE");
|
|
}
|
|
|
|
//ALTER TRIGGER trigger_name DISABLE;
|
|
|
|
BaseBean bb = new BaseBean();
|
|
String sql = "SELECT column_name, data_type\n" +
|
|
"FROM user_tab_columns\n" +
|
|
"WHERE table_name = '"+tablename.toUpperCase()+"'";
|
|
|
|
RecordSetDataSource rsd = new RecordSetDataSource("localDB");
|
|
String dataSql = "";
|
|
String colname = "";
|
|
bb.writeLog("sql="+sql);
|
|
rsd.execute(sql);
|
|
List list = new ArrayList();
|
|
List dataList = new ArrayList();
|
|
List typeList = new ArrayList();
|
|
while(rsd.next()){
|
|
String column_name = Util.null2String(rsd.getString("column_name")).toUpperCase();
|
|
String data_type = Util.null2String(rsd.getString("data_type")).toUpperCase();
|
|
list.add(column_name);
|
|
typeList.add(data_type);
|
|
colname = colname+column_name+",";
|
|
}
|
|
if(colname.length()>2){
|
|
colname = colname.substring(0,colname.length()-1);
|
|
}
|
|
dataSql = "select "+colname+ " from "+tablename;
|
|
bb.writeLog("dataSql="+dataSql);
|
|
|
|
String insertcol = "";
|
|
rsd.execute(dataSql);
|
|
String insertSql = "";
|
|
|
|
|
|
|
|
while(rsd.next()){
|
|
String colNames = "";
|
|
String volVals = "";
|
|
|
|
String updateSql = "";
|
|
|
|
String idVal = Util.null2String(rsd.getString("ID"));
|
|
|
|
rs.execute("select count(1) from "+tablename+" where id="+idVal);
|
|
rs.next();
|
|
int tmpCnt = Util.getIntValue(rs.getString(1));
|
|
if(tmpCnt>0){
|
|
for(int i = 0;i<list.size();i++) {
|
|
String colName = (String)list.get(i);
|
|
if("ID".equals(colName)){
|
|
continue;
|
|
}
|
|
String typeName = (String)typeList.get(i);
|
|
String colVal = Util.null2String(rsd.getString(colName));
|
|
if(typeName.contains("TIMESTAMP")){
|
|
updateSql = updateSql + colName+"=to_timestamp('"+colVal+"','yyyy-mm-dd hh24:mi:ss.ff')" +",";
|
|
}else if("NUMBER".equals(typeName)){
|
|
if("".equals(colVal)){
|
|
colVal = "-1";
|
|
}
|
|
updateSql = updateSql + colName+"="+colVal+"" +",";
|
|
}else{
|
|
updateSql = updateSql + colName+"='"+colVal+"'" +",";
|
|
}
|
|
|
|
}
|
|
|
|
String lastStr = updateSql.substring(updateSql.length()-1,updateSql.length());
|
|
if(",".equals(lastStr)){
|
|
updateSql = updateSql.substring(0,updateSql.length()-1);
|
|
}
|
|
|
|
updateSql = "update "+tablename+" set "+updateSql+" where id="+idVal;
|
|
rs.execute(updateSql);
|
|
bb.writeLog("updateSql="+updateSql);
|
|
out.println("over!!!!!!!");
|
|
}else{
|
|
|
|
for(int i = 0;i<list.size();i++) {
|
|
String colName = (String)list.get(i);
|
|
String colVal = Util.null2String(rsd.getString(colName));
|
|
|
|
colNames = colNames + colName+",";
|
|
String typeName = (String)typeList.get(i);
|
|
if(typeName.contains("TIMESTAMP")){
|
|
volVals = volVals + " to_timestamp('"+colVal+"','yyyy-mm-dd hh24:mi:ss.ff')" +",";
|
|
}else if("NUMBER".equals(typeName)){
|
|
if("".equals(colVal)){
|
|
colVal = "-1";
|
|
}
|
|
volVals = volVals + colVal+",";
|
|
}else{
|
|
volVals = volVals + "'"+colVal+"'"+",";
|
|
}
|
|
}
|
|
|
|
if(colNames.length()>1){
|
|
colNames = colNames.substring(0,colNames.length()-1);
|
|
volVals = volVals.substring(0,volVals.length()-1);
|
|
}
|
|
insertSql = "insert into "+tablename+" ("+colNames+") values ("+volVals+")";
|
|
bb.writeLog("insertSql="+insertSql);
|
|
rs.execute(insertSql);
|
|
|
|
rs.execute("select max(id) as mid from "+tablename);
|
|
rs.next();
|
|
String mid = Util.null2String(rs.getString(1));
|
|
out.println("over!!!!!!!!");
|
|
}
|
|
|
|
ResourceComInfo resComInfo;
|
|
DepartmentComInfo deptComInfo;
|
|
CompanyComInfo companyComInfo;
|
|
try {
|
|
resComInfo = new ResourceComInfo();
|
|
resComInfo.removeResourceCache();
|
|
deptComInfo = new DepartmentComInfo();
|
|
deptComInfo.removeCompanyCache();
|
|
companyComInfo = new CompanyComInfo();
|
|
companyComInfo.removeCache();
|
|
} catch (Exception e) {
|
|
new BaseBean().writeLog(e);
|
|
}
|
|
}
|
|
|
|
%> |