Ecology-Dev-chaofa/盛虹化纤/interface/shhq/tb5.jsp

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);
}
}
%>