/// <summary> /// IIC文件更新 /// </summary> /// <param name="intImpID">导入ID</param> /// <returns></returns> public bool IICDataUpdate(long intImpID, int intFlag) { OracleConnection cn = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OraConnStringDJ"].ConnectionString); DataTable dtSystemConfig = new DataTable(); string strOra = "select * from tbl00_system_config"; OracleDataAdapter dap = new OracleDataAdapter(); OracleCommand cmd = new OracleCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = strOra; cmd.Connection = cn; dap.SelectCommand = cmd; dap.Fill(dtSystemConfig); UtilityDBDJ utility = new UtilityDBDJ(); try { if (cn.State != ConnectionState.Open) { cn.Open(); } UtilityDBDJ.CreateErrorLog("开始执行存储过程!"); utility.OperatorStore(cmd, intImpID, intImpID, dtSystemConfig, intFlag); UtilityDBDJ.CreateErrorLog("完成执行存储过程!"); } catch { return(false); } finally { cmd.Dispose(); if (cn.State != ConnectionState.Closed) { cn.Close(); } if (cn != null) { cn.Dispose(); } } return(true); }
private void ReadIIC(IDictionary <string, Model.DecisionProjectObjDJ> ts, Model.DetectRecordObjDJ detectRecordObj, DataTable dtUnitAreaConfig, DataTable dtSystemConfig, int intDataID, int intRecordID, int intTaskID, int intPlanID, string strIICPath, string strFileName, string strImpDes) { string strIICFullPath = GetIICDirection(dtSystemConfig) + strIICPath + "\\" + strFileName; using (OleDbConnection oleCn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strIICFullPath + ";Persist Security Info=True")) { oleCn.Open(); OleDbCommand cmd = new OleDbCommand("select * from fix_defects", oleCn); OleDbDataReader myRed; bool bFxIsExists = true; try { myRed = cmd.ExecuteReader(); } catch { bFxIsExists = false; } string strSQLForDefects = string.Empty; string strSQLForTQI = string.Empty; if (!bFxIsExists) { strSQLForDefects = "select * from defects where valid <> 'N' and severity is not null"; strSQLForTQI = "TRANSFORM max([tqivalue]) SELECT [FROMPOST],round((round([basepost],3)-[FROMPOST])*1000,0) as [FROMMINOR] FROM tqi GROUP BY [FROMPOST],round((round([basepost],3)-[FROMPOST])*1000,0) PIVOT [tqimetricname]"; } else { //new表存在的情况 strSQLForDefects = "select * from fix_defects where valid <> 'N' and severity is not null and maxval2=-200"; //strSQLForTQI = "TRANSFORM max([tqivalue]) SELECT [FROMPOST],[FROMMINOR] FROM fix_tqi GROUP BY [FROMPOST],[FROMMINOR] PIVOT [tqimetricname]"; strSQLForTQI = "select * FROM fix_tqi"; } DataTable dtDefectsData = new DataTable("defects"); OleDbDataAdapter dapt = new OleDbDataAdapter(); dapt.SelectCommand = new OleDbCommand(); dapt.SelectCommand.Connection = oleCn; dapt.SelectCommand.CommandText = strSQLForDefects; dapt.Fill(dtDefectsData); DataTable dtTQIData = new DataTable("tqi"); dapt.SelectCommand.CommandText = strSQLForTQI; dapt.Fill(dtTQIData); UtilityDBDJ utility = new UtilityDBDJ(); //if (!bFxIsExists) //{ strImpDes="TQI无效,-1009";} int intImpID = utility.OperatorImpLog(intDataID, intRecordID, strFileName, strIICPath, strImpDes); OracleConnection cn = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OraConnStringDJ"].ConnectionString); cn.Open(); //OracleTransaction transaction = cn.BeginTransaction(); OracleCommand cmdInner = new OracleCommand(); cmdInner.CommandType = CommandType.Text; cmdInner.Connection = cn; //cmdInner.Transaction = transaction; try { UtilityDBDJ.CreateErrorLog("开始导入TQI数据!"); utility.OperatorTQI(cmdInner, detectRecordObj, dtUnitAreaConfig, dtTQIData, bFxIsExists, intImpID, intRecordID, intTaskID, intPlanID); UtilityDBDJ.CreateErrorLog("完成导入TQI数据!"); UtilityDBDJ.CreateErrorLog("开始导入号为:" + intImpID.ToString() + "的文件"); utility.OperatorDefects(cmdInner, ts, detectRecordObj, dtUnitAreaConfig, dtDefectsData, intImpID, intRecordID, intTaskID, intPlanID); UtilityDBDJ.CreateErrorLog("完成导入号为:" + intImpID.ToString() + "的文件"); UtilityDBDJ.CreateErrorLog("开始执行存储过程!"); utility.OperatorStore(cmdInner, intImpID, intRecordID, dtSystemConfig, 1); utility.OperatorStore(cmdInner, intImpID, intRecordID, dtSystemConfig, 0); UtilityDBDJ.CreateErrorLog("完成执行存储过程!"); //transaction.Commit(); utility.SetDetectDataManage(intDataID); } catch (Exception e) { //transaction.Rollback(); utility.SetImpLog(e.Message.ToString(), intImpID); } finally { cmdInner.Dispose(); if (cn.State != ConnectionState.Closed) { cn.Close(); } if (cn != null) { cn.Dispose(); } } } }