package com.fgkj.dao.impl; import java.sql.Connection; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.Vector; import com.fgkj.actions.ActionUtil; import com.fgkj.dao.BattTestData; import com.fgkj.dao.DAOHelper; import com.fgkj.db.DBUtil; import com.fgkj.db.IDatabaseName; import com.fgkj.db.Upload; import com.fgkj.dto.Com; import com.fgkj.dto.User_inf; import com.fgkj.fbo.CsvData; public class ResDataUploadImpl { public static boolean uploadResData(User_inf uinf, int bg_id, CsvData csv_data, String[] row_data,Boolean bl) { boolean upload_res = false; Connection conn=DBUtil.getConn(); int testRecordCount = Upload.getBattTestRecordCountNew(bg_id, "db_batt_testdata.TB_BattResData_Inf", conn); Calendar ald = Calendar.getInstance(); ald.setTime(csv_data.m_TestTime); int data_type = BattTestData.BATTDATA_SER; String tb_name = "`db_batt_testdata`.`tb_BattResData_" + bg_id + "` "; try { if(true == bl) { String sql_str0 = "CREATE TABLE IF NOT EXISTS " + tb_name + " " + " ( `num` BIGINT NOT NULL AUTO_INCREMENT, " + "`BattGroupId` INT NOT NULL DEFAULT 0, " + "`test_record_count` INT NOT NULL DEFAULT 0, " + "`test_type` INT NOT NULL DEFAULT 0, " + "`data_new` BOOLEAN NOT NULL DEFAULT false, " + "`data_available` BOOLEAN NOT NULL DEFAULT false, " + "`test_starttime` DATETIME NOT NULL DEFAULT '1982-01-01 00:00:00', " + "`group_vol` FLOAT NOT NULL DEFAULT 0, " + "`test_curr` FLOAT NOT NULL DEFAULT 0, " + "`mon_num` INT NOT NULL DEFAULT 0, " + "`mon_vol` FLOAT NOT NULL DEFAULT 0, " + "`mon_tmp` FLOAT NOT NULL DEFAULT 0, " + "`mon_res` FLOAT NOT NULL DEFAULT 0, " + "`mon_ser` FLOAT NOT NULL DEFAULT 0, " + "`conn_res` FLOAT NOT NULL DEFAULT 0, " + "INDEX index_test_record_count (`test_record_count`), " + "PRIMARY KEY (`num`));"; DAOHelper.executeCreateTable(conn, sql_str0); ArrayList al_sql_str = new ArrayList(); String sql_str1 = "INSERT INTO " + tb_name + " " + " (BattGroupId, " + "test_record_count, " + "test_type, " + "data_new, " + "data_available, " + "test_starttime, " + "group_vol, " + "test_curr, " + "mon_num, " + "mon_vol," + "mon_tmp," + "mon_res," + "mon_ser," + "conn_res)" + " VALUES "; for(int n=0; n 0) sql_str1 += ", "; sql_str1 = sql_str1 + "(" + bg_id + ", " + testRecordCount + ", " + BattTestData.BATTDATA_SER + ", " + true + ", " + true + ", " + "'" + Com.get_DTF(csv_data.m_TestTime, Com.DTF_YMDhms) + "', " + csv_data.m_GroupVol + ", " + csv_data.m_TestCurr + ", " + ((n+1)*10 + 1) + ", " + csv_data.MonomerVol[n] + "," + csv_data.MonomerTmp[n] + "," + csv_data.MonomerRes[n] + "," + csv_data.MonomerSer[n] + "," + csv_data.MonomerConn[n] + ")"; } al_sql_str.add(sql_str1); String sql_str2 = "INSERT INTO TB_BattResData_Inf " + " (BattGroupId, " + "test_record_count, " + "test_type, " + "data_new, " + "data_available, " + "test_starttime, " + "test_devtype, " + "record_time, " + "group_vol, " + "test_curr, " + "upload_usr_id) " + " VALUES " + "("+ bg_id + ", " + testRecordCount + ", " + data_type + ", " + true + ", " + true + ", " + "'" + Com.get_DTF(ald.getTime(), Com.DTF_YMDhms) + "', " + CsvData.DevType_Csv + ", " + "'" + Com.get_DTF(new Date(), Com.DTF_YMDhms) + "', " + csv_data.m_GroupVol + ", " + csv_data.m_TestCurr + ", " + uinf.getUId() + ") "; if(1 == testRecordCount) { sql_str2 = "UPDATE TB_BattResData_Inf SET " + "test_type=" + data_type + ", " + "data_new=" + true + ", " + "data_available=" + true + ", " + "test_starttime='" + Com.get_DTF(ald.getTime(), Com.DTF_YMDhms) + "', " + "test_devtype=" + CsvData.DevType_Csv + ", " + "record_time='" + Com.get_DTF(new Date(), Com.DTF_YMDhms) + "', " + "group_vol=" + csv_data.m_GroupVol + ", " + "test_curr=" + csv_data.m_TestCurr + ", " + "upload_usr_id=" + uinf.getUId() + " " + " WHERE BattGroupId=" + bg_id + " AND test_record_count=" + testRecordCount; } al_sql_str.add(sql_str2); upload_res = DAOHelper.makeManualCommit( conn, al_sql_str); } } catch (Exception e) { e.printStackTrace(); upload_res = false; } finally { DBUtil.close(null, null, conn); } return upload_res; } }