From b0c18d369abd06075c83759b0e19823c2a11d716 Mon Sep 17 00:00:00 2001 From: ulysseskao <ulysseskao@gmail.com> Date: Fri, 29 Apr 2016 18:45:41 +0800 Subject: [PATCH] update for new model --- CCSTrace/CCS/FinishEvent.cs | 865 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 426 insertions(+), 439 deletions(-) diff --git a/CCSTrace/CCS/FinishEvent.cs b/CCSTrace/CCS/FinishEvent.cs index b2f994e..f93b037 100644 --- a/CCSTrace/CCS/FinishEvent.cs +++ b/CCSTrace/CCS/FinishEvent.cs @@ -1,326 +1,313 @@ using System; -using System.Data; -using System.Configuration; -using System.Web; -using System.Web.Security; -using System.Web.UI; -using System.Web.UI.HtmlControls; -using System.Web.UI.WebControls; -using System.Web.UI.WebControls.WebParts; using System.Data.OracleClient; +using CCSTrace.CCS.Domain; namespace CCSTrace.CCS { public class FinishEvent { - private bool upLevel; - private int OriginCaseStatus = 0; - private CCS.Object.EventRecord m_EventRec = null; - private RecordLog _PLog; - private OracleConnection _ConnectionTPC; - private OracleTransaction _Transaction; + private bool _upLevel; + private int _originCaseStatus = 0; + private Object.EventRecord _mEventRec = null; + private RecordLog _pLog; + private OracleConnection _connectionTpc; + private OracleTransaction _transaction; public FinishEvent() { } - public bool Finish(int m_Kind, CCS.Object.EventRecord m_Record, OracleConnection _Conn, OracleTransaction _Trx, RecordLog _Log) + public bool Finish(int mKind, Object.EventRecord mRecord, OracleConnection conn, OracleTransaction trx, RecordLog log) { - this.m_EventRec = m_Record; - _PLog = _Log; - _ConnectionTPC = _Conn; - _Transaction = _Trx; + _mEventRec = mRecord; + _pLog = log; + _connectionTpc = conn; + _transaction = trx; - _PLog.Info("進行OMS資料更新程序..."); - if (m_Record.getParentID() == 0) + _pLog.Info("進行OMS資料更新程序..."); + if (mRecord.ParentId== 0) { // Original Case - if (!(this.ProcessSingalCase(m_Record))) + if (!(ProcessSingalCase(mRecord))) { return false; } - _PLog.Info("更新eos.events成功!"); + _pLog.Info("更新eos.events成功!"); } else { // Child Case - if (!(this.ProcessMergeCase(m_Record))) + if (!(ProcessMergeCase(mRecord))) { return false; } - _PLog.Info("更新eos.events成功!"); + _pLog.Info("更新eos.events成功!"); } // inert into eos.eventrecord && eos.eventrecord_ex - OracleCommand Command = new OracleCommand(m_Record.getSqlStmt(), _ConnectionTPC,_Transaction); - OracleCommand Command1 = null; + OracleCommand command = new OracleCommand(mRecord.GetSqlStmt(), _connectionTpc, _transaction); + OracleCommand command1 = null; try { - if (Command.ExecuteNonQuery() <= 0) + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("儲存資料時發生錯誤: 無法更新eos.eventrecord"); - Command.Dispose(); + _pLog.Error("儲存資料時發生錯誤: 無法更新eos.eventrecord"); + command.Dispose(); return false; } - Command.CommandText = m_Record.getLocateEquipment().getSqlStmt(); - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = mRecord.LocateEquipment.GetSqlStmt(); + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("儲存資料時發生錯誤: 無法更新eos.eventrecord_ex"); - Command.Dispose(); + _pLog.Error("儲存資料時發生錯誤: 無法更新eos.eventrecord_ex"); + command.Dispose(); return false; } - Command.Dispose(); + command.Dispose(); - if ((m_Kind == CCS.LocalVariable.Success) || (m_Kind == CCS.LocalVariable.CaseTypeChanged)) + if ((mKind == GlobalVariable.Success) || (mKind == GlobalVariable.CaseTypeChanged)) { /* 當饋線全停時不需注意影響虛擬用戶,影響用戶資料會由實際切開關產生 */ - if (m_Record.getFsc() != CCS.LocalVariable.Breaker) + if (mRecord.Fsc!= GlobalVariable.Breaker) { - if (!SetVisualCustomer(m_Record)) + if (!SetVisualCustomer(mRecord)) { - _PLog.Error("新增影響用戶資料錯誤."); + _pLog.Error("新增影響用戶資料錯誤."); return false; } - _PLog.Info("新增影響用戶成功!"); + _pLog.Info("新增影響用戶成功!"); } - upLevel = false; /* 判斷交辦案件是否升級為母案件 */ + _upLevel = false; /* 判斷交辦案件是否升級為母案件 */ - if (!(UpdateImportCase(m_Record))) + if (!(UpdateImportCase(mRecord))) { - _PLog.Error("處理案件等級變更時發生錯誤."); + _pLog.Error("處理案件等級變更時發生錯誤."); return false; } - _PLog.Info("處理案件等級變更成功!"); + _pLog.Info("處理案件等級變更成功!"); - if (!(UpdateRecuseOrder(m_Record))) + if (!(UpdateRecuseOrder(mRecord))) { - _PLog.Error("新增搶修順序資料時發生錯誤."); + _pLog.Error("新增搶修順序資料時發生錯誤."); return false; } - _PLog.Info("新增搶修順序成功!"); + _pLog.Info("新增搶修順序成功!"); - if (m_Kind == CCS.LocalVariable.CaseTypeChanged) + if (mKind == GlobalVariable.CaseTypeChanged) { - if (!DeleteOldCase(m_Record)) + if (!DeleteOldCase(mRecord)) { - _PLog.Error("案件轉換發生錯誤"); + _pLog.Error("案件轉換發生錯誤"); return false; } - _PLog.Info("案件轉換成功!"); + _pLog.Info("案件轉換成功!"); } - if (!this.SaveCustomerTel(m_Record)) + if (!SaveCustomerTel(mRecord)) { - _PLog.Error("無法將用戶電話回存回資料庫."); + _pLog.Error("無法將用戶電話回存回資料庫."); return false; } - _PLog.Info("將用戶電話回存回資料庫成功!"); - + _pLog.Info("將用戶電話回存回資料庫成功!"); } - else if (m_Kind == CCS.LocalVariable.NoMeter) + else if (mKind == GlobalVariable.NoMeter) { - String SqlStmt; - SqlStmt = "INSERT INTO EOS.RESCUE_ORDER SELECT " + m_Record.getCaseID() + ",999,COUNT(*) + 1,''," - + m_Record.getLocateEquipment().getDSUFID() + " FROM EOS.RESCUE_ORDER WHERE DSUFID = " - + m_Record.getLocateEquipment().getDSUFID(); + string sqlStmt; + sqlStmt = "INSERT INTO EOS.RESCUE_ORDER SELECT " + mRecord.CaseId+ ",999,COUNT(*) + 1,''," + + mRecord.LocateEquipment.GetDsufid() + " FROM EOS.RESCUE_ORDER WHERE DSUFID = " + + mRecord.LocateEquipment.GetDsufid(); - Command1 = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); - if (Command1.ExecuteNonQuery() <= 0) + command1 = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + if (command1.ExecuteNonQuery() <= 0) { - _PLog.Error("新增搶修順序資料時發生錯誤."); - Command1.Dispose(); + _pLog.Error("新增搶修順序資料時發生錯誤."); + command1.Dispose(); return false; } - Command1.Dispose(); - _PLog.Info("新增搶修順序成功!"); + command1.Dispose(); + _pLog.Info("新增搶修順序成功!"); } - if (m_Record.getParentID() == 0) + if (mRecord.ParentId== 0) { - if (!InsertIntoSri(m_Record)) + if (!InsertIntoSri(mRecord)) { - _PLog.Error("新增資料庫(OCSDB.SRI)錯誤."); + _pLog.Error("新增資料庫(OCSDB.SRI)錯誤."); return false; } - _PLog.Info("新增資料庫(OCSDB.SRI)成功!"); + _pLog.Info("新增資料庫(OCSDB.SRI)成功!"); } } catch (Exception e) { - Command.Dispose(); + command.Dispose(); - if (Command1 != null) - Command1.Dispose(); + if (command1 != null) + command1.Dispose(); throw e; } /** COMMIT的動作須連外面CCS的資料都正確輸入完才作 */ return true; - - } - private bool ProcessSingalCase(CCS.Object.EventRecord m_Record) + private bool ProcessSingalCase(Object.EventRecord mRecord) { - String SqlStmt; - bool Result = false; - SqlStmt = "INSERT INTO EOS.EVENTS VALUES(" + m_Record.getCaseID() + "," + CCS.LocalVariable.WaitForDespatch + ",1," - + CCS.LocalVariable.OriginalCase + ",0)"; + string sqlStmt; + bool result = false; + sqlStmt = "INSERT INTO EOS.EVENTS VALUES(" + mRecord.CaseId+ "," + CCSCaseState.WaitForDespatch + ",1," + + GlobalVariable.OriginalCase + ",0)"; - OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); + OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); try { - if (Command.ExecuteNonQuery() > 0) - Result = true; + if (command.ExecuteNonQuery() > 0) + result = true; else - _PLog.Error("儲存資料時發生錯誤: 無法insert eos.events"); + _pLog.Error("儲存資料時發生錯誤: 無法insert eos.events"); } catch (Exception e) { - _PLog.Error("儲存資料時發生錯誤: 無法insert eos.events. Error = " + e.Message); + _pLog.Error("儲存資料時發生錯誤: 無法insert eos.events. Error = " + e.Message); Console.WriteLine(e.StackTrace); } finally { - Command.Dispose(); + command.Dispose(); } - return Result; + return result; } - private bool ProcessMergeCase(CCS.Object.EventRecord m_Record) + private bool ProcessMergeCase(Object.EventRecord mRecord) { - String SqlStmt; + string sqlStmt; // insert eos.events - SqlStmt = "INSERT INTO EOS.EVENTS VALUES(" + m_Record.getCaseID() + "," + CCS.LocalVariable.WaitForDespatch + ",1," - + CCS.LocalVariable.ChildCase + ",0)"; + sqlStmt = "INSERT INTO EOS.EVENTS VALUES(" + mRecord.CaseId+ "," + CCSCaseState.WaitForDespatch + ",1," + + GlobalVariable.ChildCase + ",0)"; - OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); + OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); try { - if (Command.ExecuteNonQuery() <= 0) + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("儲存資料時發生錯誤: 無法insert eos.events"); - Command.Dispose(); + _pLog.Error("儲存資料時發生錯誤: 無法insert eos.events"); + command.Dispose(); return false; } // insert into eos.mergecase - SqlStmt = "INSERT INTO EOS.MERGECASE VALUES(" + m_Record.getCaseID() + ",'" + m_Record.getAcceptNum() + "'," + m_Record.getParentID() + ")"; + sqlStmt = "INSERT INTO EOS.MERGECASE VALUES(" + mRecord.CaseId+ ",'" + mRecord.AcceptNum+ "'," + mRecord.ParentId+ ")"; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("儲存資料時發生錯誤: 無法insert eos.mergecase"); - Command.Dispose(); + _pLog.Error("儲存資料時發生錯誤: 無法insert eos.mergecase"); + command.Dispose(); return false; } // update parent case data(EOS.EVENTS) - SqlStmt = "UPDATE EOS.EVENTS SET CASETYPE = " + CCS.LocalVariable.ParentCase + ",MERGECASECOUNT = MERGECASECOUNT + 1 " + "WHERE CASEID = " - + m_Record.getParentID(); + sqlStmt = "UPDATE EOS.EVENTS SET CASETYPE = " + GlobalVariable.ParentCase + ",MERGECASECOUNT = MERGECASECOUNT + 1 " + "WHERE CASEID = " + + mRecord.ParentId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("儲存資料時發生錯誤: 無法更改母案件資料"); - Command.Dispose(); + _pLog.Error("儲存資料時發生錯誤: 無法更改母案件資料"); + command.Dispose(); return false; } // update parent case data(EOS.EVENTRECORD) - SqlStmt = "UPDATE EOS.EVENTRECORD SET FSC = " + m_Record.getFsc() + ",UFID = " + m_Record.getUfid() - + " WHERE CASEID in (SELECT CASEID FROM EOS.MERGECASE WHERE PARENTID = " + m_Record.getParentID() + ") OR CASEID = " - + m_Record.getParentID(); + sqlStmt = "UPDATE EOS.EVENTRECORD SET FSC = " + mRecord.Fsc+ ",UFID = " + mRecord.Ufid + " WHERE CASEID in (SELECT CASEID FROM EOS.MERGECASE WHERE PARENTID = " + mRecord.ParentId+ ") OR CASEID = " + + mRecord.ParentId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("儲存資料時發生錯誤: 無法update eos.eventrecord(FSC,UFID)"); - Command.Dispose(); + _pLog.Error("儲存資料時發生錯誤: 無法update eos.eventrecord(FSC,UFID)"); + command.Dispose(); return false; } - Command.Dispose(); + command.Dispose(); } catch (Exception e) { - _PLog.Error("儲存資料時發生錯誤: " + e.Message); + _pLog.Error("儲存資料時發生錯誤: " + e.Message); Console.WriteLine(e.StackTrace); - Command.Dispose(); + command.Dispose(); return false; } return true; } - private bool SetVisualCustomer(CCS.Object.EventRecord m_Record) + private bool SetVisualCustomer(Object.EventRecord mRecord) { - String SqlStmt = ""; - String CustomerKind = "C"; // 高壓用戶or一般用戶 + string sqlStmt = ""; + string customerKind = "C"; // 高壓用戶or一般用戶 - SqlStmt = "SELECT COUNT(*) as COUNT FROM BASEDB.HICUSTOMER WHERE METR_NUMB = '" + m_Record.getMeter() + "'"; - OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); - OracleDataReader reader = Command.ExecuteReader(); + sqlStmt = "SELECT COUNT(*) as COUNT FROM BASEDB.HICUSTOMER WHERE METR_NUMB = '" + mRecord.Meter+ "'"; + OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + OracleDataReader reader = command.ExecuteReader(); try { - if (reader.Read()) { if (Convert.ToInt32(reader["COUNT"].ToString()) > 0) { - CustomerKind = "H"; + customerKind = "H"; } } } catch (Exception) { - _PLog.Error("無法判斷用戶種類."); + _pLog.Error("無法判斷用戶種類."); return false; } finally - { + { reader.Close(); - Command.Dispose(); + command.Dispose(); } - if (m_Record.getParentID() == 0) + if (mRecord.ParentId== 0) { - SqlStmt = "INSERT INTO EOS.TMPAFFECTCUSTMS SELECT " + m_Record.getCaseID() + ",A.M_NAME," - + "M.TELE_NUMB,M.METR_NUMB,A.M_ADDR,M.TRAN_CORD,M.CUST_TYPE,'" + CustomerKind + "' " - + "FROM BASEDB.METER M,BASEDB.MSTADDR A WHERE M.METR_NUMB = A.M_CUST_NO(+) AND M.METR_NUMB = '" + m_Record.getMeter() + "'"; + sqlStmt = "INSERT INTO EOS.TMPAFFECTCUSTMS SELECT " + mRecord.CaseId+ ",A.M_NAME," + + "M.TELE_NUMB,M.METR_NUMB,A.M_ADDR,M.TRAN_CORD,M.CUST_TYPE,'" + customerKind + "' " + + "FROM BASEDB.METER M,BASEDB.MSTADDR A WHERE M.METR_NUMB = A.M_CUST_NO(+) AND M.METR_NUMB = '" + mRecord.Meter+ "'"; - OracleCommand Command1 = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); - if (Command1.ExecuteNonQuery() >= 0) + OracleCommand command1 = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + if (command1.ExecuteNonQuery() >= 0) { - Command1.Dispose(); + command1.Dispose(); return true; } - Command1.Dispose(); + command1.Dispose(); return false; } else { - return InsertMutilCustomer(CustomerKind, m_Record); + return InsertMutilCustomer(customerKind, mRecord); } } - private bool InsertMutilCustomer(String CustomerKind, CCS.Object.EventRecord m_Record) + private bool InsertMutilCustomer(string customerKind, Object.EventRecord mRecord) { - String SqlStmt = ""; + string sqlStmt = ""; bool updateCustomer = false; - String m_TpclidGroupID = ""; - String m_CustomerKind = "C"; + string mTpclidGroupId = ""; + string mCustomerKind = "C"; - SqlStmt = "SELECT COUNT(*) as COUNT FROM EOS.TMPAFFECTCUSTMS WHERE CASEID = " + m_Record.getParentID() - + " OR CASEID IN (SELECT CASEID FROM EOS.MERGECASE WHERE PARENTID = " + m_Record.getParentID() + ")"; + sqlStmt = "SELECT COUNT(*) as COUNT FROM EOS.TMPAFFECTCUSTMS WHERE CASEID = " + mRecord.ParentId + " OR CASEID IN (SELECT CASEID FROM EOS.MERGECASE WHERE PARENTID = " + mRecord.ParentId+ ")"; - OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); - OracleDataReader reader = Command.ExecuteReader(); + OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + OracleDataReader reader = command.ExecuteReader(); try { @@ -334,449 +321,448 @@ } catch (Exception) { - _PLog.Error("無法確認是否需重新修改原始母案件之影響用戶資料."); + _pLog.Error("無法確認是否需重新修改原始母案件之影響用戶資料."); return false; } finally - { + { reader.Close(); - Command.Dispose(); + command.Dispose(); } - OracleCommand Command1 = null; + OracleCommand command1 = null; if (updateCustomer) { /* 找出原始案件的影響用戶資料 */ - SqlStmt = "SELECT TPCLIDGROUPID,CUSTOMERKIND FROM EOS.TMPAFFECTCUSTMS WHERE CASEID = " + m_Record.getParentID(); + sqlStmt = "SELECT TPCLIDGROUPID,CUSTOMERKIND FROM EOS.TMPAFFECTCUSTMS WHERE CASEID = " + mRecord.ParentId; try { - Command1 = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); - reader = Command1.ExecuteReader(); - + command1 = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + reader = command1.ExecuteReader(); + if (reader.Read()) { - m_TpclidGroupID = reader["TPCLIDGROUPID"].ToString().Trim(); - m_CustomerKind = reader["CUSTOMERKIND"].ToString(); + mTpclidGroupId = reader["TPCLIDGROUPID"].ToString().Trim(); + mCustomerKind = reader["CUSTOMERKIND"].ToString(); } reader.Close(); /* 若為高壓用戶,用戶數本來就為1人..無須再作修正 */ - if (m_CustomerKind.Equals("C")) + if (mCustomerKind.Equals("C")) { /* 刪除原始案件的既有用戶資料 */ - SqlStmt = "DELETE EOS.TMPAFFECTCUSTMS WHERE CASEID = " + m_Record.getParentID(); + sqlStmt = "DELETE EOS.TMPAFFECTCUSTMS WHERE CASEID = " + mRecord.ParentId; - Command1.CommandText = SqlStmt; - if (Command1.ExecuteNonQuery() < 0) + command1.CommandText = sqlStmt; + if (command1.ExecuteNonQuery() < 0) { - _PLog.Error("無法刪除原始案件的既有用戶資料."); - Command1.Dispose(); + _pLog.Error("無法刪除原始案件的既有用戶資料."); + command1.Dispose(); return false; } /* 將原始案件的影響用戶數改為變壓器的全部用戶 */ - SqlStmt = "INSERT INTO EOS.TMPAFFECTCUSTMS SELECT " + m_Record.getParentID() + ",A.M_NAME," - + "M.TELE_NUMB,M.METR_NUMB,A.M_ADDR,M.TPCLIDGROUPID,M.CUST_TYPE,'" + m_CustomerKind + "' " + sqlStmt = "INSERT INTO EOS.TMPAFFECTCUSTMS SELECT " + mRecord.ParentId+ ",A.M_NAME," + + "M.TELE_NUMB,M.METR_NUMB,A.M_ADDR,M.TPCLIDGROUPID,M.CUST_TYPE,'" + mCustomerKind + "' " + "FROM (SELECT TELE_NUMB,METR_NUMB,TRAN_CORD as TPCLIDGROUPID,CUST_TYPE FROM BASEDB.METER " + "WHERE TRAN_CORD = '" - + m_TpclidGroupID + "') M,BASEDB.MSTADDR A WHERE M.METR_NUMB = A.M_CUST_NO(+) "; + + mTpclidGroupId + "') M,BASEDB.MSTADDR A WHERE M.METR_NUMB = A.M_CUST_NO(+) "; - Command1.CommandText = SqlStmt; - if (Command1.ExecuteNonQuery() <= 0) + command1.CommandText = sqlStmt; + if (command1.ExecuteNonQuery() <= 0) { - _PLog.Error("無法將原始案件的影響用戶數改為變壓器的全部用戶."); - Command1.Dispose(); + _pLog.Error("無法將原始案件的影響用戶數改為變壓器的全部用戶."); + command1.Dispose(); return false; } } - Command1.Dispose(); + command1.Dispose(); } catch (Exception e) { - _PLog.Error("無法更新原始案件影響用戶資料: " + e.Message); + _pLog.Error("無法更新原始案件影響用戶資料: " + e.Message); Console.WriteLine(e.StackTrace); - Command1.Dispose(); + command1.Dispose(); return false; } } /* 新受理案件的影響用戶資料 */ - SqlStmt = "INSERT INTO EOS.TMPAFFECTCUSTMS SELECT " + m_Record.getCaseID() + ",A.M_NAME," - + "M.TELE_NUMB,M.METR_NUMB,A.M_ADDR,M.TPCLIDGROUPID,M.CUST_TYPE,'" + CustomerKind + "' " + sqlStmt = "INSERT INTO EOS.TMPAFFECTCUSTMS SELECT " + mRecord.CaseId+ ",A.M_NAME," + + "M.TELE_NUMB,M.METR_NUMB,A.M_ADDR,M.TPCLIDGROUPID,M.CUST_TYPE,'" + customerKind + "' " + "FROM (SELECT TELE_NUMB,METR_NUMB,TRAN_CORD as TPCLIDGROUPID,CUST_TYPE FROM BASEDB.METER " - + "WHERE TRAN_CORD = (SELECT TRAN_CORD FROM BASEDB.METER WHERE METR_NUMB = '" + m_Record.getMeter() - + "')) M,BASEDB.MSTADDR A WHERE M.METR_NUMB = A.M_CUST_NO(+) "; + + "WHERE TRAN_CORD = (SELECT TRAN_CORD FROM BASEDB.METER WHERE METR_NUMB = '" + mRecord.Meter + "')) M,BASEDB.MSTADDR A WHERE M.METR_NUMB = A.M_CUST_NO(+) "; - OracleCommand Command2 = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); - if (Command2.ExecuteNonQuery() < 0) + OracleCommand command2 = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + if (command2.ExecuteNonQuery() < 0) { - _PLog.Error("無法新增新受理案件的影響用戶資料."); - Command2.Dispose(); + _pLog.Error("無法新增新受理案件的影響用戶資料."); + command2.Dispose(); return false; } - Command2.Dispose(); + command2.Dispose(); return true; } - private bool UpdateImportCase(CCS.Object.EventRecord m_Record) + private bool UpdateImportCase(Object.EventRecord mRecord) { - String SqlStmt; + string sqlStmt; /* 該案件不為交辦案件 */ - if (m_Record.getImportCase() != CCS.LocalVariable.isImportCase) + if (mRecord.ImportCase!= GlobalVariable.IsImportCase) { return true; } /* 該交辦案件為原始案件 */ - if (m_Record.getParentID() == 0) + if (mRecord.ParentId== 0) { return true; } /* 若母案件已為交辦案件,則不需再作任何更動 */ - SqlStmt = "SELECT IMPORTCASE FROM EOS.EVENTRECORD WHERE CASEID = " + m_Record.getParentID(); - OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); - OracleDataReader reader = Command.ExecuteReader(); + sqlStmt = "SELECT IMPORTCASE FROM EOS.EVENTRECORD WHERE CASEID = " + mRecord.ParentId; + OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + OracleDataReader reader = command.ExecuteReader(); try { if (reader.Read()) { - if (Convert.ToInt32(reader["IMPORTCASE"].ToString()) == CCS.LocalVariable.isImportCase) + if (Convert.ToInt32(reader["IMPORTCASE"].ToString()) == GlobalVariable.IsImportCase) return true; } } catch (Exception) { - _PLog.Error("無法取得母案件之等級."); + _pLog.Error("無法取得母案件之等級."); return false; } finally - { + { reader.Close(); - Command.Dispose(); + command.Dispose(); } /* 開始進行交辦案件升級動作 */ - upLevel = true; + _upLevel = true; /* 將交辦案件改為母案件 */ - SqlStmt = "UPDATE EOS.EVENTS SET CASETYPE = " + CCS.LocalVariable.ParentCase + ",MERGECASECOUNT = " - + "(SELECT MERGECASECOUNT FROM EOS.EVENTS WHERE CASEID = " + m_Record.getParentID() + ") WHERE CASEID = " + m_Record.getCaseID(); + sqlStmt = "UPDATE EOS.EVENTS SET CASETYPE = " + GlobalVariable.ParentCase + ",MERGECASECOUNT = " + + "(SELECT MERGECASECOUNT FROM EOS.EVENTS WHERE CASEID = " + mRecord.ParentId+ ") WHERE CASEID = " + mRecord.CaseId; - OracleCommand Command1 = new OracleCommand(SqlStmt, _ConnectionTPC,_Transaction); - if (Command1.ExecuteNonQuery() <= 0) + OracleCommand command1 = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + if (command1.ExecuteNonQuery() <= 0) { - _PLog.Error("無法將交辦案件改為母案件."); - Command1.Dispose(); + _pLog.Error("無法將交辦案件改為母案件."); + command1.Dispose(); return false; } /* 將母案件改為子案件 */ - SqlStmt = "UPDATE EOS.EVENTS SET CASETYPE = " + CCS.LocalVariable.ChildCase + ",MERGECASECOUNT = 0 WHERE CASEID = " + m_Record.getParentID(); + sqlStmt = "UPDATE EOS.EVENTS SET CASETYPE = " + GlobalVariable.ChildCase + ",MERGECASECOUNT = 0 WHERE CASEID = " + mRecord.ParentId; - Command1.CommandText = SqlStmt; - if (Command1.ExecuteNonQuery() <= 0) + command1.CommandText = sqlStmt; + if (command1.ExecuteNonQuery() <= 0) { - _PLog.Error("無法將母案件改為子案件."); - Command1.Dispose(); + _pLog.Error("無法將母案件改為子案件."); + command1.Dispose(); return false; } // 將EOS.MERGECASE內的資料修正 1.將原先該母案件下的子案件都改掛在交辦案件下 2.將已INSERT入EOS.MERGECASE內的交辦案件資料改為原先母案件的資料(CaseID,AcceptNum) - SqlStmt = "UPDATE EOS.MERGECASE SET PARENTID = " + m_Record.getCaseID() + " WHERE PARENTID = " + m_Record.getParentID(); + sqlStmt = "UPDATE EOS.MERGECASE SET PARENTID = " + mRecord.CaseId+ " WHERE PARENTID = " + mRecord.ParentId; - Command1.CommandText = SqlStmt; - if (Command1.ExecuteNonQuery() <= 0) + command1.CommandText = sqlStmt; + if (command1.ExecuteNonQuery() <= 0) { - _PLog.Error("無法將原先該母案件下的子案件都改掛在交辦案件下."); - Command1.Dispose(); + _pLog.Error("無法將原先該母案件下的子案件都改掛在交辦案件下."); + command1.Dispose(); return false; } - SqlStmt = "UPDATE EOS.MERGECASE SET (CASEID,ACCEPTNUM) = (SELECT CASEID,ACCEPTNUM FROM EOS.EVENTRECORD WHERE CASEID = " - + m_Record.getParentID() + ") WHERE CASEID = " + m_Record.getCaseID(); + sqlStmt = "UPDATE EOS.MERGECASE SET (CASEID,ACCEPTNUM) = (SELECT CASEID,ACCEPTNUM FROM EOS.EVENTRECORD WHERE CASEID = " + + mRecord.ParentId+ ") WHERE CASEID = " + mRecord.CaseId; - Command1.CommandText = SqlStmt; - if (Command1.ExecuteNonQuery() <= 0) + command1.CommandText = sqlStmt; + if (command1.ExecuteNonQuery() <= 0) { - _PLog.Error("無法將已INSERT入EOS.MERGECASE內的交辦案件資料改為原先母案件的資料(CaseID,AcceptNum)."); - Command1.Dispose(); + _pLog.Error("無法將已INSERT入EOS.MERGECASE內的交辦案件資料改為原先母案件的資料(CaseID,AcceptNum)."); + command1.Dispose(); return false; } - Command1.Dispose(); + command1.Dispose(); - return UpdateOtherTable(m_Record.getParentID(), m_Record.getCaseID(), m_Record.getAcceptNum()); + return UpdateOtherTable(mRecord.ParentId, mRecord.CaseId, mRecord.AcceptNum); } - private bool UpdateOtherTable(int OldCaseID, int NewCaseID, String NewAcceptNum) + private bool UpdateOtherTable(int oldCaseId, int newCaseId, string newAcceptNum) { - String SqlStmt; + string sqlStmt; - SqlStmt = "SELECT CASESTATUS FROM EOS.EVENTS WHERE CASEID = " + OldCaseID; - OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC,_Transaction); - OracleDataReader reader = Command.ExecuteReader(); + sqlStmt = "SELECT CASESTATUS FROM EOS.EVENTS WHERE CASEID = " + oldCaseId; + OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + OracleDataReader reader = command.ExecuteReader(); try { - if (reader.Read()) { - OriginCaseStatus = Convert.ToInt32(reader["CASESTATUS"].ToString()); + _originCaseStatus = Convert.ToInt32(reader["CASESTATUS"].ToString()); } reader.Close(); - switch (OriginCaseStatus) + switch (_originCaseStatus) { case 0: - _PLog.Error("找不到原始母案件之案件狀態."); - Command.Dispose(); + _pLog.Error("找不到原始母案件之案件狀態."); + command.Dispose(); return false; - case CCS.LocalVariable.WaitForDespatch: - break; - case CCS.LocalVariable.WaitForSponsor: - SqlStmt = "UPDATE EOS.EVENTDESPATCH SET CASEID = " + NewCaseID + " WHERE CASEID = " + OldCaseID; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + case (int) CCSCaseState.WaitForDespatch: + break; + + case (int) CCSCaseState.WaitForSponsor: + sqlStmt = "UPDATE EOS.EVENTDESPATCH SET CASEID = " + newCaseId + " WHERE CASEID = " + oldCaseId; + + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法更新EOS.EVENTDESPATCH."); - Command.Dispose(); + _pLog.Error("無法更新EOS.EVENTDESPATCH."); + command.Dispose(); return false; } - SqlStmt = "update eos.events set casestatus=" + CCS.LocalVariable.WaitForSponsor + " where caseid=" + NewCaseID; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + sqlStmt = "update eos.events set casestatus=" + CCSCaseState.WaitForSponsor + " where caseid=" + newCaseId; + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法更新EOS.EVENTS."); - Command.Dispose(); + _pLog.Error("無法更新EOS.EVENTS."); + command.Dispose(); return false; } - this.m_EventRec.setDespatched(true); + _mEventRec.IsDespatched = true; break; } - SqlStmt = "UPDATE EOS.EVENTS SET CASESTATUS = " + CCS.LocalVariable.WaitForDespatch + " WHERE CASEID = " + OldCaseID; + sqlStmt = "UPDATE EOS.EVENTS SET CASESTATUS = " + CCSCaseState.WaitForDespatch + " WHERE CASEID = " + oldCaseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("無法更新EOS.Events的CaseStatus."); - Command.Dispose(); + _pLog.Error("無法更新EOS.Events的CaseStatus."); + command.Dispose(); return false; } - SqlStmt = "UPDATE OCSDB.SRI SET SCENENAME = '" + NewAcceptNum + "' WHERE SCENENAME = (SELECT ACCEPTNUM FROM " - + "EOS.EVENTRECORD WHERE CASEID = " + OldCaseID + ")"; + sqlStmt = "UPDATE OCSDB.SRI SET SCENENAME = '" + newAcceptNum + "' WHERE SCENENAME = (SELECT ACCEPTNUM FROM " + + "EOS.EVENTRECORD WHERE CASEID = " + oldCaseId + ")"; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法更新OCSDB.SRI."); - Command.Dispose(); + _pLog.Error("無法更新OCSDB.SRI."); + command.Dispose(); return false; } - SqlStmt = "SELECT COUNT(*) as COUNT FROM EOS.CRTAPOLOGY WHERE CASEID = " + OldCaseID; + sqlStmt = "SELECT COUNT(*) as COUNT FROM EOS.CRTAPOLOGY WHERE CASEID = " + oldCaseId; - Command.CommandText = SqlStmt; - reader = Command.ExecuteReader(); - int Count = 0; + command.CommandText = sqlStmt; + reader = command.ExecuteReader(); + int count = 0; if (reader.Read()) { - Count = Convert.ToInt32(reader["COUNT"].ToString()); + count = Convert.ToInt32(reader["COUNT"].ToString()); } reader.Close(); // 已有切過開關 - if (Count > 0) + if (count > 0) { - SqlStmt = "UPDATE EOS.EVENTFACILITY SET CASEID = " + NewCaseID + " WHERE CASEID = " + OldCaseID; + sqlStmt = "UPDATE EOS.EVENTFACILITY SET CASEID = " + newCaseId + " WHERE CASEID = " + oldCaseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法更新EOS.EVENTFACILITY."); - Command.Dispose(); + _pLog.Error("無法更新EOS.EVENTFACILITY."); + command.Dispose(); return false; } - SqlStmt = "UPDATE EOS.CRTAPOLOGY SET CASEID = " + NewCaseID + " WHERE CASEID = " + OldCaseID; + sqlStmt = "UPDATE EOS.CRTAPOLOGY SET CASEID = " + newCaseId + " WHERE CASEID = " + oldCaseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法更新EOS.CRTAPOLOGY."); - Command.Dispose(); + _pLog.Error("無法更新EOS.CRTAPOLOGY."); + command.Dispose(); return false; } - SqlStmt = "UPDATE EOS.EVENTAFFECT SET CASEID = " + NewCaseID + " WHERE CASEID = " + OldCaseID; + sqlStmt = "UPDATE EOS.EVENTAFFECT SET CASEID = " + newCaseId + " WHERE CASEID = " + oldCaseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法更新EOS.EVENTAFFECT."); - Command.Dispose(); + _pLog.Error("無法更新EOS.EVENTAFFECT."); + command.Dispose(); return false; } // SqlStmt = "UPDATE EOS.VOICE SET CASEID = " + NewCaseID + " WHERE CASEID = " + OldCaseID; - // if (CCS.LocalVariable.Conn.UpdateDB(SqlStmt) < 0) { + // if (CCS.GlobalVariable.Conn.UpdateDB(SqlStmt) < 0) { // _PLog.error("無法更新EOS.VOICE."); // return false; // } - SqlStmt = "UPDATE OCSDB.LOCKFEATURE SET DESCRIPTION = '" + NewAcceptNum + "' WHERE DESCRIPTION = (SELECT ACCEPTNUM FROM " - + "EOS.EVENTRECORD WHERE CASEID = " + OldCaseID + ")"; + sqlStmt = "UPDATE OCSDB.LOCKFEATURE SET DESCRIPTION = '" + newAcceptNum + "' WHERE DESCRIPTION = (SELECT ACCEPTNUM FROM " + + "EOS.EVENTRECORD WHERE CASEID = " + oldCaseId + ")"; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法更新OCSDB.LOCKFEATURE"); - Command.Dispose(); + _pLog.Error("無法更新OCSDB.LOCKFEATURE"); + command.Dispose(); return false; } } - Command.Dispose(); + command.Dispose(); } catch (Exception e) { - _PLog.Error(e.Message); + _pLog.Error(e.Message); Console.WriteLine(e.StackTrace); reader.Close(); - Command.Dispose(); + command.Dispose(); return false; } return true; } - private bool UpdateRecuseOrder(CCS.Object.EventRecord m_Record) + private bool UpdateRecuseOrder(Object.EventRecord mRecord) { - String SqlStmt; - int Rank = 999; - int Priority = 1; - OracleCommand Command = null; + string sqlStmt; + int rank = 999; + int priority = 1; + OracleCommand command = null; /* 單純的子案件或不需升級的交辦案件,不需要更新EOS.RESCUE_ORDER */ - if ((m_Record.getParentID() != 0) && !(upLevel)) + if ((mRecord.ParentId!= 0) && !(_upLevel)) { return true; } /* 該母案件已派工,無搶修順序紀錄 */ - if (OriginCaseStatus > CCS.LocalVariable.WaitForDespatch) + if (_originCaseStatus > (int) CCSCaseState.WaitForDespatch) { return true; } try { - if (upLevel) + if (_upLevel) { /* 將原先母案件的編號改為新的母案件編號 */ - SqlStmt = "UPDATE EOS.RESCUE_ORDER SET CASEID = " + m_Record.getCaseID() + " WHERE CASEID = " + m_Record.getParentID() - + " AND DSUFID = " + m_Record.getLocateEquipment().getDSUFID(); + sqlStmt = "UPDATE EOS.RESCUE_ORDER SET CASEID = " + mRecord.CaseId+ " WHERE CASEID = " + mRecord.ParentId + " AND DSUFID = " + mRecord.LocateEquipment.GetDsufid(); - Command = new OracleCommand(SqlStmt, _ConnectionTPC,_Transaction); - if (Command.ExecuteNonQuery() <= 0) + command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("無法更新EOS.RESCUE_ORDER: 無法將原先母案件的編號改為新的母案件編號."); - Command.Dispose(); + _pLog.Error("無法更新EOS.RESCUE_ORDER: 無法將原先母案件的編號改為新的母案件編號."); + command.Dispose(); return false; } } else { /* 找出該饋線的等級 */ - SqlStmt = "SELECT RANK FROM EOS.IMP_FEEDER WHERE FEEDERID = " + m_Record.getFdrID(); + sqlStmt = "SELECT RANK FROM EOS.IMP_FEEDER WHERE FEEDERID = " + mRecord.FdrId; - Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); - OracleDataReader reader = Command.ExecuteReader(); - + command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + OracleDataReader reader = command.ExecuteReader(); + if (reader.Read()) { - Rank = Convert.ToInt32(reader["RANK"].ToString()); + rank = Convert.ToInt32(reader["RANK"].ToString()); } reader.Close(); /* 找出同等級饋線中的最大搶修順序號碼 */ - SqlStmt = "SELECT MAX(PRIORITY) as PRIORITY FROM EOS.RESCUE_ORDER WHERE RANK = " + Rank + " AND DSUFID = " - + m_Record.getLocateEquipment().getDSUFID(); + sqlStmt = "SELECT MAX(PRIORITY) as PRIORITY FROM EOS.RESCUE_ORDER WHERE RANK = " + rank + " AND DSUFID = " + + mRecord.LocateEquipment.GetDsufid(); - Command.CommandText = SqlStmt; - reader = Command.ExecuteReader(); + command.CommandText = sqlStmt; + reader = command.ExecuteReader(); if (reader.Read()) { - if ( reader["PRIORITY"].ToString().Length != 0 ) - Priority = Convert.ToInt32(reader["PRIORITY"].ToString()); + if (reader["PRIORITY"].ToString().Length != 0) + priority = Convert.ToInt32(reader["PRIORITY"].ToString()); } reader.Close(); /* 如果沒找到,找前一RANK的最大的Priority */ - if (Priority == 0 && Rank > 0) + if (priority == 0 && rank > 0) { - SqlStmt = "SELECT MAX(PRIORITY) as PRIORITY FROM EOS.RESCUE_ORDER WHERE RANK = " - + "(SELECT MAX(RANK) FROM EOS.RESCUE_ORDER WHERE RANK < " + Rank + " AND DSUFID = " - + m_Record.getLocateEquipment().getDSUFID() + ")"; + sqlStmt = "SELECT MAX(PRIORITY) as PRIORITY FROM EOS.RESCUE_ORDER WHERE RANK = " + + "(SELECT MAX(RANK) FROM EOS.RESCUE_ORDER WHERE RANK < " + rank + " AND DSUFID = " + + mRecord.LocateEquipment.GetDsufid() + ")"; - Command.CommandText = SqlStmt; - reader = Command.ExecuteReader(); + command.CommandText = sqlStmt; + reader = command.ExecuteReader(); if (reader.Read()) { - if ( reader["PRIORITY"].ToString().Length != 0 ) - Priority = Convert.ToInt32(reader["PRIORITY"].ToString()); + if (reader["PRIORITY"].ToString().Length != 0) + priority = Convert.ToInt32(reader["PRIORITY"].ToString()); } reader.Close(); } /* 如果還是沒找到,就設Priority = 0 (只有當新增案件的Rank為最小時或第一筆案件才可能發生) */ - if (Priority == 0) + if (priority == 0) { // 若不寫清楚會看不懂 - Priority = 0; + priority = 0; /* 將搶修順序號碼大於等於找出來號碼的都加1 */ } - SqlStmt = "UPDATE EOS.RESCUE_ORDER SET PRIORITY = PRIORITY + 1 WHERE PRIORITY > " + Priority + " AND DSUFID = " - + m_Record.getLocateEquipment().getDSUFID(); + sqlStmt = "UPDATE EOS.RESCUE_ORDER SET PRIORITY = PRIORITY + 1 WHERE PRIORITY > " + priority + " AND DSUFID = " + + mRecord.LocateEquipment.GetDsufid(); - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法更新EOS.RESCUE_ORDER舊的搶修號碼."); - Command.Dispose(); + _pLog.Error("無法更新EOS.RESCUE_ORDER舊的搶修號碼."); + command.Dispose(); return false; } /* 將本身資料存入資料庫內 */ - SqlStmt = "INSERT INTO EOS.RESCUE_ORDER (CASEID,RANK,PRIORITY,DSUFID) VALUES (" + m_Record.getCaseID() + "," + Rank + "," - + (Priority + 1) + "," + m_Record.getLocateEquipment().getDSUFID() + ")"; + sqlStmt = "INSERT INTO EOS.RESCUE_ORDER (CASEID,RANK,PRIORITY,DSUFID) VALUES (" + mRecord.CaseId+ "," + rank + "," + + (priority + 1) + "," + mRecord.LocateEquipment.GetDsufid() + ")"; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("無法新增EOS.RESCUE_ORDER的資料"); - Command.Dispose(); + _pLog.Error("無法新增EOS.RESCUE_ORDER的資料"); + command.Dispose(); return false; } } - Command.Dispose(); + command.Dispose(); } catch (Exception e) { - _PLog.Error("Problems occue during updating eos.rescue_order: " + e.Message); + _pLog.Error("Problems occue during updating eos.rescue_order: " + e.Message); Console.WriteLine(e.StackTrace); - if ( Command != null) - Command.Dispose(); + if (command != null) + command.Dispose(); return false; } @@ -784,131 +770,133 @@ } // 當原先同一用戶在事故受理後又報案,不過從一般案件轉為交辦案件所需作的轉換工作 - private bool DeleteOldCase(CCS.Object.EventRecord m_Record) + private bool DeleteOldCase(Object.EventRecord mRecord) { - String SqlStmt; - int CaseID = 0; // 原先的事故號碼 - int CaseType = CCS.LocalVariable.ChildCase; // 原先的種類 - int Count = 0; // 原先的來電次數 - int CaseStatus = 0; // 原先的案件狀態 - OracleCommand Command = null; + string sqlStmt; + int caseId = 0; // 原先的事故號碼 + int caseType = GlobalVariable.ChildCase; // 原先的種類 + int count = 0; // 原先的來電次數 + int caseStatus = 0; // 原先的案件狀態 + OracleCommand command = null; - SqlStmt = "SELECT R.CASEID as CASEID,E.CASETYPE as CASETYPE,E.CASESTATUS as CASESTATUS,E.COUNT as COUNT FROM " - + "EOS.EVENTRECORD R,EOS.EVENTS E WHERE R.CASEID = E.CASEID AND R.CUSTOMERMETER = '" + m_Record.getMeter() + "' AND R.CASEID <> " - + m_Record.getCaseID() + " AND E.CASESTATUS <= " + CCS.LocalVariable.WaitForSponsor; + sqlStmt = "SELECT R.CASEID as CASEID,E.CASETYPE as CASETYPE,E.CASESTATUS as CASESTATUS,E.COUNT as COUNT FROM " + + "EOS.EVENTRECORD R,EOS.EVENTS E WHERE R.CASEID = E.CASEID AND R.CUSTOMERMETER = '" + mRecord.Meter+ "' AND R.CASEID <> " + + mRecord.CaseId+ " AND E.CASESTATUS <= " + CCSCaseState.WaitForSponsor; try { - Command = new OracleCommand(SqlStmt, _ConnectionTPC,_Transaction); - OracleDataReader reader = Command.ExecuteReader(); + command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + OracleDataReader reader = command.ExecuteReader(); if (reader.Read()) { - CaseID = Convert.ToInt32(reader["CASEID"].ToString()); - CaseType = Convert.ToInt32(reader["CASETYPE"].ToString()); - CaseStatus = Convert.ToInt32(reader["CASESTATUS"].ToString()); - Count = Convert.ToInt32(reader["COUNT"].ToString()); + caseId = Convert.ToInt32(reader["CASEID"].ToString()); + caseType = Convert.ToInt32(reader["CASETYPE"].ToString()); + caseStatus = Convert.ToInt32(reader["CASESTATUS"].ToString()); + count = Convert.ToInt32(reader["COUNT"].ToString()); reader.Close(); } else { reader.Close(); - Command.Dispose(); - _PLog.Error("無法找到原先舊的案件."); + command.Dispose(); + _pLog.Error("無法找到原先舊的案件."); return false; } - SqlStmt = "DELETE EOS.EVENTS WHERE CASEID = " + CaseID; + sqlStmt = "DELETE EOS.EVENTS WHERE CASEID = " + caseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("刪除原先舊的案件的EOS.EVENTS發生錯誤."); - Command.Dispose(); + _pLog.Error("刪除原先舊的案件的EOS.EVENTS發生錯誤."); + command.Dispose(); return false; } - SqlStmt = "DELETE EOS.EVENTRECORD WHERE CASEID = " + CaseID; + sqlStmt = "DELETE EOS.EVENTRECORD WHERE CASEID = " + caseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("刪除原先舊的案件的EOS.EVENTRECORD發生錯誤."); - Command.Dispose(); + _pLog.Error("刪除原先舊的案件的EOS.EVENTRECORD發生錯誤."); + command.Dispose(); return false; } - SqlStmt = "DELETE EOS.EVENTRECORD_EX WHERE CASEID = " + CaseID; + sqlStmt = "DELETE EOS.EVENTRECORD_EX WHERE CASEID = " + caseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("刪除原先舊的案件的EOS.EVENTRECORD_EX發生錯誤."); - Command.Dispose(); + _pLog.Error("刪除原先舊的案件的EOS.EVENTRECORD_EX發生錯誤."); + command.Dispose(); return false; } - SqlStmt = "DELETE EOS.TMPAFFECTCUSTMS WHERE CASEID = " + CaseID; + sqlStmt = "DELETE EOS.TMPAFFECTCUSTMS WHERE CASEID = " + caseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("刪除原先舊的案件的EOS.TMPAFFECTCUSTMS發生錯誤."); - Command.Dispose(); + _pLog.Error("刪除原先舊的案件的EOS.TMPAFFECTCUSTMS發生錯誤."); + command.Dispose(); return false; } - if (m_Record.getParentID() == CaseID) + if (mRecord.ParentId== caseId) { // 原本舊案件為母案件 - SqlStmt = "SELECT COUNT(*) as COUNT FROM EOS.MERGECASE WHERE PARENTID = " + m_Record.getCaseID(); + sqlStmt = "SELECT COUNT(*) as COUNT FROM EOS.MERGECASE WHERE PARENTID = " + mRecord.CaseId; - Command.CommandText = SqlStmt; - reader = Command.ExecuteReader(); + command.CommandText = sqlStmt; + reader = command.ExecuteReader(); if (reader.Read()) { switch (Convert.ToInt32(reader["COUNT"].ToString())) { case 0: - _PLog.Error("無法找到原先母案件下掛的子案件."); + _pLog.Error("無法找到原先母案件下掛的子案件."); reader.Close(); - Command.Dispose(); + command.Dispose(); return false; - case 1: // 子案件為之前受理的同一事故案件 - SqlStmt = "UPDATE EOS.EVENTS SET CASETYPE = " + CCS.LocalVariable.OriginalCase + ",COUNT = " + (Count + 1) - + ",MERGECASECOUNT = 0 WHERE CASEID = " + m_Record.getCaseID(); - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + case 1: // 子案件為之前受理的同一事故案件 + sqlStmt = "UPDATE EOS.EVENTS SET CASETYPE = " + GlobalVariable.OriginalCase + ",COUNT = " + (count + 1) + + ",MERGECASECOUNT = 0 WHERE CASEID = " + mRecord.CaseId; + + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("無法更新原先子案件(要提升為母案件)的資料."); + _pLog.Error("無法更新原先子案件(要提升為母案件)的資料."); reader.Close(); - Command.Dispose(); + command.Dispose(); return false; } - SqlStmt = "DELETE EOS.TMPAFFECTCUSTMS WHERE CUSTOMERMETER <> '" + m_Record.getMeter() + "' AND CASEID = " - + m_Record.getCaseID(); + sqlStmt = "DELETE EOS.TMPAFFECTCUSTMS WHERE CUSTOMERMETER <> '" + mRecord.Meter+ "' AND CASEID = " + + mRecord.CaseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法刪除原先子案件(要提升為母案件)EOS.TMPAFFECTYCUSTMS的資料."); + _pLog.Error("無法刪除原先子案件(要提升為母案件)EOS.TMPAFFECTYCUSTMS的資料."); reader.Close(); - Command.Dispose(); + command.Dispose(); return false; } break; - default: - SqlStmt = "UPDATE EOS.EVENTS SET MERGECASECOUNT = MERGECASECOUNT - 1,COUNT = " + (Count + 1) + " WHERE CASEID = " - + m_Record.getCaseID(); - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() < 0) + default: + sqlStmt = "UPDATE EOS.EVENTS SET MERGECASECOUNT = MERGECASECOUNT - 1,COUNT = " + (count + 1) + " WHERE CASEID = " + + mRecord.CaseId; + + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() < 0) { - _PLog.Error("無法更新EOS.EVENTS的資料."); + _pLog.Error("無法更新EOS.EVENTS的資料."); reader.Close(); - Command.Dispose(); + command.Dispose(); return false; } break; @@ -918,79 +906,79 @@ else { reader.Close(); - Command.Dispose(); - _PLog.Error("無法找到原先母案件下掛的子案件."); + command.Dispose(); + _pLog.Error("無法找到原先母案件下掛的子案件."); return false; } } - SqlStmt = "DELETE EOS.MERGECASE WHERE CASEID = " + CaseID; + sqlStmt = "DELETE EOS.MERGECASE WHERE CASEID = " + caseId; - Command.CommandText = SqlStmt; - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + if (command.ExecuteNonQuery() <= 0) { - _PLog.Error("刪除EOS.MERGECASE發生錯誤"); - Command.Dispose(); + _pLog.Error("刪除EOS.MERGECASE發生錯誤"); + command.Dispose(); return false; } - Command.Dispose(); + command.Dispose(); } catch (Exception e) { - _PLog.Error(e.Message); + _pLog.Error(e.Message); Console.WriteLine(e.StackTrace); - if (Command != null) - Command.Dispose(); + if (command != null) + command.Dispose(); return false; } return true; } - private bool InsertIntoSri(CCS.Object.EventRecord m_Record) + private bool InsertIntoSri(Object.EventRecord mRecord) { - String SqlStmt; - int Count = 0; - OracleCommand Command = null; + string sqlStmt; + int count = 0; + OracleCommand command = null; OracleDataReader reader = null; - SqlStmt = "SELECT COUNT(*) as COUNT FROM OCSDB.SRI WHERE SCENENAME = '" + m_Record.getAcceptNum() + "'"; + sqlStmt = "SELECT COUNT(*) as COUNT FROM OCSDB.SRI WHERE SCENENAME = '" + mRecord.AcceptNum+ "'"; try { - Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction); - reader = Command.ExecuteReader(); + command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); + reader = command.ExecuteReader(); if (reader.Read()) - Count = Convert.ToInt32(reader["COUNT"].ToString()); + count = Convert.ToInt32(reader["COUNT"].ToString()); } catch (Exception e) { - _PLog.Error("Problems occur when checking SCENE Data: " + e.Message); + _pLog.Error("Problems occur when checking SCENE Data: " + e.Message); Console.WriteLine(e.StackTrace); return false; } finally - { - if ( reader != null ) + { + if (reader != null) reader.Close(); } - if (Count > 0) + if (count > 0) { - Command.Dispose(); + command.Dispose(); return true; } - SqlStmt = "INSERT INTO OCSDB.SRI VALUES('" + m_Record.getAcceptNum() + "',2,-1)"; + sqlStmt = "INSERT INTO OCSDB.SRI VALUES('" + mRecord.AcceptNum+ "',2,-1)"; try { - Command.CommandText = SqlStmt; - - if (Command.ExecuteNonQuery() <= 0) + command.CommandText = sqlStmt; + + if (command.ExecuteNonQuery() <= 0) return false; } catch (Exception e) @@ -1000,42 +988,42 @@ } finally { - Command.Dispose(); + command.Dispose(); } - + return true; } - private bool SaveCustomerTel(CCS.Object.EventRecord m_Record) + private bool SaveCustomerTel(Object.EventRecord mRecord) { - String SqlStmt; + string sqlStmt; // 無電號資料 /* - * if (m_Record.getisReCall() == CCS.LocalVariable.NotReCall) { return true; } + * if (m_Record.getisReCall() == CCS.GlobalVariable.NotReCall) { return true; } */ // 沒有回覆電話可供回存 - if (m_Record.getTel() == null || m_Record.getTel().Trim().Length == 0 ) + if (mRecord.Tel== null || mRecord.Tel.Trim().Length == 0) { return true; } // 電話資料過長 - if (m_Record.getTel().Trim().Length > 24) + if (mRecord.Tel.Trim().Length > 24) { - _PLog.Warn("電話過長號碼,無法回存資料庫."); + _pLog.Warn("電話過長號碼,無法回存資料庫."); return true; } - SqlStmt = "UPDATE BASEDB.METER SET TELE_NUMB = '" + m_Record.getTel().Trim() + "' WHERE METR_NUMB = '" + m_Record.getMeter() + "'"; + sqlStmt = "UPDATE BASEDB.METER SET TELE_NUMB = '" + mRecord.Tel.Trim() + "' WHERE METR_NUMB = '" + mRecord.Meter+ "'"; - OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC,_Transaction); + OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction); try { - if (Command.ExecuteNonQuery() <= 0) - _PLog.Warn("無法將用戶電話回存回資料庫."); + if (command.ExecuteNonQuery() <= 0) + _pLog.Warn("無法將用戶電話回存回資料庫."); } catch (Exception e) { @@ -1044,11 +1032,10 @@ } finally { - Command.Dispose(); + command.Dispose(); } return true; } - } -} +} \ No newline at end of file -- Gitblit v0.0.0-SNAPSHOT