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/EventAI/Equipment.cs | 33
CCSTrace/CCS/Function/MailService.cs | 67
CCSTrace/CCS/ProcessEvent.cs | 980 ++++----
CCSTrace/CCS/Object/EventQuery.cs | 237 -
CCSTrace/CCS/Object/EventRecord.cs | 364 --
CCSTrace/Properties/AssemblyInfo.cs | 3
CCSTrace/CCS/Object/Dept_Contrast.cs | 108
CCSTrace/CCS/Function/MergeCase.cs | 57
CCSTrace/CCS/Object/CCSRecord.cs | 278 +-
CCSTrace/CCS/FinishEvent.cs | 865 ++++----
CCSTrace/CCS/ThreadEndEvent.cs | 22
CCSTrace/CCS/Object/LocateEquipment.cs | 119
CCSTrace/CCS/Object/Addr_Contrast.cs | 104
CCSTrace/Web.config | 5
CCSTrace/CCS/Object/NumberContrast.cs | 72
CCSTrace/CCS/CCSMain.cs | 419 ++-
CCSTrace/CCS/EventAI/TraceSubject.cs | 695 +++---
CCSTrace/CCS/Object/CCSCodelist.cs | 178 -
CCSTrace.sln | 32
CCSTrace/CCS/EventAI/JudgeCase.cs | 369 +-
CCSTrace/Service1.asmx.cs | 23
CCSTrace/CCS/RecordLog.cs | 29
CCSTrace/CCS/Function/InitialEventData.cs | 155
/dev/null | 94
CCSTrace/CCS/SEventLog.cs | 29
CCSTrace/CCS/Object/AlarmData.cs | 307 +-
CCSTrace/CCSTrace.csproj | 110
CCSTrace/CCS/Function/Leach.cs | 481 ++--
CCSTrace/CCS/Object/EOSCodelist.cs | 125
29 files changed, 2,947 insertions(+), 3,413 deletions(-)
diff --git a/CCSTrace.sln b/CCSTrace.sln
index cb54a2c..717efbf 100644
--- a/CCSTrace.sln
+++ b/CCSTrace.sln
@@ -1,30 +1,36 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25123.0
+MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CCSTrace", "CCSTrace\CCSTrace.csproj", "{E56EE563-6708-4448-85C4-9AE3C01E1B86}"
EndProject
-Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CCSTracex64", "CCSTracex64\CCSTracex64.vdproj", "{5DF7599C-A1CE-4C2A-846C-76505DA5B656}"
-EndProject
-Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CCSTracex86", "CCSTracex86\CCSTracex86.vdproj", "{BB9B551B-D3F7-4A48-8FB9-7E08A989307A}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CCSTrace.Tests", "CCSTrace.Tests\CCSTrace.Tests.csproj", "{6CD5DE3F-1581-4F40-9971-264802B47DE6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E56EE563-6708-4448-85C4-9AE3C01E1B86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E56EE563-6708-4448-85C4-9AE3C01E1B86}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E56EE563-6708-4448-85C4-9AE3C01E1B86}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {E56EE563-6708-4448-85C4-9AE3C01E1B86}.Debug|x86.Build.0 = Debug|Any CPU
{E56EE563-6708-4448-85C4-9AE3C01E1B86}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E56EE563-6708-4448-85C4-9AE3C01E1B86}.Release|Any CPU.Build.0 = Release|Any CPU
- {5DF7599C-A1CE-4C2A-846C-76505DA5B656}.Debug|Any CPU.ActiveCfg = Debug
- {5DF7599C-A1CE-4C2A-846C-76505DA5B656}.Debug|Any CPU.Build.0 = Debug
- {5DF7599C-A1CE-4C2A-846C-76505DA5B656}.Release|Any CPU.ActiveCfg = Release
- {5DF7599C-A1CE-4C2A-846C-76505DA5B656}.Release|Any CPU.Build.0 = Release
- {BB9B551B-D3F7-4A48-8FB9-7E08A989307A}.Debug|Any CPU.ActiveCfg = Debug
- {BB9B551B-D3F7-4A48-8FB9-7E08A989307A}.Debug|Any CPU.Build.0 = Debug
- {BB9B551B-D3F7-4A48-8FB9-7E08A989307A}.Release|Any CPU.ActiveCfg = Release
- {BB9B551B-D3F7-4A48-8FB9-7E08A989307A}.Release|Any CPU.Build.0 = Release
+ {E56EE563-6708-4448-85C4-9AE3C01E1B86}.Release|x86.ActiveCfg = Release|Any CPU
+ {E56EE563-6708-4448-85C4-9AE3C01E1B86}.Release|x86.Build.0 = Release|Any CPU
+ {6CD5DE3F-1581-4F40-9971-264802B47DE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6CD5DE3F-1581-4F40-9971-264802B47DE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6CD5DE3F-1581-4F40-9971-264802B47DE6}.Debug|x86.ActiveCfg = Debug|x86
+ {6CD5DE3F-1581-4F40-9971-264802B47DE6}.Debug|x86.Build.0 = Debug|x86
+ {6CD5DE3F-1581-4F40-9971-264802B47DE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6CD5DE3F-1581-4F40-9971-264802B47DE6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6CD5DE3F-1581-4F40-9971-264802B47DE6}.Release|x86.ActiveCfg = Release|x86
+ {6CD5DE3F-1581-4F40-9971-264802B47DE6}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/CCSTrace/CCS/CCSMain.cs b/CCSTrace/CCS/CCSMain.cs
index 56a0dbb..c824a21 100644
--- a/CCSTrace/CCS/CCSMain.cs
+++ b/CCSTrace/CCS/CCSMain.cs
@@ -1,162 +1,174 @@
using System;
+using System.Collections;
+using System.Collections.Generic;
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.Xml;
+using System.Data.OracleClient;
+using System.IO;
using System.Runtime.CompilerServices;
using System.Threading;
-
+using System.Web;
+using System.Xml;
+using Amib.Threading;
+using CCSTrace.CCS.Domain;
+using CCSTrace.CCS.Object;
+using NLog;
namespace CCSTrace.CCS
{
- public class CCSMain
+ public class CcsMain
{
- private static CCSMain _instance;
- public static CCS.Object.CCSCodelist CCSCodelist;
- public static CCS.Object.EOSCodelist EOSCodelist;
- public static System.Collections.ArrayList DBConnList = new System.Collections.ArrayList();
- public static System.Collections.ArrayList ProcessCases = new System.Collections.ArrayList();
+ private const string DbConfigFilename = "DBConfig.xml";
- private string LoadFilename = "DBConfig.xml";
- private string ConnectionString = String.Empty;
- private string traceConnectionString = String.Empty;
- private int ConnectionCount = 1;
- public static System.Data.OracleClient.OracleConnection MainConn = null;
- static SEventLog _MainLog = null;
+ private static Logger _logger = LogManager.GetCurrentClassLogger();
+ private static CcsMain _instance;
- public static System.Collections.Hashtable ProcessFDR = new System.Collections.Hashtable();//Record the processing FDR
- public static System.Collections.ArrayList WaitingCases = new System.Collections.ArrayList();//Record the case when the case's FDR processed by another
+ public static ArrayList ProcessCases = new ArrayList();
+ public static Queue<int> ProcessCaseQueue = new Queue<int>();
+ public static Hashtable ProcessFdr = new Hashtable();//Record the processing FDR
+ public static ArrayList WaitingCases = new ArrayList();//Record the case when the case's FDR processed by another
- public CCSMain()
+ private int _connectionCount = 1;
+ private OracleConnection _mainConn = null;
+ private SEventLog _mainLog = null;
+
+ private SmartThreadPool _mainjobThreadPool = null;
+ private readonly object _syncDbQueue = new object();
+ private readonly Queue<OracleConnection> _dbQueue = new Queue<OracleConnection>();
+
+ public CcsMain()
{
- Initial();
+ _mainjobThreadPool = new SmartThreadPool();
+ // Startup();
}
- public static CCSMain Instance()
- {
+ public string AppDataPath { get; set; }
+ public static CcsMain Instance()
+ {
// Uses lazy initialization.
// Note: this is not thread safe.
if (_instance == null)
{
- _instance = new CCSMain();
-
+ _instance = new CcsMain();
}
return _instance;
-
}
- private void Initial()
+ public void Startup()
{
- _MainLog = new SEventLog();
+ _mainLog = new SEventLog();
try
{
- ReadXML();
+ ReadXml();
- if (MainConn == null)
- MainConn = CreateConnection();
- //MainConn = CreateMainConnection();
+ if (_mainConn == null)
+ _mainConn = CreateConnection();
+ //MainConn = CreateMainConnection();
- CCSCodelist = new CCSTrace.CCS.Object.CCSCodelist(MainConn);
- EOSCodelist = new CCSTrace.CCS.Object.EOSCodelist(MainConn);
+ GlobalVariable.CcsCodelist = new CcsCodelist(_mainConn);
+ GlobalVariable.EosCodelist = new EosCodelist(_mainConn);
- for (int i = 0; i < ConnectionCount; i++)
- DBConnList.Add(CreateConnection());
+ for (int i = 0; i < _connectionCount; i++)
+ {
+ lock (_syncDbQueue) _dbQueue.Enqueue(CreateConnection());
+ }
}
- catch(Exception e)
+ catch (Exception e)
{
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
- _MainLog.Error(e.Message);
+ _mainLog.Error(e.Message);
- if (LocalVariable.ShowError)
- _MainLog.Error(e.StackTrace);
+ if (GlobalVariable.ShowError)
+ _mainLog.Error(e.StackTrace);
- throw e;
+ throw;
}
finally
{
- _MainLog.Close();
+ _mainLog.Close();
}
- Object.CCSRecord m_Record = getWaitRecord();
+ CcsRecord mRecord = GetWaitRecord(_mainConn);
- if (m_Record != null)
+ if (mRecord != null)
{
- System.Data.OracleClient.OracleConnection _Conn = (System.Data.OracleClient.OracleConnection)DBConnList[0];
- DBConnList.Remove(_Conn);
-
- ProcessCase(m_Record, _Conn);
+ OracleConnection conn = null;
+ lock (_syncDbQueue) conn = _dbQueue.Dequeue();
+ ProcessCase(mRecord, conn);
}
+ STPStartInfo stpStartInfo = new STPStartInfo();
+ stpStartInfo.IdleTimeout = GlobalVariable.IdleTimeout * 1000;
+ stpStartInfo.MaxWorkerThreads = GlobalVariable.MaxThreadSize;
+ stpStartInfo.MinWorkerThreads = GlobalVariable.MinThreadSize;
+ _mainjobThreadPool = new SmartThreadPool(stpStartInfo);
}
- public void AcceptEvent(Object.CCSRecord _Record)
+ public void Shutdown()
+ {
+ _mainjobThreadPool.Shutdown(true, 1000);
+ _mainjobThreadPool.Dispose();
+ _mainjobThreadPool = null;
+ GC.Collect();
+ GC.WaitForPendingFinalizers();
+ }
+ public void AcceptEvent(CcsRecord record)
{
int i = 0;
- int ReConnectCount = 1;
+ int reConnectCount = 1;
-
- while ( i <= ReConnectCount )
+ while (i <= reConnectCount)
{
try
{
- if (InsertEventRecord(_Record))
+ if (InsertEventRecord(record, _mainConn))
{
- if (DBConnList.Count > 0)
+ if (_dbQueue.Count > 0)
{
-
//將EVETNQUERY的案件狀態改為開始處理
- Object.CCSRecord m_Record = getWaitRecord();
+ CcsRecord mRecord = GetWaitRecord(_mainConn);
- if (m_Record != null)
+ if (mRecord != null)
{
- System.Data.OracleClient.OracleConnection _Conn = (System.Data.OracleClient.OracleConnection)DBConnList[0];
- DBConnList.Remove(_Conn);
-
- ProcessCase(m_Record, _Conn);
+ OracleConnection conn = _dbQueue.Dequeue();
+ ProcessCase(mRecord, conn);
}
}
break;
}
}
- catch (Exception ex)
+ catch (Exception)
{
- if (MainConn.State.ToString().Equals("Closed"))
+ if (_mainConn.State == ConnectionState.Closed)
{
i++;
- if (i > ReConnectCount)
- throw ex;
+ if (i > reConnectCount)
+ throw;
}
else
- throw ex;
+ throw;
}
}
-
-
}
- private void ReadXML()
+ private void ReadXml()
{
XmlReader reader = null;
try
{
+ string file = Path.Combine(AppDataPath, DbConfigFilename);
// 建立 XML 讀取器
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true; // 不處理註解
settings.IgnoreWhitespace = true; // 跳過空白
settings.ValidationType = ValidationType.None; // 不驗證任何資料
- reader = XmlTextReader.Create(System.AppDomain.CurrentDomain.BaseDirectory + "\\" + LoadFilename, settings);
+ reader = XmlReader.Create(file, settings);
// 進入讀取主要部分
while (reader.Read())
@@ -164,273 +176,290 @@
switch (reader.NodeType)
{
case XmlNodeType.Element:
- string LocalName = reader.LocalName; // 取得標籤名稱
+ string localName = reader.LocalName; // 取得標籤名稱
// Step 3: 讀取 FileInfo 標籤的屬性
- if (LocalName.Equals("DBSetting"))
+ if (localName.Equals("DBSetting"))
{
- ConnectionString = String.Format("Data source={0};User Id={1};Password={2};", reader["DataSource"], reader["UserId"], reader["Password"]) ;
- traceConnectionString = String.Format("{0}/{1}@{2}", reader["UserId"], reader["Password"], reader["DataSource"]);
- ConnectionCount = Int32.Parse(reader["ConnectionCount"]);
- LocalVariable.ShowError = bool.Parse(reader["ShowError"]);
+ GlobalVariable.ConnectionString =
+ $"Data source={reader["DataSource"]};User Id={reader["UserId"]};Password={reader["Password"]};";
+ GlobalVariable.TraceConnectionString =
+ $"{reader["UserId"]}/{reader["Password"]}@{reader["DataSource"]}";
+ string token = reader["ConnectionCount"];
+ if (token != null)
+ {
+ GlobalVariable.MaxConnectionCount = int.Parse(token);
+ }
+ token = reader["ShowError"];
+ if (token != null)
+ {
+ GlobalVariable.ShowError = bool.Parse(token);
+ }
+ } else if (localName.Equals("ThreadSetting"))
+ {
+ string token = reader["maxThreadSize"];
+ if (token != null)
+ {
+ GlobalVariable.MaxThreadSize = int.Parse(token);
+ }
+ token = reader["minThreadSize"];
+ if (token != null)
+ {
+ GlobalVariable.MinThreadSize = int.Parse(token);
+ }
}
break;
}
}
reader.Close();
-
}
- catch (System.Xml.XmlException xe)
+ catch (XmlException xe)
{
Console.WriteLine(xe.StackTrace);
- reader.Close();
+ reader?.Close();
}
}
- private System.Data.OracleClient.OracleConnection CreateConnection()
+ private OracleConnection CreateConnection()
{
- System.Data.OracleClient.OracleConnection DBConn = new System.Data.OracleClient.OracleConnection(ConnectionString);
-
- DBConn.Open();
+ OracleConnection dbConn = new OracleConnection(GlobalVariable.ConnectionString);
- return DBConn;
+ dbConn.Open();
+
+ return dbConn;
}
[MethodImpl(MethodImplOptions.Synchronized)]
- private bool InsertEventRecord(Object.CCSRecord _Record)
+ private bool InsertEventRecord(CcsRecord record, OracleConnection conn)
{
- Object.EventQuery _EventQuery = null;
- System.Data.OracleClient.OracleTransaction _Transaction = null;
+ OracleTransaction transaction = null;
try
{
- _MainLog = new SEventLog();
+ _mainLog = new SEventLog();
- if (MainConn.State.ToString().Equals("Closed"))
- MainConn.Open();
+ if (conn.State.ToString().Equals("Closed"))
+ conn.Open();
- _Transaction = MainConn.BeginTransaction();
+ transaction = conn.BeginTransaction();
- if (_Record.InsertDB(MainConn, _Transaction, _MainLog))
+ if (record.InsertDb(conn, transaction, _mainLog))
{
- _EventQuery = new CCSTrace.CCS.Object.EventQuery();
+ var eventQuery = new EventQuery
+ {
+ CcsId = record.CcsId,
+ Meter = record.Meter,
+ CaseStatus = (int) CCSCaseState.EventInitial,
+ ChangeTime = record.AcceptTime
+ };
- _EventQuery.setCCSID(_Record.getCCSID());
- _EventQuery.setMeter(_Record.getMeter());
- _EventQuery.setCaseStatus(LocalVariable.EventInitial);
- _EventQuery.setChangeTime(_Record.getAcceptTime());
- if (_EventQuery.Insert(_MainLog, MainConn, _Transaction))
- _Transaction.Commit();
+ if (eventQuery.Insert(_mainLog, conn, transaction))
+ transaction.Commit();
else
{
- if (_Transaction.Connection.State.ToString().Equals("Open"))
- _Transaction.Rollback();
-
+ if (transaction.Connection.State.ToString().Equals("Open"))
+ transaction.Rollback();
+
throw new Exception("案件未受理成功。");
}
}
else
{
- if (_Transaction.Connection.State.ToString().Equals("Open"))
- _Transaction.Rollback();
-
+ if (transaction.Connection.State.ToString().Equals("Open"))
+ transaction.Rollback();
+
throw new Exception("案件未受理成功。");
}
-
}
- catch (System.Data.OracleClient.OracleException e)
+ catch (OracleException e)
{
Console.WriteLine(e.Message);
Console.WriteLine(e.StackTrace);
- _MainLog.Error(e.Message);
+ _mainLog.Error(e.Message);
- if (LocalVariable.ShowError)
- _MainLog.Error(e.StackTrace);
+ if (GlobalVariable.ShowError)
+ _mainLog.Error(e.StackTrace);
- if (_Transaction != null && _Transaction.Connection.State.ToString().Equals("Open") )
- _Transaction.Rollback();
+ if (transaction != null && transaction.Connection.State.ToString().Equals("Open"))
+ transaction.Rollback();
- throw e;
+ throw;
}
- catch(Exception ex)
+ catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
- _MainLog.Error(ex.Message);
+ _mainLog.Error(ex.Message);
- if (LocalVariable.ShowError)
- _MainLog.Error(ex.StackTrace);
+ if (GlobalVariable.ShowError)
+ _mainLog.Error(ex.StackTrace);
- if (_Transaction != null && _Transaction.Connection.State.ToString().Equals("Open") )
- _Transaction.Rollback();
+ if (transaction != null && transaction.Connection.State.ToString().Equals("Open"))
+ transaction.Rollback();
- throw ex;
+ throw;
}
finally
{
- _MainLog.Close();
+ _mainLog.Close();
}
return true;
}
- delegate void WorkerThreadHandler();
+ private delegate void WorkerThreadHandler();
- private void ProcessCase(Object.CCSRecord _Record, System.Data.OracleClient.OracleConnection _Conn)
+ private void ProcessCase(CcsRecord record, OracleConnection conn)
{
try
{
- if (_Conn.State.ToString().Equals("Closed"))
- _Conn.Open();
+ if (conn.State.ToString().Equals("Closed"))
+ conn.Open();
- ProcessEvent _ProcessEvent = new ProcessEvent(_Record, _Conn, traceConnectionString);
- _ProcessEvent.ThreadFinish += new ThreadEndEventHandler(ThreadEndEventProcess);
+ ProcessEvent processEvent = new ProcessEvent(record, conn, GlobalVariable.TraceConnectionString);
+ processEvent.ThreadFinish += ThreadEndEventProcess;
- System.Threading.ThreadStart _ThreadStart = new System.Threading.ThreadStart(_ProcessEvent.Run);
- System.Threading.Thread _Thread = new System.Threading.Thread(_ThreadStart);
- _Thread.Start();
+ ThreadStart threadStart = processEvent.Run;
+ Thread thread = new Thread(threadStart);
+ thread.Start();
}
catch
{
- DBConnList.Add(_Conn);
+ lock (_syncDbQueue) _dbQueue.Enqueue(conn);
}
}
private void ThreadEndEventProcess(object sender, ThreadEndEvent e)
{
//將EVETNQUERY的案件狀態改為開始處理
- Object.CCSRecord m_Record = getWaitRecord();
+ CcsRecord mRecord = GetWaitRecord(e.GetConnection());
try
{
- if (m_Record != null)
- ProcessCase(m_Record, e.getConnection());
- else
- DBConnList.Add(e.getConnection());
+ if (mRecord != null)
+ ProcessCase(mRecord, e.GetConnection());
}
- catch
+ finally
{
- DBConnList.Add(e.getConnection());
+ lock (_syncDbQueue) _dbQueue.Enqueue(e.GetConnection());
}
- }
+ }
[MethodImpl(MethodImplOptions.Synchronized)]
- private Object.CCSRecord getWaitRecord()
+ private CcsRecord GetWaitRecord(OracleConnection conn)
{
- String ProcessCCSID = "";
- String CCSID = "";
- Object.CCSRecord _Record = null;
+ string processCcsid = "";
+ string ccsid = "";
+ CcsRecord record = null;
- foreach (String[] Obj in WaitingCases)
+ foreach (string[] obj in WaitingCases)
{
- String _CCSID = Obj[0];
- String _FDRID = Obj[1];
+ string ccsId = obj[0];
+ string fdrid = obj[1];
- if (ProcessFDR.ContainsKey(_FDRID)) //該條饋線仍有案件在處理中
- ProcessCCSID = ProcessCCSID + "'" + _CCSID + "',";
+ if (ProcessFdr.ContainsKey(fdrid)) //該條饋線仍有案件在處理中
+ processCcsid = processCcsid + "'" + ccsid + "',";
else
{
- CCSID = _CCSID;
- WaitingCases.Remove(Obj);
+ ccsid = ccsId;
+ WaitingCases.Remove(obj);
break;
}
}
- if (CCSID.Length == 0) //沒有因同饋線而在等候中的案件
+ if (ccsid.Length == 0) //沒有因同饋線而在等候中的案件
{
- String SqlStmt = "SELECT Q.CCSID AS CCSID FROM CCS.EVENTQUERY Q,CCS.EVENTRECORD R WHERE Q.CASESTATUS IN (" + LocalVariable.EventInitial + "," + LocalVariable.EventProcess + ")";
- System.Collections.IEnumerator Enum = ProcessCases.GetEnumerator();
+ string sqlStmt = "SELECT Q.CCSID AS CCSID FROM CCS.EVENTQUERY Q,CCS.EVENTRECORD R WHERE Q.CASESTATUS IN (" + (int) CCSCaseState.EventInitial + "," + (int) CCSCaseState.EventProcess + ")";
+ IEnumerator Enum = ProcessCases.GetEnumerator();
while (Enum.MoveNext())
- ProcessCCSID = ProcessCCSID + "'" + Enum.Current.ToString() + "',";
+ if (Enum.Current != null) processCcsid = processCcsid + "'" + Enum.Current + "',";
- if (ProcessCCSID.Length != 0)
- SqlStmt = SqlStmt + " AND Q.CCSID NOT IN (" + ProcessCCSID.Substring(0, ProcessCCSID.Length - 1) + ")";
+ if (processCcsid.Length != 0)
+ sqlStmt = sqlStmt + " AND Q.CCSID NOT IN (" + processCcsid.Substring(0, processCcsid.Length - 1) + ")";
- SqlStmt = SqlStmt + " AND Q.CCSID = R.CCSID AND ROWNUM < 2 ORDER BY Q.ChangeTime";
- System.Data.OracleClient.OracleCommand Command = new System.Data.OracleClient.OracleCommand(SqlStmt, MainConn);
- System.Data.OracleClient.OracleDataReader reader = Command.ExecuteReader();
+ sqlStmt = sqlStmt + " AND Q.CCSID = R.CCSID AND ROWNUM < 2 ORDER BY Q.ChangeTime";
+ OracleCommand command = new OracleCommand(sqlStmt, conn);
+ OracleDataReader reader = command.ExecuteReader();
try
{
if (reader.Read())
- CCSID = reader["CCSID"].ToString();
+ ccsid = reader["CCSID"].ToString();
}
catch (Exception e)
{
Log(e.Message);
- _MainLog.Error("無法取得等候處理CCS案件資料。錯誤訊息 = " + e.Message);
+ _mainLog.Error("無法取得等候處理CCS案件資料。錯誤訊息 = " + e.Message);
- if (LocalVariable.ShowError)
- _MainLog.Error(e.StackTrace);
+ if (GlobalVariable.ShowError)
+ _mainLog.Error(e.StackTrace);
}
finally
{
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- if (CCSID.Length != 0)
- _Record = new Object.CCSRecord(CCSID, MainConn, _MainLog);
+ if (ccsid.Length != 0)
+ record = new CcsRecord(ccsid, conn, _mainLog);
- if (_Record != null)
+ if (record != null)
{
- CCS.Object.EventQuery EventQuery = new CCSTrace.CCS.Object.EventQuery();
+ EventQuery eventQuery = new EventQuery();
//先將EVETNQUERY的案件狀態改為開始處理
- EventQuery.setCCSID(_Record.getCCSID());
- EventQuery.setCaseStatus(LocalVariable.EventProcess);
+ eventQuery.CcsId = record.CcsId;
+ eventQuery.CaseStatus = (int) CCSCaseState.EventProcess;
- System.Data.OracleClient.OracleTransaction _Transaction = MainConn.BeginTransaction();
+ OracleTransaction transaction = conn.BeginTransaction();
try
{
-
- if (EventQuery.UpdateCaseStatus(_MainLog, MainConn, _Transaction))
+ if (eventQuery.UpdateCaseStatus(_mainLog, conn, transaction))
{
- _MainLog.Info("更新EVENTQUERY的案件狀態為處理中.(CCSID = " + _Record.getCCSID() + ")");
- _Transaction.Commit();
- ProcessCases.Add(_Record.getCCSID());
+ _mainLog.Info("更新EVENTQUERY的案件狀態為處理中.(CCSID = " + record.CcsId + ")");
+ transaction.Commit();
+ ProcessCases.Add(record.CcsId);
}
else
{
- _MainLog.Error("無法更新EVENTQUERY的案件狀態.(CCSID = " + _Record.getCCSID() + ")");
+ _mainLog.Error("無法更新EVENTQUERY的案件狀態.(CCSID = " + record.CcsId + ")");
- if (_Transaction.Connection.State.ToString().Equals("Open"))
- _Transaction.Rollback();
+ if (transaction.Connection.State.ToString().Equals("Open"))
+ transaction.Rollback();
}
}
catch (Exception e)
{
- if (_Transaction.Connection.State.ToString().Equals("Open"))
- _Transaction.Rollback();
+ if (transaction.Connection.State.ToString().Equals("Open"))
+ transaction.Rollback();
Log(e.Message);
- _Record = null;
+ record = null;
}
}
- return _Record;
+ return record;
}
- private void Log(String message)
+ private void Log(string message)
{
- RecordLog _PLog = null;
+ RecordLog pLog = null;
try
{
- _PLog = new RecordLog(CCS.LocalVariable.CCS_ListPath + "MAIN.txt");
- _PLog.Error(message);
+ pLog = new RecordLog(GlobalVariable.CcsListPath + "MAIN.txt");
+ pLog.Error(message);
}
finally
{
- if (_PLog != null)
+ if (pLog != null)
{
- _PLog.Close();
+ pLog.Close();
}
}
}
-
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/EventAI/Equipment.cs b/CCSTrace/CCS/EventAI/Equipment.cs
index 774f032..e7fb11f 100644
--- a/CCSTrace/CCS/EventAI/Equipment.cs
+++ b/CCSTrace/CCS/EventAI/Equipment.cs
@@ -1,34 +1,15 @@
-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;
-
-namespace CCSTrace.CCS.EventAI
+namespace CCSTrace.CCS.EventAI
{
public class Equipment
{
- int FSC;
- int UFID;
-
- public Equipment(int m_Fsc, int m_Ufid)
+ public Equipment(int mFsc, int mUfid)
{
- this.FSC = m_Fsc;
- this.UFID = m_Ufid;
+ Fsc = mFsc;
+ Ufid = mUfid;
}
- public int getFSC()
- {
- return FSC;
- }
+ public int Fsc { get; }
- public int getUFID()
- {
- return UFID;
- }
+ public int Ufid { get; }
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/EventAI/JudgeCase.cs b/CCSTrace/CCS/EventAI/JudgeCase.cs
index 2f71f1a..c08d324 100644
--- a/CCSTrace/CCS/EventAI/JudgeCase.cs
+++ b/CCSTrace/CCS/EventAI/JudgeCase.cs
@@ -1,12 +1,4 @@
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.Collections;
using System.Data.OracleClient;
@@ -15,317 +7,330 @@
{
public class JudgeCase
{
- TraceSubject m_TraceSubject;
- System.Collections.ArrayList m_Case = new System.Collections.ArrayList();
- int Damage_FdrID;
- int Damage_Fsc; // 新案件的損壞設備種類
- int Damage_Ufid; // 新案件的損壞設備編號
- int New_CaseID;
- String AcceptDate;
- System.Collections.ArrayList New_Case;
- System.Collections.Hashtable Old_Case;
- int Infer_Fsc; // 推測出可能受損的設備種類
- int Infer_Ufid; // 推測出可能受損的設備編號
- int Parent_CaseID = 0;
- CCS.EventAI.Equipment m_Equip;
+ private TraceSubject _mTraceSubject;
+ private readonly ArrayList _mCase = new ArrayList();
+ private readonly int _damageFdrId;
+ private readonly int _damageFsc; // 新案件的損壞設備種類
+ private readonly int _damageUfid; // 新案件的損壞設備編號
+ private int _newCaseId;
+ private string _acceptDate;
+ private ArrayList _newCase;
+ private Hashtable _oldCase;
+ private int _inferFsc; // 推測出可能受損的設備種類
+ private int _inferUfid; // 推測出可能受損的設備編號
+ private int _parentCaseId = 0;
+ private Equipment _mEquip;
- private OracleConnection _ConnectionTPC;
- private OracleTransaction _Transaction;
- private RecordLog _PLog;
- private String _traceConnectionString = String.Empty;
+ private readonly OracleConnection _connectionTpc;
+ private readonly OracleTransaction _transaction;
+ private readonly RecordLog _pLog;
+ private readonly string _traceConnectionString;
// int Range = 360; //比事故案件還早多久時間內的案件才作合併 單位:分
- public JudgeCase(int m_FdrID, int m_fsc, int m_ufid, int m_CaseID, String m_AcceptDate, OracleConnection _Connection, OracleTransaction _Trx, String _traceConnection, RecordLog _Log)
+ public JudgeCase(int mFdrId, int mFsc, int mUfid, int mCaseId, string mAcceptDate, OracleConnection connection, OracleTransaction trx, string traceConnection, RecordLog log)
{
- this.Damage_FdrID = m_FdrID;
- this.Damage_Fsc = m_fsc;
- this.Damage_Ufid = m_ufid;
- this.New_CaseID = m_CaseID;
- this.AcceptDate = m_AcceptDate;
-
- _ConnectionTPC = _Connection;
- _Transaction = _Trx;
- _traceConnectionString = _traceConnection;
- _PLog = _Log;
+ _damageFdrId = mFdrId;
+ _damageFsc = mFsc;
+ _damageUfid = mUfid;
+ _newCaseId = mCaseId;
+ _acceptDate = mAcceptDate;
+
+ _connectionTpc = connection;
+ _transaction = trx;
+ _traceConnectionString = traceConnection;
+ _pLog = log;
}
- public void AIBegin() {
- _PLog.Info("進行案件追蹤合併.");
- String SqlStmt;
+ public void AiBegin()
+ {
+ _pLog.Info("進行案件追蹤合併.");
// String ToTime = AcceptDate;
- SqlStmt = "SELECT R.ACCEPTNUM,R.CASEID as CASEID,R.FDRID as FDRID,R.FSC as FSC,R.UFID as UFID,E.CASESTATUS as CASESTATUS,R.EVENTBRIEF as BRIEF "
- + "FROM EOS.EVENTRECORD R,EOS.EVENTS E WHERE E.CASEID = R.CASEID AND R.TRACE_FINISH = " + CCS.LocalVariable.Trace_Still
- + " AND E.CASETYPE <> " + CCS.LocalVariable.ChildCase + " AND R.FDRID = " + this.Damage_FdrID;
+ var sqlStmt = "SELECT R.ACCEPTNUM,R.CASEID as CASEID,R.FDRID as FDRID,R.FSC as FSC,R.UFID as UFID,E.CASESTATUS as CASESTATUS,R.EVENTBRIEF as BRIEF "
+ + "FROM EOS.EVENTRECORD R,EOS.EVENTS E WHERE E.CASEID = R.CASEID AND R.TRACE_FINISH = " + GlobalVariable.TraceStill
+ + " AND E.CASETYPE <> " + GlobalVariable.ChildCase + " AND R.FDRID = " + _damageFdrId;
- OracleCommand Command = null;
+ OracleCommand command = null;
OracleDataReader reader = null;
try
{
- _PLog.Info("搜尋同一饋線上可供合併之母案件.");
- Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- reader = Command.ExecuteReader();
+ _pLog.Info("搜尋同一饋線上可供合併之母案件.");
+ command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ reader = command.ExecuteReader();
// 找出同一饋線上處理中的母案件(可作合併的)
// 該饋線上有可能有二件或兩件以上的母案件
while (reader.Read())
{
- System.Collections.ArrayList Record = new System.Collections.ArrayList();
- Record.Add(Convert.ToInt32(reader["CASEID"].ToString()));
- Record.Add(Convert.ToInt32(reader["FDRID"].ToString()));
- Record.Add(Convert.ToInt32(reader["FSC"].ToString()));
- Record.Add(Convert.ToInt32(reader["UFID"].ToString()));
- Record.Add(Convert.ToInt32(reader["CASESTATUS"].ToString()));
- CCS.EventAI.Equipment Tmp = new CCS.EventAI.Equipment(Convert.ToInt32(reader["FSC"].ToString()), Convert.ToInt32(reader["UFID"].ToString()));
- Record.Add(Tmp);
- Record.Add(reader["BRIEF"].ToString());
- Record.Add(reader["ACCEPTNUM"].ToString());
- m_Case.Add(Record);
- _PLog.Info(Record[7].ToString() + ", " + Record[0]);
+ ArrayList record = new ArrayList();
+ record.Add(Convert.ToInt32(reader["CASEID"].ToString()));
+ record.Add(Convert.ToInt32(reader["FDRID"].ToString()));
+ record.Add(Convert.ToInt32(reader["FSC"].ToString()));
+ record.Add(Convert.ToInt32(reader["UFID"].ToString()));
+ record.Add(Convert.ToInt32(reader["CASESTATUS"].ToString()));
+ Equipment tmp = new Equipment(Convert.ToInt32(reader["FSC"].ToString()), Convert.ToInt32(reader["UFID"].ToString()));
+ record.Add(tmp);
+ record.Add(reader["BRIEF"].ToString());
+ record.Add(reader["ACCEPTNUM"].ToString());
+ _mCase.Add(record);
+ _pLog.Info(record[7].ToString() + ", " + record[0]);
}
reader.Close();
}
catch (Exception e)
{
- _PLog.Error(e.Message);
+ _pLog.Error(e.Message);
Console.WriteLine(e.StackTrace);
- _PLog.Error("尋找母案件時發生錯誤.");
+ _pLog.Error("尋找母案件時發生錯誤.");
throw e;
}
finally
{
- if (Command != null)
- Command.Dispose();
+ if (command != null)
+ command.Dispose();
if (reader != null)
reader.Close();
}
// 若事故案件為該饋線上的第一件事故案件時,無須再作追蹤比較
- if (m_Case.Count == 0) {
- Infer_Fsc = this.Damage_Fsc;
- Infer_Ufid = this.Damage_Ufid;
- _PLog.Info("此案件為饋線上第一件案件");
- _PLog.Info("追蹤合併結束.");
+ if (_mCase.Count == 0)
+ {
+ _inferFsc = _damageFsc;
+ _inferUfid = _damageUfid;
+ _pLog.Info("此案件為饋線上第一件案件");
+ _pLog.Info("追蹤合併結束.");
return;
}
// 判斷是否為同一變壓器,如果是就不必作追蹤
- try {
- for (int i = 0; i < m_Case.Count; i++) {
- if ( (Convert.ToInt32(((ArrayList) m_Case[i])[2].ToString()) == Damage_Fsc) &&
- (Convert.ToInt32(((ArrayList) m_Case[i])[3].ToString()) == Damage_Ufid))
+ try
+ {
+ for (int i = 0; i < _mCase.Count; i++)
+ {
+ if ((Convert.ToInt32(((ArrayList)_mCase[i])[2].ToString()) == _damageFsc) &&
+ (Convert.ToInt32(((ArrayList)_mCase[i])[3].ToString()) == _damageUfid))
{
- if (((ArrayList) m_Case[i])[6].ToString().StartsWith("A")) // 若母案件事故原因為A類才做合併
- {
- Parent_CaseID = Convert.ToInt32(((ArrayList) m_Case[i])[0].ToString());
- Infer_Fsc = Convert.ToInt32(((ArrayList) m_Case[i])[2].ToString());
- Infer_Ufid = Convert.ToInt32(((ArrayList) m_Case[i])[3].ToString());
- _PLog.Info("相同變壓器");
- _PLog.Info("與案件"+((ArrayList) m_Case[i])[7]+"合併,故障點Fsc: "+Infer_Fsc+" Ufid: "+Infer_Ufid);
+ if (((ArrayList)_mCase[i])[6].ToString().StartsWith("A")) // 若母案件事故原因為A類才做合併
+ {
+ _parentCaseId = Convert.ToInt32(((ArrayList)_mCase[i])[0].ToString());
+ _inferFsc = Convert.ToInt32(((ArrayList)_mCase[i])[2].ToString());
+ _inferUfid = Convert.ToInt32(((ArrayList)_mCase[i])[3].ToString());
+ _pLog.Info("相同變壓器");
+ _pLog.Info("與案件" + ((ArrayList)_mCase[i])[7] + "合併,故障點Fsc: " + _inferFsc + " Ufid: " + _inferUfid);
return;
}
}
}
- } catch (Exception ex) {
- _PLog.Error(ex.Message);
+ }
+ catch (Exception ex)
+ {
+ _pLog.Error(ex.Message);
throw ex;
}
- _PLog.Info("不同變壓器,開始追蹤(New Version)...");
+ _pLog.Info("不同變壓器,開始追蹤(New Version)...");
- this.TraceCase();
- _PLog.Warn("追蹤合併結束");
+ TraceCase();
+ _pLog.Warn("追蹤合併結束");
}
- private void TraceCase() {
- int m_Key;
+ private void TraceCase()
+ {
+ int mKey;
- try {
- this.m_TraceSubject = new CCS.EventAI.TraceSubject(_ConnectionTPC, _Transaction, _traceConnectionString, _PLog);
- _PLog.Info("TraceSubject Initial....");
+ try
+ {
+ _mTraceSubject = new TraceSubject(_connectionTpc, _transaction, _traceConnectionString, _pLog);
+ _pLog.Info("TraceSubject Startup....");
}
- catch (Exception ex) {
- _PLog.Error("TraceObject.dll無法初始化,請確認該元件是否存在或jre是否為 1.4 版,並確認是否註冊.");
- throw ex;
+ catch (Exception ex)
+ {
+ _pLog.Error("TraceObject.dll無法初始化,請確認該元件是否存在或jre是否為 1.4 版,並確認是否註冊.");
+ throw ex;
}
- try {
- this.m_TraceSubject.startTrace(Damage_Fsc, Damage_Ufid, true);
- New_Case = this.m_TraceSubject.getNewResult(); // 新案件所建出來的linkedlist(往上追到breaker)
- _PLog.Info("追蹤新案件完成");
+ try
+ {
+ _mTraceSubject.StartTrace(_damageFsc, _damageUfid, true);
+ _newCase = _mTraceSubject.GetNewResult(); // 新案件所建出來的linkedlist(往上追到breaker)
+ _pLog.Info("追蹤新案件完成");
- for (int i = 0; i < m_Case.Count; i++) {
- if (this.AlreadyFinishCase(Convert.ToInt32(((ArrayList) m_Case[i])[0].ToString()))) {
+ for (int i = 0; i < _mCase.Count; i++)
+ {
+ if (AlreadyFinishCase(Convert.ToInt32(((ArrayList)_mCase[i])[0].ToString())))
+ {
continue;
}
- ArrayList FacilitySet = this.RealDamageEquipment(Convert.ToInt32(((ArrayList)m_Case[i])[0].ToString())); // 切開的設備
+ ArrayList facilitySet = RealDamageEquipment(Convert.ToInt32(((ArrayList)_mCase[i])[0].ToString())); // 切開的設備
- if (FacilitySet.Count == 0) {
- this.m_TraceSubject.startTrace(Convert.ToInt32(((ArrayList)m_Case[i])[2].ToString()),
- Convert.ToInt32(((ArrayList)m_Case[i])[3].ToString()), false);
- Old_Case = this.m_TraceSubject.getOldResult(); // 母案件所建出來的TreeMap(往上追到breaker)
- _PLog.Info("追蹤母案件完成");
+ if (facilitySet.Count == 0)
+ {
+ _mTraceSubject.StartTrace(Convert.ToInt32(((ArrayList)_mCase[i])[2].ToString()),
+ Convert.ToInt32(((ArrayList)_mCase[i])[3].ToString()), false);
+ _oldCase = _mTraceSubject.GetOldResult(); // 母案件所建出來的TreeMap(往上追到breaker)
+ _pLog.Info("追蹤母案件完成");
- for (int j = 0; j < New_Case.Count; j++) {
- m_Key = ((Equipment) New_Case[j]).getUFID();
+ for (int j = 0; j < _newCase.Count; j++)
+ {
+ mKey = ((Equipment)_newCase[j]).Ufid;
- if (Old_Case.ContainsKey(m_Key))
+ if (_oldCase.ContainsKey(mKey))
{
- if (((ArrayList)m_Case[i])[6].ToString().StartsWith("A")) // 若母案件事故原因為A類才做合併
+ if (((ArrayList)_mCase[i])[6].ToString().StartsWith("A")) // 若母案件事故原因為A類才做合併
{
- this.Parent_CaseID = Convert.ToInt32(((ArrayList)m_Case[i])[0].ToString());
- Infer_Fsc = ((Equipment) New_Case[j]).getFSC();
- Infer_Ufid = ((Equipment) New_Case[j]).getUFID();
- this.m_Equip = (CCS.EventAI.Equipment) ((ArrayList) m_Case[i])[5];
- _PLog.Info("與案件"+((ArrayList) m_Case[i])[7]+"合併,故障點Fsc: "+Infer_Fsc+" Ufid: "+Infer_Ufid);
+ _parentCaseId = Convert.ToInt32(((ArrayList)_mCase[i])[0].ToString());
+ _inferFsc = ((Equipment)_newCase[j]).Fsc;
+ _inferUfid = ((Equipment)_newCase[j]).Ufid;
+ _mEquip = (Equipment)((ArrayList)_mCase[i])[5];
+ _pLog.Info("與案件" + ((ArrayList)_mCase[i])[7] + "合併,故障點Fsc: " + _inferFsc + " Ufid: " + _inferUfid);
return;
}
}
}
- } else {
- for (int k = 0; k < FacilitySet.Count; k++)
+ }
+ else
+ {
+ for (int k = 0; k < facilitySet.Count; k++)
{
- bool Merge = false; // 損壞設備是否在所切開的設備下游
- Equipment DamageEquipment = (Equipment) FacilitySet[k]; // 切開的設備
-
- for (int z = 0; z < New_Case.Count; z++)
+ bool merge = false; // 損壞設備是否在所切開的設備下游
+ Equipment damageEquipment = (Equipment)facilitySet[k]; // 切開的設備
+
+ for (int z = 0; z < _newCase.Count; z++)
{
- if ( (((Equipment) New_Case[z]).getFSC() == DamageEquipment.getFSC()) &&
- (((Equipment) New_Case[z]).getUFID() == DamageEquipment.getUFID()))
+ if ((((Equipment)_newCase[z]).Fsc== damageEquipment.Fsc) &&
+ (((Equipment)_newCase[z]).Ufid== damageEquipment.Ufid))
{
- Merge = true;
+ merge = true;
break;
}
}
// 當發現在所切開開關的下游,就將損壞設備指向切開的設備並return
- if (Merge)
+ if (merge)
{
- if (((ArrayList)m_Case[i])[6].ToString().StartsWith("A")) // 若母案件事故原因為A類才做合併
+ if (((ArrayList)_mCase[i])[6].ToString().StartsWith("A")) // 若母案件事故原因為A類才做合併
{
- this.Parent_CaseID = Convert.ToInt32(((ArrayList)m_Case[i])[0].ToString());
- Infer_Fsc = DamageEquipment.getFSC();
- Infer_Ufid = DamageEquipment.getUFID();
- this.m_Equip = (CCS.EventAI.Equipment) ((ArrayList) m_Case[i])[5];
- _PLog.Info("與案件"+((ArrayList) m_Case[i])[7]+"合併,故障點Fsc: "+Infer_Fsc+" Ufid: "+Infer_Ufid);
+ _parentCaseId = Convert.ToInt32(((ArrayList)_mCase[i])[0].ToString());
+ _inferFsc = damageEquipment.Fsc;
+ _inferUfid = damageEquipment.Ufid;
+ _mEquip = (Equipment)((ArrayList)_mCase[i])[5];
+ _pLog.Info("與案件" + ((ArrayList)_mCase[i])[7] + "合併,故障點Fsc: " + _inferFsc + " Ufid: " + _inferUfid);
return;
}
-
}
} // for loop(k)
} // else
} // for loop(i)
- } catch (Exception ex) {
- _PLog.Error(ex.Message);
- _PLog.Error("追蹤時發生錯誤.");
- throw ex;
+ }
+ catch (Exception ex)
+ {
+ _pLog.Error(ex.Message);
+ _pLog.Error("追蹤時發生錯誤.");
+ throw;
}
finally
{
- this.m_TraceSubject.discardEngine();
+ _mTraceSubject.DiscardEngine();
}
- Infer_Fsc = this.Damage_Fsc;
- Infer_Ufid = this.Damage_Ufid;
- this.m_TraceSubject.discardEngine();
- return;
+ _inferFsc = _damageFsc;
+ _inferUfid = _damageUfid;
+ _mTraceSubject.DiscardEngine();
}
- public Equipment getInferEquipment() {
- Equipment Equip = new Equipment(this.Infer_Fsc, this.Infer_Ufid);
- return Equip;
+ public Equipment GetInferEquipment()
+ {
+ Equipment equip = new Equipment(_inferFsc, _inferUfid);
+ return equip;
}
- public Equipment getOldrEquipment() {
- return m_Equip;
+ public Equipment GetOldrEquipment()
+ {
+ return _mEquip;
}
- public int getParentCaseID() {
- return Parent_CaseID;
+ public int GetParentCaseId()
+ {
+ return _parentCaseId;
}
- private bool AlreadyFinishCase(int CaseID) {
- String SqlStmt;
- bool Result = false;
+ private bool AlreadyFinishCase(int caseId)
+ {
+ bool result = false;
- SqlStmt = "SELECT TO_CHAR(CLOSETIME,'YYYY/MM/DD HH24:MI:SS') as CLOSETIME,COUNT(*) as COUNT FROM EOS.EVENTFACILITY " + "WHERE CASEID = "
- + CaseID + " GROUP BY CLOSETIME ORDER BY CLOSETIME DESC";
+ var sqlStmt = "SELECT TO_CHAR(CLOSETIME,'YYYY/MM/DD HH24:MI:SS') as CLOSETIME,COUNT(*) as COUNT FROM EOS.EVENTFACILITY " + "WHERE CASEID = "
+ + caseId + " GROUP BY CLOSETIME ORDER BY CLOSETIME DESC";
- OracleCommand Command = null;
+ OracleCommand command = null;
OracleDataReader reader = null;
try
{
- Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- reader = Command.ExecuteReader();
+ command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ reader = command.ExecuteReader();
if (reader.Read())
{
- if (Convert.ToString(reader["CLOSETIME"]).Equals("null") || Convert.ToString(reader["CLOSETIME"]).Length == 0 )
- Result = false; // 有切開開關未恢復(Case in Process)
+ if (Convert.ToString(reader["CLOSETIME"]).Equals("null") || Convert.ToString(reader["CLOSETIME"]).Length == 0)
+ result = false; // 有切開開關未恢復(Case in Process)
else
- Result = true; // 有切開關但全都恢復(Case Finish)
-
+ result = true; // 有切開關但全都恢復(Case Finish)
}
else
- Result = false; // 未切過開關
+ result = false; // 未切過開關
reader.Close();
}
catch (Exception e)
{
- _PLog.Error("Problems occur: " + e.Message);
+ _pLog.Error("Problems occur: " + e.Message);
Console.WriteLine(e.StackTrace);
}
finally
{
- if (Command != null)
- Command.Dispose();
+ command?.Dispose();
- if (reader != null)
- reader.Close();
+ reader?.Close();
}
- return Result;
+ return result;
}
- private System.Collections.ArrayList RealDamageEquipment(int CaseID) {
- System.Collections.ArrayList Result = new System.Collections.ArrayList();
- String SqlStmt;
+ private ArrayList RealDamageEquipment(int caseId)
+ {
+ ArrayList result = new ArrayList();
- SqlStmt = "SELECT FSC,UFID FROM EOS.EVENTFACILITY WHERE CASEID = " + CaseID + " AND CLOSETIME IS NULL";
+ var sqlStmt = "SELECT FSC,UFID FROM EOS.EVENTFACILITY WHERE CASEID = " + caseId + " AND CLOSETIME IS NULL";
- OracleCommand Command = null;
+ OracleCommand command = null;
OracleDataReader reader = null;
try
{
- Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- reader = Command.ExecuteReader();
+ command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ reader = command.ExecuteReader();
while (reader.Read())
{
- Equipment Tmp = new Equipment(Convert.ToInt32(reader["FSC"]), Convert.ToInt32(reader["UFID"]));
- Result.Add(Tmp);
+ Equipment tmp = new Equipment(Convert.ToInt32(reader["FSC"]), Convert.ToInt32(reader["UFID"]));
+ result.Add(tmp);
}
}
catch (Exception e)
{
- // CCS.LocalVariable.ErrorLog.setErrorLog("Error in JudgeCase(RealDamageEquipment) :" + e.getMessage());
- _PLog.Error("Problems occur: " + e.Message);
+ // CCS.GlobalVariable.ErrorLog.setErrorLog("Error in JudgeCase(RealDamageEquipment) :" + e.getMessage());
+ _pLog.Error("Problems occur: " + e.Message);
Console.WriteLine(e.StackTrace);
}
finally
- {
- if (reader != null )
- reader.Close();
+ {
+ reader?.Close();
- if (Command != null )
- Command.Dispose();
+ command?.Dispose();
}
- return Result;
+ return result;
}
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/EventAI/TraceSubject.cs b/CCSTrace/CCS/EventAI/TraceSubject.cs
index 29f3acd..1f621b3 100644
--- a/CCSTrace/CCS/EventAI/TraceSubject.cs
+++ b/CCSTrace/CCS/EventAI/TraceSubject.cs
@@ -1,99 +1,95 @@
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.Collections;
-using TRACEROBJECTLib;
using System.Data.OracleClient;
+using TRACEROBJECTLib;
namespace CCSTrace.CCS.EventAI
{
public class TraceSubject
{
- private String m_dbConnectionString;
- static bool IsNewCase;
- static ArrayList m_LinkList; // store the switch of the new case path
- static TraceEngine m_tEngine;
- static Hashtable m_TreeMap; // store the switch of the old case path
- static int s_Fsc;
- static int s_Ufid;
- private RecordLog _Plogger;
- private ArrayList m_Tmp = new ArrayList();
- private NetworkContext m_pContext;
+ private string _mDbConnectionString;
+ private static bool _isNewCase;
+ private static ArrayList _mLinkList; // store the switch of the new case path
+ private static TraceEngine _mTEngine;
+ private static Hashtable _mTreeMap; // store the switch of the old case path
+ private static int _sFsc;
+ private static int _sUfid;
+ private readonly RecordLog _plogger;
+ private readonly ArrayList _mTmp = new ArrayList();
+ private NetworkContext _mPContext;
- private OracleConnection _ConnectionTPC = null;
- private OracleTransaction _Transaction;
+ private readonly OracleConnection _connectionTpc;
+ private readonly OracleTransaction _transaction;
- public TraceSubject(OracleConnection _Conn, OracleTransaction _Trx, String traceConnectionString, RecordLog _Log)
+ public TraceSubject(OracleConnection conn, OracleTransaction trx, string traceConnectionString, RecordLog log)
{
- _ConnectionTPC = _Conn;
- _Transaction = _Trx;
- _Plogger = _Log;
- m_dbConnectionString = traceConnectionString;
-
- try
- {
- if (m_tEngine == null) {
- m_tEngine = new TraceEngine();
- }
- }
- catch (Exception ex) {
- _Plogger.Error(ex.Message);
- throw ex;
- }
- }
-
- public void discardEngine() {
- if (m_tEngine != null) {
- m_tEngine = null;
- }
- }
-
- public ArrayList getNewResult() {
- return m_LinkList;
- }
-
- public Hashtable getOldResult() {
- return m_TreeMap;
- }
-
- // for EOS(only get the reverse tree)
- public void startTrace(int Start_Fsc, int Start_Ufid, bool m_IsNew) {
- s_Fsc = Start_Fsc;
- s_Ufid = Start_Ufid;
- IsNewCase = m_IsNew;
- m_TreeMap = new Hashtable();
- m_LinkList = new ArrayList();
+ _connectionTpc = conn;
+ _transaction = trx;
+ _plogger = log;
+ _mDbConnectionString = traceConnectionString;
try
{
- this.setReverseTree(Trace(true));
+ if (_mTEngine == null)
+ {
+ _mTEngine = new TraceEngine();
+ }
}
- catch (Exception e) {
- _Plogger.Error(e.Message);
+ catch (Exception ex)
+ {
+ _plogger.Error(ex.Message);
+ throw ex;
+ }
+ }
+
+ public void DiscardEngine()
+ {
+ _mTEngine = null;
+ }
+
+ public ArrayList GetNewResult()
+ {
+ return _mLinkList;
+ }
+
+ public Hashtable GetOldResult()
+ {
+ return _mTreeMap;
+ }
+
+ // for EOS(only get the reverse tree)
+ public void StartTrace(int startFsc, int startUfid, bool mIsNew)
+ {
+ _sFsc = startFsc;
+ _sUfid = startUfid;
+ _isNewCase = mIsNew;
+ _mTreeMap = new Hashtable();
+ _mLinkList = new ArrayList();
+
+ try
+ {
+ SetReverseTree(Trace(true));
+ }
+ catch (Exception e)
+ {
+ _plogger.Error(e.Message);
Console.WriteLine(e.StackTrace);
throw e;
}
- }
+ }
- private bool getSwitchOn(int UFID) {
- String SqlStmt;
+ private bool GetSwitchOn(int ufid)
+ {
+ var sqlStmt = "SELECT M.OSTATUS as OSTATUS FROM (SELECT UFID,OSTATUS FROM BASEDB.CONNECTIVITY WHERE FSC = 114) M,"
+ + "BASEDB.SWITCH S WHERE M.UFID = S.UFID AND S.NSTATUS <> 0 AND M.UFID = " + ufid;
- SqlStmt = "SELECT M.OSTATUS as OSTATUS FROM (SELECT UFID,OSTATUS FROM BASEDB.CONNECTIVITY WHERE FSC = 114) M,"
- + "BASEDB.SWITCH S WHERE M.UFID = S.UFID AND S.NSTATUS <> 0 AND M.UFID = " + UFID;
-
- OracleCommand Command = null;
+ OracleCommand command = null;
OracleDataReader reader = null;
try
{
- Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- reader = Command.ExecuteReader();
+ command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ reader = command.ExecuteReader();
if (reader.Read())
{
@@ -104,32 +100,29 @@
}
catch (Exception e)
{
- _Plogger.Error(e.Message);
+ _plogger.Error(e.Message);
Console.WriteLine(e.StackTrace);
}
finally
{
- if (Command != null)
- Command.Dispose();
+ command?.Dispose();
- if (reader != null)
- reader.Close();
+ reader?.Close();
}
- return false;
- }
+ return false;
+ }
- private bool getJumperOn(int UFID) {
- String SqlStmt;
+ private bool GetJumperOn(int ufid)
+ {
+ var sqlStmt = "SELECT OSTATUS FROM BASEDB.CONNECTIVITY WHERE FSC = 109 AND UFID = " + ufid;
- SqlStmt = "SELECT OSTATUS FROM BASEDB.CONNECTIVITY WHERE FSC = 109 AND UFID = " + UFID;
-
- OracleCommand Command = null;
+ OracleCommand command = null;
OracleDataReader reader = null;
try
{
- Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- reader = Command.ExecuteReader();
+ command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ reader = command.ExecuteReader();
if (reader.Read())
{
@@ -140,13 +133,13 @@
}
catch (Exception e)
{
- _Plogger.Error(e.Message);
+ _plogger.Error(e.Message);
Console.WriteLine(e.StackTrace);
}
finally
{
- if (Command != null)
- Command.Dispose();
+ if (command != null)
+ command.Dispose();
if (reader != null)
reader.Close();
@@ -154,102 +147,108 @@
return false;
}
- private Hashtable TraceCounts = new Hashtable();
+ private readonly Hashtable _traceCounts = new Hashtable();
- private void setReverseTree(ResultTree tree) {
- int i = 0;
+ private void SetReverseTree(ResultTree tree)
+ {
+ int i = 0;
TreeIterator iti = null;
bool ostatus = true;
- if (tree != null) {
- i = 0;
- iti = tree.CreateTreeIterator();
- bool isNotEnd = true;
+ if (tree != null)
+ {
+ i = 0;
+ iti = tree.CreateTreeIterator();
+ bool isNotEnd = true;
- while (isNotEnd) {
-
- if (getTraceCount(iti.Value.ClassID, iti.Value.ObjectID) > 5)
+ while (isNotEnd)
+ {
+ if (GetTraceCount(iti.Value.ClassID, iti.Value.ObjectID) > 5)
throw new TraceLoopException("追蹤產生迴圈狀況。(Fsc,Ufid) = (" + iti.Value.ClassID + "," + iti.Value.ObjectID + ")");
else
AddTraceCount(iti.Value.ClassID, iti.Value.ObjectID);
while (iti.IsLeaf == 0)
{
- TRACEROBJECTLib.TreeNode node = iti.Value;
+ TreeNode node = iti.Value;
if ((node.ClassID == 114) || (node.ClassID == 108) || (node.ClassID == 109))
{
- Equipment Equip = new Equipment(node.ClassID, node.ObjectID);
+ Equipment equip = new Equipment(node.ClassID, node.ObjectID);
- if (IsNewCase)
- m_LinkList.Add(Equip);
- else {
- m_TreeMap.Add(node.ObjectID, Equip);
- m_Tmp.Add(Equip);
- }
- i++;
-
-/* if (getTraceCount(node.ClassID, node.ObjectID) > 2)
- throw new Exception("追蹤產生迴圈狀況。(Fsc,Ufid) = (" + node.ClassID + "," + node.ObjectID + ")");
+ if (_isNewCase)
+ _mLinkList.Add(equip);
else
- AddTraceCount(node.ClassID, node.ObjectID);
-*/ }
+ {
+ _mTreeMap.Add(node.ObjectID, equip);
+ _mTmp.Add(equip);
+ }
+ i++;
+
+ /* if (getTraceCount(node.ClassID, node.ObjectID) > 2)
+ throw new Exception("追蹤產生迴圈狀況。(Fsc,Ufid) = (" + node.ClassID + "," + node.ObjectID + ")");
+ else
+ AddTraceCount(node.ClassID, node.ObjectID);
+ */
+ }
Console.WriteLine(node.ClassID + "----->" + node.ObjectID);
- _Plogger.Info(node.ClassID + "----->" + node.ObjectID);
+ _plogger.Info(node.ClassID + "----->" + node.ObjectID);
- iti.MoveDescent((short) 0);
- }
+ iti.MoveDescent((short)0);
+ }
- // 當從breaker出來的導線不只一條時,breaker可能會不被add(因為breaker是leaf但其parent的DescentCount > 1,所以被忽略)
- /*
- * if ( ((com.origo.TraceModel.ITreeNode)iti.get_Value()).get_ClassID() == EOS.LocalVariable.Breaker ) {
+ // 當從breaker出來的導線不只一條時,breaker可能會不被add(因為breaker是leaf但其parent的DescentCount > 1,所以被忽略)
+ /*
+ * if ( ((com.origo.TraceModel.ITreeNode)iti.get_Value()).get_ClassID() == EOS.GlobalVariable.Breaker ) {
* com.origo.TraceModel.ITreeNode node = iti.get_Value(); Equipment Equip = new Equipment(node.get_ClassID(),node.get_ObjectID()); if (
* IsNewCase ) m_LinkList.add(i,Equip); else { m_TreeMap.put(new Integer(node.get_ObjectID()),Equip); m_Tmp.add(Equip); }
* System.out.println(node.get_ClassID() + "----->" + node.get_ObjectID()); System.out.println("Trace Finish...."); i++; break; }
*/
- if ((iti.Value).ClassID == CCS.LocalVariable.Breaker) {
- TRACEROBJECTLib.TreeNode node = iti.Value;
- Equipment Equip = new Equipment(node.ClassID, node.ObjectID);
+ if ((iti.Value).ClassID == GlobalVariable.Breaker)
+ {
+ TreeNode node = iti.Value;
+ Equipment equip = new Equipment(node.ClassID, node.ObjectID);
- if (IsNewCase)
- m_LinkList.Add(Equip);
- else
+ if (_isNewCase)
+ _mLinkList.Add(equip);
+ else
{
- m_TreeMap.Add(node.ObjectID, Equip);
- m_Tmp.Add(Equip);
- }
+ _mTreeMap.Add(node.ObjectID, equip);
+ _mTmp.Add(equip);
+ }
i++; //後面直接就FINISH,所以就不用判斷tracecount
- Console.WriteLine(node.ClassID + "----->" + node.ObjectID);
- _Plogger.Info(node.ClassID + "----->" + node.ObjectID);
- Console.WriteLine("Trace Finish....");
- _Plogger.Info("Trace Finish....");
- break;
- }
- // 當追蹤到被切開的開關且該上一層設備只有該開關一個child)
- else if (iti.Value.ClassID == CCS.LocalVariable.Switch || iti.Value.ClassID == CCS.LocalVariable.Jumper ) {
- TRACEROBJECTLib.TreeNode node = iti.Value;
- iti.MoveAscent();
+ Console.WriteLine(node.ClassID + "----->" + node.ObjectID);
+ _plogger.Info(node.ClassID + "----->" + node.ObjectID);
+ Console.WriteLine("Trace Finish....");
+ _plogger.Info("Trace Finish....");
+ break;
+ }
+ // 當追蹤到被切開的開關且該上一層設備只有該開關一個child)
+ else if (iti.Value.ClassID == GlobalVariable.Switch || iti.Value.ClassID == GlobalVariable.Jumper)
+ {
+ TreeNode node = iti.Value;
+ iti.MoveAscent();
- Equipment Equip = new Equipment(node.ClassID, node.ObjectID);
+ Equipment equip = new Equipment(node.ClassID, node.ObjectID);
- if (isEndEquip(Equip))
+ if (IsEndEquip(equip))
{
- if (IsNewCase)
- m_LinkList.Add(Equip);
+ if (_isNewCase)
+ _mLinkList.Add(equip);
else
{
- m_TreeMap.Add(node.ObjectID, Equip);
- m_Tmp.Add(Equip);
+ _mTreeMap.Add(node.ObjectID, equip);
+ _mTmp.Add(equip);
}
i++; //後面直接就FINISH,所以就不用判斷tracecount
Console.WriteLine(node.ClassID + "----->" + node.ObjectID);
- _Plogger.Info(node.ClassID + "----->" + node.ObjectID);
+ _plogger.Info(node.ClassID + "----->" + node.ObjectID);
Console.WriteLine("Trace Finish....");
- _Plogger.Info("Trace Finish....");
+ _plogger.Info("Trace Finish....");
break;
}
@@ -280,189 +279,210 @@
// _Plogger.Info("Trace Finish....");
// break;
//}
- }
+ }
else
- {
- TRACEROBJECTLib.TreeNode node = iti.Value;
+ {
+ TreeNode node = iti.Value;
iti.MoveAscent();
if (iti.DescentCount == 1)
- throw new Exception("追蹤到非開關類斷開之設備(Fsc = " + node.ClassID + ",Ufid = " + node.ObjectID);
+ throw new Exception("追蹤到非開關類斷開之設備(Fsc = " + node.ClassID + ",Ufid = " + node.ObjectID);
}
- for (int j = 1; j < iti.DescentCount; j++) {
- iti.MoveDescent((short) j);
+ for (int j = 1; j < iti.DescentCount; j++)
+ {
+ iti.MoveDescent((short)j);
- if (iti.IsLeaf == 1) {
- TRACEROBJECTLib.TreeNode node = iti.Value;
- Equipment Equip = new Equipment(node.ClassID, node.ObjectID);
+ if (iti.IsLeaf == 1)
+ {
+ TreeNode node = iti.Value;
+ Equipment equip = new Equipment(node.ClassID, node.ObjectID);
- switch (node.ClassID) {
- case 108:
- if (IsNewCase)
- m_LinkList.Add(Equip);
- else
- {
- m_TreeMap.Add(node.ObjectID, Equip);
- m_Tmp.Add(Equip);
- }
-
- Console.WriteLine(node.ClassID + "----->" + node.ObjectID);
- _Plogger.Info(node.ClassID + "----->" + node.ObjectID);
- i++;
-
-/* if (getTraceCount(node.ClassID, node.ObjectID) > 2)
- throw new Exception("追蹤產生迴圈狀況。(Fsc,Ufid) = (" + node.ClassID + "," + node.ObjectID + ")");
- else
- AddTraceCount(node.ClassID, node.ObjectID);
-*/
- break;
- case 109:
- case 114:
- switch (node.ClassID)
- {
- case 114:
- ostatus = getSwitchOn(node.ObjectID);
- break;
- case 109:
- ostatus = getJumperOn(node.ObjectID);
- break;
- }
-
- // Only for switch because the breaker only has one node to descent
- if (!ostatus) {
- if (IsNewCase)
- m_LinkList.Add(Equip);
- else {
- m_TreeMap.Add(node.ObjectID, Equip);
- m_Tmp.Add(Equip);
- }
-
- Console.WriteLine(node.ClassID + "----->" + node.ObjectID);
- _Plogger.Info(node.ClassID + "----->" + node.ObjectID);
- i++;
-
-/* if (getTraceCount(node.ClassID, node.ObjectID) > 2)
- throw new Exception("追蹤產生迴圈狀況。(Fsc,Ufid) = (" + node.ClassID + "," + node.ObjectID + ")");
+ switch (node.ClassID)
+ {
+ case 108:
+ if (_isNewCase)
+ _mLinkList.Add(equip);
else
- AddTraceCount(node.ClassID, node.ObjectID);
-*/
- }
- break;
- default:
- break;
- } // switch
+ {
+ _mTreeMap.Add(node.ObjectID, equip);
+ _mTmp.Add(equip);
+ }
- iti.MoveAscent();
- isNotEnd = false;
- } else {
- isNotEnd = true;
- break;
- }
- } // for
- } // while
- Console.WriteLine("Tree Node Count = " + i);
- _Plogger.Info("Tree Node Count = " + i);
- } else
- {
- Console.WriteLine("Tree is null");
- _Plogger.Info("Tree is null");
- throw new Exception("無法追蹤到任何設備,可能是該用戶所在變壓器設備連結性有問題。");
+ Console.WriteLine(node.ClassID + "----->" + node.ObjectID);
+ _plogger.Info(node.ClassID + "----->" + node.ObjectID);
+ i++;
+
+ /* if (getTraceCount(node.ClassID, node.ObjectID) > 2)
+ throw new Exception("追蹤產生迴圈狀況。(Fsc,Ufid) = (" + node.ClassID + "," + node.ObjectID + ")");
+ else
+ AddTraceCount(node.ClassID, node.ObjectID);
+ */
+ break;
+
+ case 109:
+ case 114:
+ switch (node.ClassID)
+ {
+ case 114:
+ ostatus = GetSwitchOn(node.ObjectID);
+ break;
+
+ case 109:
+ ostatus = GetJumperOn(node.ObjectID);
+ break;
+ }
+
+ // Only for switch because the breaker only has one node to descent
+ if (!ostatus)
+ {
+ if (_isNewCase)
+ _mLinkList.Add(equip);
+ else
+ {
+ _mTreeMap.Add(node.ObjectID, equip);
+ _mTmp.Add(equip);
+ }
+
+ Console.WriteLine(node.ClassID + "----->" + node.ObjectID);
+ _plogger.Info(node.ClassID + "----->" + node.ObjectID);
+ i++;
+
+ /* if (getTraceCount(node.ClassID, node.ObjectID) > 2)
+ throw new Exception("追蹤產生迴圈狀況。(Fsc,Ufid) = (" + node.ClassID + "," + node.ObjectID + ")");
+ else
+ AddTraceCount(node.ClassID, node.ObjectID);
+ */
+ }
+ break;
+
+ default:
+ break;
+ } // switch
+
+ iti.MoveAscent();
+ isNotEnd = false;
+ }
+ else
+ {
+ isNotEnd = true;
+ break;
+ }
+ } // for
+ } // while
+ Console.WriteLine("Tree Node Count = " + i);
+ _plogger.Info("Tree Node Count = " + i);
}
-
- }
-
- private ResultTree Trace(bool Reverse) {
- ResultTree tree = null;
-
- try {
- configTrace();
- _Plogger.Info("configTrace OK.");
- }
- catch (Exception e)
+ else
{
- _Plogger.Error(e.Message);
- Console.WriteLine(e.StackTrace);
- return tree;
- }
-
- try {
- tree = ModeTrace(Reverse);
- }
- catch (Exception e) {
- _Plogger.Error(e.Message);
- Console.WriteLine(e.StackTrace);
+ Console.WriteLine("Tree is null");
+ _plogger.Info("Tree is null");
+ throw new Exception("無法追蹤到任何設備,可能是該用戶所在變壓器設備連結性有問題。");
}
+ }
- return tree;
- }
-
- void configTrace() {
- if (m_dbConnectionString == null) {
- m_dbConnectionString = "basedb/basedb000@nntpc";
- }
- try {
- if (m_pContext == null) m_pContext = m_tEngine.teoCreateContext();
-
- if (m_pContext.IsConnected == 0) {
- m_pContext.Connect("", m_dbConnectionString);
- }
- }
- catch (Exception ex) {
- _Plogger.Error(ex.Message);
- }
- }
-
- private ResultTree ModeTrace(bool Reverse) {
- TravelContext tContext = new TravelContext();
- TravelStartCriterion sCriterion = new TravelStartCriterion();
- TravelTerminateCriterion eCriterion = new TravelTerminateCriterion();
-
- sCriterion.ClsID = (short) s_Fsc;
- sCriterion.ObjID = s_Ufid;
-
- if (Reverse) // 反向上追
- {
- sCriterion.StartMode = (TRAVELSTARTCRITERIONTYPE)(Convert.ToInt32(TRAVELSTARTCRITERIONTYPE.TRAVELBYNEGDIR) + Convert.ToInt32(TRAVELSTARTCRITERIONTYPE.TRAVELWITHFOLLOW));
-
- eCriterion.ClsID = (short)CCS.LocalVariable.Breaker;
- eCriterion.EndMode = TRAVELTERMCRITERIONTYPE.TRAVELTOTHISCLASS;
- } else // 順向追蹤
- {
- sCriterion.StartMode = TRAVELSTARTCRITERIONTYPE.TRAVELBYCURDIR;
-
- eCriterion.EndMode = TRAVELTERMCRITERIONTYPE.TRAVELTOTHISCLASS;
- }
-
- tContext.addCriterion(sCriterion);
- tContext.addCriterion(eCriterion);
-
- m_pContext.ResetContext();
-
- _Plogger.Info("Set ModeTrace OK.");
- ResultTreeBuilder trBuilder = m_pContext.CreateTreeBuilder();
- if (!trBuilder.constructResultTree(tContext, TRAVELTHREADMODE.CONMODE_SYNCHRONOUS)) { return null; }
- _Plogger.Info("ConstructResultTree OK.");
- ResultTree result = trBuilder.ResultTree;
-
- _Plogger.Info("getResultTree OK.");
- return result;
- }
-
- //判斷是否為最終設備(逆向追到已經無child的設備時,檢查該設備是否為最終設備(查驗該設備的同層設備,是否仍有可繼續逆向追蹤的設備,若無,則該設備為最終設備
- private bool isEndEquip(Equipment SelfEquip)
+ private ResultTree Trace(bool reverse)
{
- String SqlStmt;
- OracleCommand Command = null;
- OracleDataReader reader = null;
- long N_Value = 0;
-
- SqlStmt = "SELECT DIR,OSTATUS,N1,N2 FROM BASEDB.CONNECTIVITY WHERE FSC = " + SelfEquip.getFSC() + " AND UFID = " + SelfEquip.getUFID();
+ ResultTree tree = null;
try
{
- Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- reader = Command.ExecuteReader();
+ ConfigTrace();
+ _plogger.Info("configTrace OK.");
+ }
+ catch (Exception e)
+ {
+ _plogger.Error(e.Message);
+ Console.WriteLine(e.StackTrace);
+ return tree;
+ }
+
+ try
+ {
+ tree = ModeTrace(reverse);
+ }
+ catch (Exception e)
+ {
+ _plogger.Error(e.Message);
+ Console.WriteLine(e.StackTrace);
+ }
+
+ return tree;
+ }
+
+ private void ConfigTrace()
+ {
+ if (_mDbConnectionString == null)
+ {
+ _mDbConnectionString = "basedb/basedb000@nntpc";
+ }
+ try
+ {
+ if (_mPContext == null) _mPContext = _mTEngine.teoCreateContext();
+
+ if (_mPContext.IsConnected == 0)
+ {
+ _mPContext.Connect("", _mDbConnectionString);
+ }
+ }
+ catch (Exception ex)
+ {
+ _plogger.Error(ex.Message);
+ }
+ }
+
+ private ResultTree ModeTrace(bool reverse)
+ {
+ TravelContext tContext = new TravelContext();
+ TravelStartCriterion sCriterion = new TravelStartCriterion();
+ TravelTerminateCriterion eCriterion = new TravelTerminateCriterion();
+
+ sCriterion.ClsID = (short)_sFsc;
+ sCriterion.ObjID = _sUfid;
+
+ if (reverse) // 反向上追
+ {
+ sCriterion.StartMode = (TRAVELSTARTCRITERIONTYPE)(Convert.ToInt32(TRAVELSTARTCRITERIONTYPE.TRAVELBYNEGDIR) + Convert.ToInt32(TRAVELSTARTCRITERIONTYPE.TRAVELWITHFOLLOW));
+
+ eCriterion.ClsID = (short)GlobalVariable.Breaker;
+ eCriterion.EndMode = TRAVELTERMCRITERIONTYPE.TRAVELTOTHISCLASS;
+ }
+ else // 順向追蹤
+ {
+ sCriterion.StartMode = TRAVELSTARTCRITERIONTYPE.TRAVELBYCURDIR;
+
+ eCriterion.EndMode = TRAVELTERMCRITERIONTYPE.TRAVELTOTHISCLASS;
+ }
+
+ tContext.addCriterion(sCriterion);
+ tContext.addCriterion(eCriterion);
+
+ _mPContext.ResetContext();
+
+ _plogger.Info("Set ModeTrace OK.");
+ ResultTreeBuilder trBuilder = _mPContext.CreateTreeBuilder();
+ if (!trBuilder.constructResultTree(tContext, TRAVELTHREADMODE.CONMODE_SYNCHRONOUS)) { return null; }
+ _plogger.Info("ConstructResultTree OK.");
+ ResultTree result = trBuilder.ResultTree;
+
+ _plogger.Info("getResultTree OK.");
+ return result;
+ }
+
+ //判斷是否為最終設備(逆向追到已經無child的設備時,檢查該設備是否為最終設備(查驗該設備的同層設備,是否仍有可繼續逆向追蹤的設備,若無,則該設備為最終設備
+ private bool IsEndEquip(Equipment selfEquip)
+ {
+ string sqlStmt;
+ OracleCommand command = null;
+ OracleDataReader reader = null;
+ long nValue = 0;
+
+ sqlStmt = "SELECT DIR,OSTATUS,N1,N2 FROM BASEDB.CONNECTIVITY WHERE FSC = " + selfEquip.Fsc+ " AND UFID = " + selfEquip.Ufid;
+
+ try
+ {
+ command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ reader = command.ExecuteReader();
if (reader.Read())
{
@@ -471,33 +491,34 @@
else
{
if (Convert.ToInt32(reader["DIR"]) == 3) //順向無電 N1-->N2,所以逆向的上游N值抓N2
- N_Value = Convert.ToInt32(reader["N2"]);
+ nValue = Convert.ToInt32(reader["N2"]);
else
- N_Value = Convert.ToInt32(reader["N1"]);
+ nValue = Convert.ToInt32(reader["N1"]);
}
}
reader.Close();
- SqlStmt = "SELECT FSC,UFID,DIR,OSTATUS,N1,N2 FROM BASEDB.CONNECTIVITY WHERE N1 <> N2 AND ( N1 = " + N_Value + " OR N2 = " + N_Value + ")";
- Command.CommandText = SqlStmt;
+ sqlStmt = "SELECT FSC,UFID,DIR,OSTATUS,N1,N2 FROM BASEDB.CONNECTIVITY WHERE N1 <> N2 AND ( N1 = " + nValue + " OR N2 = " + nValue + ")";
+ command.CommandText = sqlStmt;
- reader = Command.ExecuteReader();
+ reader = command.ExecuteReader();
while (reader.Read())
{
- if (Convert.ToInt32(reader["FSC"]) == SelfEquip.getFSC() && Convert.ToInt32(reader["UFID"]) == SelfEquip.getUFID())
+ if (Convert.ToInt32(reader["FSC"]) == selfEquip.Fsc&& Convert.ToInt32(reader["UFID"]) == selfEquip.Ufid)
continue;
if (Convert.ToInt32(reader["OSTATUS"]) == 0) //切開的設備不可能為逆向的上游
continue;
- if (Convert.ToInt32(reader["N1"]) == N_Value)
+ if (Convert.ToInt32(reader["N1"]) == nValue)
{
switch (Convert.ToInt32(reader["DIR"]))
{
case 1:
case 3:
break;
+
case 2:
case 4:
return false; //如果逆向的上游連接點為N1,一定要N2-->N1才可能還有需要逆向追蹤設備
@@ -505,7 +526,7 @@
break; //未供電設備不可能是逆向上游
}
}
- else if (Convert.ToInt32(reader["N2"]) == N_Value)
+ else if (Convert.ToInt32(reader["N2"]) == nValue)
{
switch (Convert.ToInt32(reader["DIR"]))
{
@@ -515,6 +536,7 @@
case 2:
case 4:
break;
+
case 99:
return false; //未供電設備不可能是逆向上游
}
@@ -524,54 +546,49 @@
}
catch (Exception e)
{
- _Plogger.Error(e.Message);
+ _plogger.Error(e.Message);
Console.WriteLine(e.StackTrace);
return false;
}
finally
{
- if (Command != null)
- Command.Dispose();
+ if (command != null)
+ command.Dispose();
if (reader != null)
reader.Close();
}
-
return true;
}
- private int getTraceCount(int Fsc, int Ufid)
+ private int GetTraceCount(int fsc, int ufid)
{
- if (TraceCounts.ContainsKey(Fsc + "|" + Ufid))
- return Int32.Parse(TraceCounts[Fsc + "|" + Ufid].ToString());
+ if (_traceCounts.ContainsKey(fsc + "|" + ufid))
+ return int.Parse(_traceCounts[fsc + "|" + ufid].ToString());
else
return 0;
}
- private void AddTraceCount(int Fsc, int Ufid)
+ private void AddTraceCount(int fsc, int ufid)
{
- int Count = 1;
+ int count = 1;
- if (TraceCounts.ContainsKey(Fsc + "|" + Ufid))
+ if (_traceCounts.ContainsKey(fsc + "|" + ufid))
{
- Count = Int32.Parse(TraceCounts[Fsc + "|" + Ufid].ToString());
- Count++;
- TraceCounts.Remove(Fsc + "|" + Ufid);
+ count = int.Parse(_traceCounts[fsc + "|" + ufid].ToString());
+ count++;
+ _traceCounts.Remove(fsc + "|" + ufid);
}
- TraceCounts.Add(Fsc + "|" + Ufid, Count.ToString());
+ _traceCounts.Add(fsc + "|" + ufid, count.ToString());
}
-
}
public class TraceLoopException : Exception
{
- public String Message = "";
-
- public TraceLoopException(String _Message)
+ public TraceLoopException(string message) : base(message)
{
- Message = _Message;
}
}
-}
+}
\ No newline at end of file
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
diff --git a/CCSTrace/CCS/Function/InitialEventData.cs b/CCSTrace/CCS/Function/InitialEventData.cs
index ccd77e6..5d15df4 100644
--- a/CCSTrace/CCS/Function/InitialEventData.cs
+++ b/CCSTrace/CCS/Function/InitialEventData.cs
@@ -1,154 +1,153 @@
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.Runtime.CompilerServices;
using System.Data.OracleClient;
-
+using System.Runtime.CompilerServices;
+
namespace CCSTrace.CCS.Function
{
public class InitialEventData
{
- private String m_AcceptNum = "";
- private int m_CaseID = 0;
- private int m_Year = 0;
- private bool m_ChangeYear = false;
- private string m_NowYear = string.Empty;
- private String m_AcceptTime = "";
- private RecordLog _PLog;
- private OracleConnection _ConnectionTPC;
+ private string _mAcceptNum = "";
+ private int _mCaseId = 0;
+ private int _mYear = 0;
+ private bool _mChangeYear = false;
+ private string _mNowYear = string.Empty;
+ private readonly string _mAcceptTime = "";
+ private readonly RecordLog _pLog;
+ private readonly OracleConnection _connectionTpc;
//New CaseID and New AcceptNum must be seen by others,so it need not controled by transaction
[MethodImpl(MethodImplOptions.Synchronized)]
- public InitialEventData(OracleConnection _Conn, RecordLog _Log)
+ public InitialEventData(OracleConnection conn, RecordLog log)
{
- _ConnectionTPC = _Conn;
- _PLog = _Log;
+ _connectionTpc = conn;
+ _pLog = log;
- String SqlStmt = "SELECT ACCEPTNUM,CASEID,YEAR,TO_CHAR(SYSDATE,'YYYY/MM/DD') as ACCEPTTIME FROM EOS.EVENTNUM";
+ string sqlStmt = "SELECT ACCEPTNUM,CASEID,YEAR,TO_CHAR(SYSDATE,'YYYY/MM/DD') as ACCEPTTIME FROM EOS.EVENTNUM";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC);
- OracleDataReader reader = Command.ExecuteReader();
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc);
+ OracleDataReader reader = command.ExecuteReader();
try
{
if (reader.Read())
{
- m_AcceptNum = reader["ACCEPTNUM"].ToString();
- m_CaseID = Convert.ToInt32(reader["CASEID"].ToString());
- m_Year = Convert.ToInt32(reader["YEAR"].ToString());
- m_AcceptTime = reader["ACCEPTTIME"].ToString();
+ _mAcceptNum = reader["ACCEPTNUM"].ToString();
+ _mCaseId = Convert.ToInt32(reader["CASEID"].ToString());
+ _mYear = Convert.ToInt32(reader["YEAR"].ToString());
+ _mAcceptTime = reader["ACCEPTTIME"].ToString();
}
else
{
- _PLog.Error("起始號碼資料遺失!");
+ _pLog.Error("起始號碼資料遺失!");
return;
}
}
catch (Exception e)
{
- _PLog.Error("Problems occur when Initializing EventData: " + e.Message);
+ _pLog.Error("Problems occur when Initializing EventData: " + e.Message);
Console.WriteLine(e.StackTrace);
return;
}
finally
{
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
CheckAcceptNum();
- while (!UpdateDataBase(m_ChangeYear)) {
- this.RegetNumber();
+ while (!UpdateDataBase(_mChangeYear))
+ {
+ RegetNumber();
CheckAcceptNum();
}
}
- public int getNewCaseID() {
- return this.m_CaseID;
+ public int GetNewCaseId()
+ {
+ return _mCaseId;
}
- public String getNewAcceptNum() {
- return this.m_AcceptNum;
+ public string GetNewAcceptNum()
+ {
+ return _mAcceptNum;
}
- private bool UpdateDataBase(bool m_ChangeYear) {
- String SqlStmt;
- bool m_Result = false;
+ private bool UpdateDataBase(bool mChangeYear)
+ {
+ string sqlStmt;
+ bool mResult = false;
- if (m_ChangeYear)
- SqlStmt = "UPDATE EOS.EVENTNUM SET ACCEPTNUM = '" + (Convert.ToInt32(m_AcceptNum) + 1).ToString() + "',CASEID = "
- + (m_CaseID + 1) + ",YEAR = " + m_NowYear + " WHERE CASEID = " + this.m_CaseID;
+ if (mChangeYear)
+ sqlStmt = "UPDATE EOS.EVENTNUM SET ACCEPTNUM = '" + (Convert.ToInt32(_mAcceptNum) + 1).ToString() + "',CASEID = "
+ + (_mCaseId + 1) + ",YEAR = " + _mNowYear + " WHERE CASEID = " + _mCaseId;
else
- SqlStmt = "UPDATE EOS.EVENTNUM SET ACCEPTNUM = '" + (Convert.ToInt32(m_AcceptNum) + 1).ToString() + "',CASEID = "
- + (m_CaseID + 1) + " WHERE CASEID = " + this.m_CaseID + " AND ACCEPTNUM = '" + m_AcceptNum + "'";
+ sqlStmt = "UPDATE EOS.EVENTNUM SET ACCEPTNUM = '" + (Convert.ToInt32(_mAcceptNum) + 1).ToString() + "',CASEID = "
+ + (_mCaseId + 1) + " WHERE CASEID = " + _mCaseId + " AND ACCEPTNUM = '" + _mAcceptNum + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC);
-
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc);
+
try
{
- if (Command.ExecuteNonQuery() > 0)
- m_Result = true;
+ if (command.ExecuteNonQuery() > 0)
+ mResult = true;
}
catch (Exception e)
{
- _PLog.Error("Problems occur during EventNumCreating: " + e.Message);
+ _pLog.Error("Problems occur during EventNumCreating: " + e.Message);
Console.WriteLine(e.StackTrace);
throw e;
}
finally
- {
- Command.Dispose();
+ {
+ command.Dispose();
}
- return m_Result;
+ return mResult;
}
- private void CheckAcceptNum() {
- int NowYear = Convert.ToInt32(m_AcceptTime.Substring(0, 4)) - 1911;
- int NowMonth = Convert.ToInt32(m_AcceptTime.Substring(5, 2));
- String Tmp = this.m_AcceptNum;
+ private void CheckAcceptNum()
+ {
+ int nowYear = Convert.ToInt32(_mAcceptTime.Substring(0, 4)) - 1911;
+ int nowMonth = Convert.ToInt32(_mAcceptTime.Substring(5, 2));
+ string tmp = _mAcceptNum;
- if (Convert.ToInt32(Tmp.Substring(0, 3)) == NowYear)
+ if (Convert.ToInt32(tmp.Substring(0, 3)) == nowYear)
{
- if (Convert.ToInt32(Tmp.Substring(3, 2)) != NowMonth)
+ if (Convert.ToInt32(tmp.Substring(3, 2)) != nowMonth)
{
// 新月份
- if (NowMonth < 10)
- m_AcceptNum = NowYear.ToString() + "0" + NowMonth.ToString() + "0001";
+ if (nowMonth < 10)
+ _mAcceptNum = nowYear.ToString() + "0" + nowMonth.ToString() + "0001";
else
- m_AcceptNum = NowYear.ToString() + NowMonth.ToString() + "0001";
+ _mAcceptNum = nowYear.ToString() + nowMonth.ToString() + "0001";
}
- } else {
- m_AcceptNum = NowYear.ToString() + "010001"; // 新年度
- m_NowYear = NowYear.ToString();
- this.m_ChangeYear = true;
+ }
+ else
+ {
+ _mAcceptNum = nowYear.ToString() + "010001"; // 新年度
+ _mNowYear = nowYear.ToString();
+ _mChangeYear = true;
}
- if ( !m_ChangeYear)
- {
+ if (!_mChangeYear)
+ {
}
}
- private void RegetNumber()
+ private void RegetNumber()
{
- String SqlStmt = "SELECT ACCEPTNUM,CASEID,YEAR FROM EOS.EVENTNUM";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC);
- OracleDataReader reader = Command.ExecuteReader();
+ string sqlStmt = "SELECT ACCEPTNUM,CASEID,YEAR FROM EOS.EVENTNUM";
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc);
+ OracleDataReader reader = command.ExecuteReader();
try
{
if (reader.Read())
{
- m_AcceptNum = reader["ACCEPTNUM"].ToString();
- m_CaseID = Convert.ToInt32(reader["CASEID"].ToString());
- m_Year = Convert.ToInt32(reader["YEAR"].ToString());
+ _mAcceptNum = reader["ACCEPTNUM"].ToString();
+ _mCaseId = Convert.ToInt32(reader["CASEID"].ToString());
+ _mYear = Convert.ToInt32(reader["YEAR"].ToString());
}
}
catch (Exception e)
@@ -157,10 +156,10 @@
Console.WriteLine(e.StackTrace);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Function/Leach.cs b/CCSTrace/CCS/Function/Leach.cs
index 96f460f..e5aa02d 100644
--- a/CCSTrace/CCS/Function/Leach.cs
+++ b/CCSTrace/CCS/Function/Leach.cs
@@ -1,260 +1,258 @@
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.Function
{
public class Leach
{
- private CCS.Function.MergeCase MergeCase = new CCS.Function.MergeCase();
- private RecordLog _PLog;
- private OracleConnection _ConnectionTPC;
- private OracleTransaction _Transaction;
- private String _traceConnectionString = String.Empty;
+ private readonly MergeCase _mergeCase = new MergeCase();
+ private readonly RecordLog _pLog;
+ private readonly OracleConnection _connectionTpc;
+ private readonly OracleTransaction _transaction;
+ private readonly string _traceConnectionString;
- public Leach(OracleConnection _Conn, OracleTransaction _Trx, String _traceConnection, RecordLog _Log)
+ public Leach(OracleConnection conn, OracleTransaction trx, string traceConnection, RecordLog log)
{
- _ConnectionTPC = _Conn;
- _Transaction = _Trx;
- _traceConnectionString = _traceConnection;
- _PLog = _Log;
+ _connectionTpc = conn;
+ _transaction = trx;
+ _traceConnectionString = traceConnection;
+ _pLog = log;
}
- public int LeachCase(CCS.Object.EventRecord m_NewRec)
+ public int LeachCase(Object.EventRecord mNewRec)
{
-
- switch (SameCase(m_NewRec))
+ switch (SameCase(mNewRec))
{
- case CCS.LocalVariable.Success:
- return this.Judge(m_NewRec, false);
- case CCS.LocalVariable.CaseTypeChanged:
- return this.Judge(m_NewRec, true);
- case CCS.LocalVariable.SameCustomer:
- return CCS.LocalVariable.SameCustomer;
- case CCS.LocalVariable.Failure_By_DB:
- return CCS.LocalVariable.Failure_By_DB;
- case CCS.LocalVariable.CaseTransfer:
- return CCS.LocalVariable.CaseTransfer;
+ case GlobalVariable.Success:
+ return Judge(mNewRec, false);
+
+ case GlobalVariable.CaseTypeChanged:
+ return Judge(mNewRec, true);
+
+ case GlobalVariable.SameCustomer:
+ return GlobalVariable.SameCustomer;
+
+ case GlobalVariable.FailureByDb:
+ return GlobalVariable.FailureByDb;
+
+ case GlobalVariable.CaseTransfer:
+ return GlobalVariable.CaseTransfer;
+
default:
- return CCS.LocalVariable.Failure_By_DB;
+ return GlobalVariable.FailureByDb;
}
}
- public CCS.EventAI.Equipment getOldEquipment()
+ public EventAI.Equipment GetOldEquipment()
{
- return this.MergeCase.getOldEquipment();
+ return _mergeCase.GetOldEquipment();
}
- private int SameCase(CCS.Object.EventRecord m_NewRec)
+ private int SameCase(Object.EventRecord mNewRec)
{
- String SqlStmt = "SELECT R.ACCEPTNUM,R.CASEID as CASEID,R.IMPORTCASE as IMPORTCASE,E.CASETYPE as CASETYPE FROM EOS.EVENTRECORD R,"
+ string sqlStmt = "SELECT R.ACCEPTNUM,R.CASEID as CASEID,R.IMPORTCASE as IMPORTCASE,E.CASETYPE as CASETYPE FROM EOS.EVENTRECORD R,"
+ "EOS.EVENTS E WHERE ";
- int m_Result = -1;
- int ImportCase = -1;
- int TmpCaseID = 0;
- int CaseType = -1;
- _PLog.Info("利用電號或地址檢查是否有已成立之案件.");
+ int mResult = -1;
+ int importCase = -1;
+ int tmpCaseId = 0;
+ int caseType = -1;
+ _pLog.Info("利用電號或地址檢查是否有已成立之案件.");
// 檢查資料庫中此電號或地址是否已成立案件
-
- if (m_NewRec.getMeter().Trim().Length != 0)
+
+ if (mNewRec.Meter.Trim().Length != 0)
{
- SqlStmt = SqlStmt + "R.CUSTOMERMETER = '" + m_NewRec.getMeter() + "' AND E.CASEID = R.CASEID AND E.CASESTATUS <= "
- + CCS.LocalVariable.WaitForSponsor;
+ sqlStmt = sqlStmt + "R.CUSTOMERMETER = '" + mNewRec.Meter+ "' AND E.CASEID = R.CASEID AND E.CASESTATUS <= "
+ + CCSCaseState.WaitForSponsor;
}
- else if (m_NewRec.getAddr().Trim().Length != 0)
+ else if (mNewRec.Addr.Trim().Length != 0)
{
- SqlStmt = SqlStmt + "R.CUSTOMERADDR = '" + m_NewRec.getAddr() + "' AND E.CASEID = R.CASEID AND E.CASESTATUS <= "
- + CCS.LocalVariable.WaitForSponsor;
+ sqlStmt = sqlStmt + "R.CUSTOMERADDR = '" + mNewRec.Addr+ "' AND E.CASEID = R.CASEID AND E.CASESTATUS <= "
+ + CCSCaseState.WaitForSponsor;
}
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- OracleDataReader reader = Command.ExecuteReader();
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ OracleDataReader reader = command.ExecuteReader();
try
{
if (reader.Read())
{
- ImportCase = Convert.ToInt32(reader["IMPORTCASE"].ToString());
- TmpCaseID = Convert.ToInt32(reader["CASEID"].ToString());
- CaseType = Convert.ToInt32(reader["CASETYPE"].ToString());
- m_NewRec.setTmpCaseID(TmpCaseID);
- _PLog.Info("案件已成立:" + reader["ACCEPTNUM"].ToString() + " " + TmpCaseID + " " + CaseType);
+ importCase = Convert.ToInt32(reader["IMPORTCASE"].ToString());
+ tmpCaseId = Convert.ToInt32(reader["CASEID"].ToString());
+ caseType = Convert.ToInt32(reader["CASETYPE"].ToString());
+ mNewRec.TmpCaseId = tmpCaseId;
+ _pLog.Info("案件已成立:" + reader["ACCEPTNUM"].ToString() + " " + tmpCaseId + " " + caseType);
}
}
catch (Exception e)
{
- _PLog.Error(e.Message);
+ _pLog.Error(e.Message);
Console.WriteLine(e.StackTrace);
- return CCS.LocalVariable.Failure_By_DB;
+ return GlobalVariable.FailureByDb;
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
// 非同一用戶重複來電
- if (TmpCaseID == 0)
+ if (tmpCaseId == 0)
{
- return CCS.LocalVariable.Success;
+ return GlobalVariable.Success;
}
- switch (CaseType)
+ switch (caseType)
{
- case CCS.LocalVariable.OriginalCase:
- case CCS.LocalVariable.ParentCase:
- SqlStmt = "SELECT TO_CHAR(CLOSETIME,'YYYY/MM/DD HH24:MI:SS') as CLOSETIME,COUNT(*) as COUNT FROM EOS.EVENTFACILITY " + "WHERE CASEID = "
- + TmpCaseID + " GROUP BY CLOSETIME ORDER BY CLOSETIME DESC";
+ case GlobalVariable.OriginalCase:
+ case GlobalVariable.ParentCase:
+ sqlStmt = "SELECT TO_CHAR(CLOSETIME,'YYYY/MM/DD HH24:MI:SS') as CLOSETIME,COUNT(*) as COUNT FROM EOS.EVENTFACILITY " + "WHERE CASEID = "
+ + tmpCaseId + " GROUP BY CLOSETIME ORDER BY CLOSETIME DESC";
break;
- case CCS.LocalVariable.ChildCase:
- SqlStmt = "SELECT TO_CHAR(CLOSETIME,'YYYY/MM/DD HH24:MI:SS') as CLOSETIME,COUNT(*) as COUNT FROM EOS.EVENTFACILITY "
- + "WHERE CASEID = (SELECT PARENTID FROM EOS.MERGECASE WHERE CASEID = " + TmpCaseID + ") GROUP BY CLOSETIME "
+
+ case GlobalVariable.ChildCase:
+ sqlStmt = "SELECT TO_CHAR(CLOSETIME,'YYYY/MM/DD HH24:MI:SS') as CLOSETIME,COUNT(*) as COUNT FROM EOS.EVENTFACILITY "
+ + "WHERE CASEID = (SELECT PARENTID FROM EOS.MERGECASE WHERE CASEID = " + tmpCaseId + ") GROUP BY CLOSETIME "
+ "ORDER BY CLOSETIME DESC";
break;
+
default:
- _PLog.Error("無法辨別案件種類.");
- return CCS.LocalVariable.Failure_By_DB;
+ _pLog.Error("無法辨別案件種類.");
+ return GlobalVariable.FailureByDb;
}
- _PLog.Info("檢查該案件有無切開關紀錄.");
+ _pLog.Info("檢查該案件有無切開關紀錄.");
try
{
- Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- reader = Command.ExecuteReader();
+ command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ reader = command.ExecuteReader();
if (reader.Read())
{
// 有開關尚未恢復
if (reader["CLOSETIME"] == null)
{
- _PLog.Info("有切開關且尚未恢復.");
- if ((m_NewRec.getImportCase() == ImportCase) || (ImportCase == CCS.LocalVariable.isImportCase))
+ _pLog.Info("有切開關且尚未恢復.");
+ if ((mNewRec.ImportCase== importCase) || (importCase == GlobalVariable.IsImportCase))
{
- m_Result = this.AddCount(TmpCaseID);
+ mResult = AddCount(tmpCaseId);
}
else
{
- m_Result = CCS.LocalVariable.CaseTypeChanged;
+ mResult = GlobalVariable.CaseTypeChanged;
}
}
else
{
// 開關都已恢復(同用戶須重新受理)
- _PLog.Info("有切開關且已經恢復.");
- int CaseID;
+ _pLog.Info("有切開關且已經恢復.");
+ int caseId;
// 找出案件編號需以母案件編號或該案件編號去找casestatus
- if (TmpCaseID == 0)
+ if (tmpCaseId == 0)
{
- CaseID = m_NewRec.getCaseID();
+ caseId = mNewRec.CaseId;
}
else
{
- CaseID = TmpCaseID;
+ caseId = tmpCaseId;
}
// 判斷該案件或母案件是否移轉作後續處理
- if (this.getCastStatus(CaseID) == CCS.LocalVariable.EventTrasnfer)
+ if (GetCastStatus(caseId) == (int) CCSCaseState.EventTrasnfer)
{
- return CCS.LocalVariable.CaseTransfer;
+ return GlobalVariable.CaseTransfer;
}
else
{
- m_Result = CCS.LocalVariable.Success;
+ mResult = GlobalVariable.Success;
}
}
}
else
{
// 未切過開關
- _PLog.Info("無切開關紀錄.");
- if ((m_NewRec.getImportCase() == ImportCase) || (ImportCase == CCS.LocalVariable.isImportCase))
+ _pLog.Info("無切開關紀錄.");
+ if ((mNewRec.ImportCase== importCase) || (importCase == GlobalVariable.IsImportCase))
{
- m_Result = this.AddCount(TmpCaseID);
+ mResult = AddCount(tmpCaseId);
}
else
{
- int CaseID;
+ int caseId;
// 找出案件編號需以母案件編號或該案件編號去找casestatus
- if (TmpCaseID == 0)
+ if (tmpCaseId == 0)
{
- CaseID = m_NewRec.getCaseID();
+ caseId = mNewRec.CaseId;
}
else
{
- CaseID = TmpCaseID;
+ caseId = tmpCaseId;
// 判斷該案件或母案件是否移轉作後續處理
}
- if (this.getCastStatus(CaseID) == CCS.LocalVariable.EventTrasnfer)
+ if (GetCastStatus(caseId) == (int) CCSCaseState.EventTrasnfer)
{
- return CCS.LocalVariable.CaseTransfer;
+ return GlobalVariable.CaseTransfer;
}
else
{
- m_Result = CCS.LocalVariable.CaseTypeChanged;
+ mResult = GlobalVariable.CaseTypeChanged;
}
}
}
}
catch (Exception e)
{
- _PLog.Error(e.Message);
+ _pLog.Error(e.Message);
Console.WriteLine(e.StackTrace);
- return CCS.LocalVariable.Failure_By_DB;
+ return GlobalVariable.FailureByDb;
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
- return m_Result;
+ return mResult;
}
- private int AddCount(int m_CaseID)
+ private int AddCount(int mCaseId)
{
- String sqlStmt = "UPDATE EOS.EVENTS SET COUNT = COUNT + 1 WHERE CASEID = " + m_CaseID;
- OracleCommand Command = new OracleCommand(sqlStmt, _ConnectionTPC, _Transaction);
+ string sqlStmt = "UPDATE EOS.EVENTS SET COUNT = COUNT + 1 WHERE CASEID = " + mCaseId;
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
try
{
- if (Command.ExecuteNonQuery() > 0)
- return CCS.LocalVariable.SameCustomer;
+ if (command.ExecuteNonQuery() > 0)
+ return GlobalVariable.SameCustomer;
else
- return CCS.LocalVariable.Failure_By_DB;
+ return GlobalVariable.FailureByDb;
}
catch (Exception)
{
- return CCS.LocalVariable.Failure_By_DB;
+ return GlobalVariable.FailureByDb;
}
finally
- {
- Command.Dispose();
+ {
+ command.Dispose();
}
}
- private int getCastStatus(int CaseID)
+ private int GetCastStatus(int caseId)
{
- String SqlStmt;
- int Status = 0;
+ string sqlStmt;
+ int status = 0;
- SqlStmt = "SELECT CASESTATUS FROM CCS.EVENTQUERY WHERE CCSID IN (SELECT CCSID FROM CCS.NUM_CONTRAST " + "WHERE CASEID = " + CaseID + ")";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
+ sqlStmt = "SELECT CASESTATUS FROM CCS.EVENTQUERY WHERE CCSID IN (SELECT CCSID FROM CCS.NUM_CONTRAST " + "WHERE CASEID = " + caseId + ")";
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
OracleDataReader reader = null;
-
try
{
- reader = Command.ExecuteReader();
+ reader = command.ExecuteReader();
if (reader.Read())
- Status = Convert.ToInt32(reader["CASESTATUS"].ToString());
+ status = Convert.ToInt32(reader["CASESTATUS"].ToString());
}
catch (Exception e)
{
@@ -262,289 +260,286 @@
Console.WriteLine(e.StackTrace);
}
finally
- {
- if ( reader != null )
+ {
+ if (reader != null)
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
- return Status;
+ return status;
}
- private int Judge(CCS.Object.EventRecord m_NewRec, bool ChangeCaseType)
+ private int Judge(Object.EventRecord mNewRec, bool changeCaseType)
{
- int m_Result = CCS.LocalVariable.Failure_By_DB;
+ int mResult = GlobalVariable.FailureByDb;
- if ((m_NewRec.getMeter().Trim().Length == 0))
+ if ((mNewRec.Meter.Trim().Length == 0))
{
- return CCS.LocalVariable.NoMeter;
+ return GlobalVariable.NoMeter;
}
/* 已知損壞設備(ONLY FOR 饋線全停才知道損壞設備的FSC) */
try
{
- if (m_NewRec.getFsc() != 0)
+ if (mNewRec.Fsc!= 0)
{
- m_NewRec.getLocateEquipment().setFSC(CCS.LocalVariable.Breaker);
- m_NewRec.getLocateEquipment().setUFID(m_NewRec.getUfid());
- _PLog.Info("饋線全停:" + m_NewRec.getFsc() + ", " + m_NewRec.getUfid());
- MergeCase.Merge(m_NewRec, _ConnectionTPC, _Transaction, _traceConnectionString, _PLog);
- return CCS.LocalVariable.Success;
+ mNewRec.LocateEquipment.SetFsc(GlobalVariable.Breaker);
+ mNewRec.LocateEquipment.SetUfid(mNewRec.Ufid);
+ _pLog.Info("饋線全停:" + mNewRec.Fsc+ ", " + mNewRec.Ufid);
+ _mergeCase.Merge(mNewRec, _connectionTpc, _transaction, _traceConnectionString, _pLog);
+ return GlobalVariable.Success;
}
}
- catch (CCS.EventAI.TraceLoopException)
+ catch (EventAI.TraceLoopException)
{
- return CCS.LocalVariable.Trace_Counts_3;
+ return GlobalVariable.TraceCounts3;
}
catch (TraceException)
{
- return CCS.LocalVariable.Trace_Failure;
+ return GlobalVariable.TraceFailure;
}
catch (Exception ex)
{
- _PLog.Error(ex.Message);
- return CCS.LocalVariable.Failure_By_DB;
+ _pLog.Error(ex.Message);
+ return GlobalVariable.FailureByDb;
}
try
{
- _PLog.Info("定位損壞設備!");
- int result = getEquipment(m_NewRec);
- _PLog.Info("FSC:" + m_NewRec.getFsc() + ", Ufid:" + m_NewRec.getUfid() + ", Tpclid:" + m_NewRec.getTpclid() + ", FeederID:" + m_NewRec.getFdrID());
+ _pLog.Info("定位損壞設備!");
+ int result = GetEquipment(mNewRec);
+ _pLog.Info("FSC:" + mNewRec.Fsc+ ", Ufid:" + mNewRec.Ufid+ ", Tpclid:" + mNewRec.Tpclid+ ", FeederID:" + mNewRec.FdrId);
switch (result)
{ // get fsc,ufid,fdrid of sxfmr by meter
- case CCS.LocalVariable.Success:
- if (m_NewRec.getFdrID() == 0)
+ case GlobalVariable.Success:
+ if (mNewRec.FdrId== 0)
{
- m_Result = CCS.LocalVariable.NoSupplyElc;
+ mResult = GlobalVariable.NoSupplyElc;
}
else
{
// 需在未併案前作土木設備設定
- this.getLocateEquipment(m_NewRec);
+ GetLocateEquipment(mNewRec);
- if (m_NewRec.getBrief().Length !=0 && m_NewRec.getBrief().Substring(0,1).Equals("A"))
+ if (mNewRec.Brief.Length != 0 && mNewRec.Brief.Substring(0, 1).Equals("A"))
{ // A類事故原因,做追蹤合併
- _PLog.Info("<A類案件>");
- MergeCase.Merge(m_NewRec, _ConnectionTPC, _Transaction, _traceConnectionString, _PLog);
+ _pLog.Info("<A類案件>");
+ _mergeCase.Merge(mNewRec, _connectionTpc, _transaction, _traceConnectionString, _pLog);
}
else
{
- _PLog.Info("<非A類案件>");
+ _pLog.Info("<非A類案件>");
}
- if (ChangeCaseType)
+ if (changeCaseType)
{
- m_Result = CCS.LocalVariable.CaseTypeChanged;
+ mResult = GlobalVariable.CaseTypeChanged;
}
else
{
- m_Result = CCS.LocalVariable.Success;
+ mResult = GlobalVariable.Success;
}
}
break;
- case CCS.LocalVariable.No_Sxfmr:
- m_Result = CCS.LocalVariable.No_Sxfmr;
+
+ case GlobalVariable.NoSxfmr:
+ mResult = GlobalVariable.NoSxfmr;
break;
- case CCS.LocalVariable.Failure_By_DB:
- m_Result = CCS.LocalVariable.Failure_By_DB;
+
+ case GlobalVariable.FailureByDb:
+ mResult = GlobalVariable.FailureByDb;
break;
}
}
- catch (CCS.EventAI.TraceLoopException)
+ catch (EventAI.TraceLoopException)
{
- return CCS.LocalVariable.Trace_Counts_3;
+ return GlobalVariable.TraceCounts3;
}
catch (TraceException)
{
- m_Result = CCS.LocalVariable.Trace_Failure;
+ mResult = GlobalVariable.TraceFailure;
}
catch (Exception ex1)
{
- _PLog.Error(ex1.Message);
- m_Result = CCS.LocalVariable.Failure_By_DB;
+ _pLog.Error(ex1.Message);
+ mResult = GlobalVariable.FailureByDb;
}
- return m_Result;
+ return mResult;
}
- private int getEquipment(CCS.Object.EventRecord m_NewRec)
+ private int GetEquipment(Object.EventRecord mNewRec)
{
- String Temp;
- String m_OwnerTpclid;
- String m_Group;
- String SqlStmt = "select tran_cord from basedb.meter where metr_numb = '" + m_NewRec.getMeter() + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC,_Transaction);
- OracleDataReader reader = Command.ExecuteReader();
+ string temp;
+ string mOwnerTpclid;
+ string mGroup;
+ string sqlStmt = "select tran_cord from basedb.meter where metr_numb = '" + mNewRec.Meter+ "'";
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ OracleDataReader reader = command.ExecuteReader();
try
{
if (reader.Read())
{
- Temp = reader["tran_cord"].ToString().Trim();
- if ((Temp.Length == 9) || (Temp.Length == 11)) /* 架空變壓器 */
+ temp = reader["tran_cord"].ToString().Trim();
+ if ((temp.Length == 9) || (temp.Length == 11)) /* 架空變壓器 */
{
- m_OwnerTpclid = Temp;
+ mOwnerTpclid = temp;
reader.Close();
- Command.Dispose();
- m_NewRec.setTpclid(m_OwnerTpclid);
- return getSxfmr(m_OwnerTpclid, null, m_NewRec); /* Find the Sxfmr */
+ command.Dispose();
+ mNewRec.Tpclid = mOwnerTpclid;
+ return GetSxfmr(mOwnerTpclid, null, mNewRec); /* Find the Sxfmr */
}
else
{
- m_OwnerTpclid = Temp.Substring(0, 11).Trim(); /* 地下變壓器 */
- m_Group = Temp.Substring(14);
+ mOwnerTpclid = temp.Substring(0, 11).Trim(); /* 地下變壓器 */
+ mGroup = temp.Substring(14);
reader.Close();
- Command.Dispose();
- m_NewRec.setTpclid(m_OwnerTpclid + " " + m_Group);
- return getSxfmr(m_OwnerTpclid, m_Group, m_NewRec);
+ command.Dispose();
+ mNewRec.Tpclid = mOwnerTpclid + " " + mGroup;
+ return GetSxfmr(mOwnerTpclid, mGroup, mNewRec);
/* Find the Sxfmr */
}
}
else
{
- return CCS.LocalVariable.No_Sxfmr;
+ return GlobalVariable.NoSxfmr;
}
}
catch (Exception e)
{
- _PLog.Error(e.Message);
+ _pLog.Error(e.Message);
Console.WriteLine(e.StackTrace);
- return CCS.LocalVariable.Failure_By_DB;
+ return GlobalVariable.FailureByDb;
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- private int getSxfmr(String m_Tpclid, String m_Group, CCS.Object.EventRecord m_NewRec)
+ private int GetSxfmr(string mTpclid, string mGroup, Object.EventRecord mNewRec)
{
- String SqlStmt;
- int m_Status = CCS.LocalVariable.Failure_By_DB;
+ string sqlStmt;
+ int mStatus = GlobalVariable.FailureByDb;
- if (m_Group == null)
+ if (mGroup == null)
{
- SqlStmt = "SELECT UFID,FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = " + CCS.LocalVariable.Sxfmr + " AND UFID IN "
- + "(SELECT UFID FROM BASEDB.SXFMR WHERE OWNERTPCLID = '" + m_Tpclid + "')";
+ sqlStmt = "SELECT UFID,FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = " + GlobalVariable.Sxfmr + " AND UFID IN "
+ + "(SELECT UFID FROM BASEDB.SXFMR WHERE OWNERTPCLID = '" + mTpclid + "')";
}
else
{
- SqlStmt = "SELECT UFID,FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = " + CCS.LocalVariable.Sxfmr + " AND UFID IN "
- + "(SELECT UFID FROM BASEDB.SXFMR WHERE OWNERTPCLID = '" + m_Tpclid + "' AND GROUP1 = '" + m_Group + "')";
-
+ sqlStmt = "SELECT UFID,FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = " + GlobalVariable.Sxfmr + " AND UFID IN "
+ + "(SELECT UFID FROM BASEDB.SXFMR WHERE OWNERTPCLID = '" + mTpclid + "' AND GROUP1 = '" + mGroup + "')";
}
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- OracleDataReader reader = Command.ExecuteReader();
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ OracleDataReader reader = command.ExecuteReader();
try
{
if (reader.Read())
{
- m_NewRec.setFsc(CCS.LocalVariable.Sxfmr);
- m_NewRec.setUfid(Convert.ToInt32(reader["ufid"].ToString()));
- m_NewRec.setFdrID(Convert.ToInt32(reader["fdr1"].ToString()));
- m_Status = CCS.LocalVariable.Success;
+ mNewRec.Fsc = GlobalVariable.Sxfmr;
+ mNewRec.Ufid = Convert.ToInt32(reader["ufid"].ToString());
+ mNewRec.FdrId = Convert.ToInt32(reader["fdr1"].ToString());
+ mStatus = GlobalVariable.Success;
}
else
- m_Status = getHicustomer(m_Tpclid, m_Group, m_NewRec);
+ mStatus = GetHicustomer(mTpclid, mGroup, mNewRec);
}
catch (Exception ex)
{
- _PLog.Error(ex.Message);
+ _pLog.Error(ex.Message);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
- return m_Status;
+ return mStatus;
}
-
- private int getHicustomer(String m_Tpclid, String m_Group, CCS.Object.EventRecord m_NewRec)
+ private int GetHicustomer(string mTpclid, string mGroup, Object.EventRecord mNewRec)
{
- String SqlStmt;
+ string sqlStmt;
- if (m_Group == null)
+ if (mGroup == null)
{
- SqlStmt = "SELECT UFID,FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = " + CCS.LocalVariable.Hicustomer + " AND UFID IN "
- + "(SELECT UFID FROM BASEDB.HICUSTOMER WHERE OWNERTPCLID = '" + m_Tpclid + "')";
+ sqlStmt = "SELECT UFID,FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = " + GlobalVariable.Hicustomer + " AND UFID IN "
+ + "(SELECT UFID FROM BASEDB.HICUSTOMER WHERE OWNERTPCLID = '" + mTpclid + "')";
}
else
{
- SqlStmt = "SELECT UFID,FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = " + CCS.LocalVariable.Hicustomer + " AND UFID IN "
- + "(SELECT UFID FROM BASEDB.HICUSTOMER WHERE OWNERTPCLID = '" + m_Tpclid + "' AND GROUP1 = '" + m_Group + "')";
-
+ sqlStmt = "SELECT UFID,FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = " + GlobalVariable.Hicustomer + " AND UFID IN "
+ + "(SELECT UFID FROM BASEDB.HICUSTOMER WHERE OWNERTPCLID = '" + mTpclid + "' AND GROUP1 = '" + mGroup + "')";
}
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- OracleDataReader reader = Command.ExecuteReader();
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ OracleDataReader reader = command.ExecuteReader();
try
{
if (reader.Read())
{
- m_NewRec.setFsc(CCS.LocalVariable.Hicustomer);
- m_NewRec.setUfid(Convert.ToInt32(reader["ufid"].ToString()));
- m_NewRec.setFdrID(Convert.ToInt32(reader["fdr1"].ToString()));
- return CCS.LocalVariable.Success;
+ mNewRec.Fsc = GlobalVariable.Hicustomer;
+ mNewRec.Ufid = Convert.ToInt32(reader["ufid"].ToString());
+ mNewRec.FdrId = Convert.ToInt32(reader["fdr1"].ToString());
+ return GlobalVariable.Success;
}
else
- return CCS.LocalVariable.No_Sxfmr;
+ return GlobalVariable.NoSxfmr;
}
catch (Exception ex)
{
- _PLog.Error(ex.Message);
- return CCS.LocalVariable.Failure_By_DB;
+ _pLog.Error(ex.Message);
+ return GlobalVariable.FailureByDb;
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- private void getLocateEquipment(CCS.Object.EventRecord m_NewRec)
+ private void GetLocateEquipment(Object.EventRecord mNewRec)
{
- String SqlStmt;
-
- SqlStmt = "SELECT OWNERFSC as FSC,OWNERUFID as UFID,OWNERTPCLID as TPCLID FROM ";
- switch (m_NewRec.getFsc())
+ var sqlStmt = "SELECT OWNERFSC as FSC,OWNERUFID as UFID,OWNERTPCLID as TPCLID FROM ";
+ switch (mNewRec.Fsc)
{
- case CCS.LocalVariable.Sxfmr:
- SqlStmt = SqlStmt + "BASEDB.SXFMR WHERE UFID = " + m_NewRec.getUfid();
+ case GlobalVariable.Sxfmr:
+ sqlStmt = sqlStmt + "BASEDB.SXFMR WHERE UFID = " + mNewRec.Ufid;
break;
- case CCS.LocalVariable.Hicustomer:
- SqlStmt = SqlStmt + "BASEDB.HICUSTOMER WHERE UFID = " + m_NewRec.getUfid();
+
+ case GlobalVariable.Hicustomer:
+ sqlStmt = sqlStmt + "BASEDB.HICUSTOMER WHERE UFID = " + mNewRec.Ufid;
break;
}
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- OracleDataReader reader = Command.ExecuteReader();
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ OracleDataReader reader = command.ExecuteReader();
try
{
if (reader.Read())
{
- m_NewRec.getLocateEquipment().setFSC(Convert.ToInt32(reader["FSC"].ToString()));
- m_NewRec.getLocateEquipment().setUFID(Convert.ToInt32(reader["UFID"].ToString()));
- m_NewRec.getLocateEquipment().setTPCLID(reader["TPCLID"].ToString());
+ mNewRec.LocateEquipment.SetFsc(Convert.ToInt32(reader["FSC"].ToString()));
+ mNewRec.LocateEquipment.SetUfid(Convert.ToInt32(reader["UFID"].ToString()));
+ mNewRec.LocateEquipment.SetTpclid(reader["TPCLID"].ToString());
}
}
catch (Exception e)
{
- _PLog.Error(e.Message);
+ _pLog.Error(e.Message);
Console.WriteLine(e.StackTrace);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
}
-
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Function/MailService.cs b/CCSTrace/CCS/Function/MailService.cs
index a08eb3a..4b78991 100644
--- a/CCSTrace/CCS/Function/MailService.cs
+++ b/CCSTrace/CCS/Function/MailService.cs
@@ -1,50 +1,53 @@
using System;
using System.Data.OracleClient;
+using System.Net;
using System.Net.Mail;
namespace CCSTrace.CCS.Function
{
public class MailService
{
- private SmtpClient smtpClient = null;
- private string SMTP_IP;
- private int SMTP_Port;
- private string EMailAddr;
- private string EMailPass;
- private string ToEMail;
+ private SmtpClient _smtpClient;
+ private string _smtpIp;
+ private int _smtpPort;
+ private string _eMailAddr;
+ private string _eMailPass;
+ private string _toEMail;
- public MailService(OracleConnection _Conn)
+ public MailService(OracleConnection conn)
{
- InitialSmtpClient(_Conn);
+ InitialSmtpClient(conn);
}
- public void InitialSmtpClient(OracleConnection _Conn)
+ public void InitialSmtpClient(OracleConnection conn)
{
- getMailSetting(_Conn);
- smtpClient = new SmtpClient(SMTP_IP, SMTP_Port);
- smtpClient.Credentials = new System.Net.NetworkCredential(EMailAddr, EMailPass);
- smtpClient.EnableSsl = false;
+ GetMailSetting(conn);
+ _smtpClient = new SmtpClient(_smtpIp, _smtpPort)
+ {
+ Credentials = new NetworkCredential(_eMailAddr, _eMailPass),
+ EnableSsl = false
+ };
}
- public bool SendMail(String CCSID)
+ public bool SendMail(string ccsid)
{
- Attachment objAttFle = new Attachment(CCS.LocalVariable.CCS_ListPath + CCSID + ".txt");
+ Attachment objAttFle = new Attachment(GlobalVariable.CcsListPath + ccsid + ".txt");
MailMessage objMail = new MailMessage();
try
{
- objMail.From = new MailAddress(EMailAddr);
- objMail.To.Add(ToEMail);
+ objMail.From = new MailAddress(_eMailAddr);
+ objMail.To.Add(_toEMail);
objMail.BodyEncoding = System.Text.Encoding.UTF8;
objMail.Subject = "CCS事故案件追蹤失敗";
- //objMail.Body = "測試收件者";
+ //objMail.Body = "測試收件者";
objMail.IsBodyHtml = true;
- if ( objAttFle != null )
+ if (objAttFle != null)
objMail.Attachments.Add(objAttFle);
- smtpClient.Send(objMail);
+ _smtpClient.Send(objMail);
return true;
}
catch
@@ -53,24 +56,22 @@
}
}
- private void getMailSetting(OracleConnection _Conn)
+ private void GetMailSetting(OracleConnection conn)
{
- String SqlStmt;
+ var sqlStmt = "SELECT MAIL_ACCOUNT,MAIL_PASSWORD,MAIL_HOST,MAIL_PORT,WOS_MAIL FROM USRADMIN.SYS_MAIL";
- SqlStmt = "SELECT MAIL_ACCOUNT,MAIL_PASSWORD,MAIL_HOST,MAIL_PORT,WOS_MAIL FROM USRADMIN.SYS_MAIL";
+ OracleCommand command = new OracleCommand(sqlStmt, conn);
+ OracleDataReader reader = command.ExecuteReader();
- OracleCommand Command = new OracleCommand(SqlStmt, _Conn);
- OracleDataReader reader = Command.ExecuteReader();
-
try
{
if (reader.Read())
{
- SMTP_IP = reader["MAIL_HOST"].ToString();
- SMTP_Port = Convert.ToInt32(reader["MAIL_PORT"].ToString());
- EMailAddr = reader["MAIL_ACCOUNT"].ToString();
- EMailPass = reader["MAIL_PASSWORD"].ToString();
- ToEMail = reader["CCS_MAIL"].ToString();
+ _smtpIp = reader["MAIL_HOST"].ToString();
+ _smtpPort = Convert.ToInt32(reader["MAIL_PORT"].ToString());
+ _eMailAddr = reader["MAIL_ACCOUNT"].ToString();
+ _eMailPass = reader["MAIL_PASSWORD"].ToString();
+ _toEMail = reader["CCS_MAIL"].ToString();
}
}
catch (Exception e)
@@ -81,10 +82,8 @@
finally
{
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
-
}
-
}
}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Function/MergeCase.cs b/CCSTrace/CCS/Function/MergeCase.cs
index 89d4f03..353cb7e 100644
--- a/CCSTrace/CCS/Function/MergeCase.cs
+++ b/CCSTrace/CCS/Function/MergeCase.cs
@@ -1,58 +1,53 @@
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.Object;
namespace CCSTrace.CCS.Function
{
public class MergeCase
{
- private CCS.Object.EventRecord l_Eventrecord;
- private CCS.EventAI.JudgeCase m_JudgeCase;
+ private EventRecord _lEventrecord;
+ private EventAI.JudgeCase _mJudgeCase;
- public MergeCase()
+ public MergeCase()
{
}
- public void Merge(CCS.Object.EventRecord m_Eventrecord, OracleConnection _Conn, OracleTransaction _Trx, String _traceConnection, RecordLog _Log)
+ public void Merge(EventRecord mEventrecord, OracleConnection conn, OracleTransaction trx, string traceConnection, RecordLog log)
{
try
{
- m_JudgeCase = new CCS.EventAI.JudgeCase(m_Eventrecord.getFdrID(), m_Eventrecord.getFsc(), m_Eventrecord.getUfid(),
- m_Eventrecord.getCaseID(), m_Eventrecord.getAcceptDate(), _Conn, _Trx, _traceConnection, _Log);
- l_Eventrecord = m_Eventrecord;
- m_JudgeCase.AIBegin();
- l_Eventrecord.setParentID(m_JudgeCase.getParentCaseID());
- l_Eventrecord.setFsc(m_JudgeCase.getInferEquipment().getFSC());
- l_Eventrecord.setUfid(m_JudgeCase.getInferEquipment().getUFID());
+ _mJudgeCase = new EventAI.JudgeCase(mEventrecord.FdrId, mEventrecord.Fsc, mEventrecord.Ufid,
+ mEventrecord.CaseId, mEventrecord.AcceptDate, conn, trx, traceConnection, log);
+ _lEventrecord = mEventrecord;
+ _mJudgeCase.AiBegin();
+ _lEventrecord.ParentId = _mJudgeCase.GetParentCaseId();
+ _lEventrecord.Fsc = _mJudgeCase.GetInferEquipment().Fsc;
+ _lEventrecord.Ufid = _mJudgeCase.GetInferEquipment().Ufid;
}
- catch (CCS.EventAI.TraceLoopException tle) {
- _Log.Error(tle.Message);
+ catch (EventAI.TraceLoopException tle)
+ {
+ log.Error(tle.Message);
throw tle;
}
- catch (Exception e) {
- _Log.Error(e.Message);
+ catch (Exception e)
+ {
+ log.Error(e.Message);
throw e;
}
-
}
- public CCS.EventAI.Equipment getOldEquipment() {
- return m_JudgeCase.getOldrEquipment();
+ public EventAI.Equipment GetOldEquipment()
+ {
+ return _mJudgeCase.GetOldrEquipment();
}
}
- class TraceException : Exception
+ internal class TraceException : Exception
{
- public TraceException()
- {
- }
+ public TraceException()
+ {
+ }
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/LocalVariable.cs b/CCSTrace/CCS/LocalVariable.cs
deleted file mode 100644
index cdd354e..0000000
--- a/CCSTrace/CCS/LocalVariable.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-
-namespace CCSTrace.CCS
-{
- public class LocalVariable
- {
- public static int EventInitial = 1000;// Create new event
- public static int EventProcess = 1001;// Trace and process event in CCS WebService
- public const int WaitForDespatch = 1002; // create DesRec
- public static int EventDespatched = 1003;
- public const int WaitForSponsor = 1005; // create SponRec
- public static int WaitForRepair = 1006; // create RepairRec
- public static int EventFinsh = 1007; // with no RepairRecord
- public static int EventComplete = 1008; // with RepairRecord
- public static int EventOver = 1009; // with RepairRecord but not upload
-
- public static int EventReturn = 2001; // Return the EventRecord
- public static int AlarmFailure = 2002; // EventRecord AlarmFailure
- public static int EventTrasnfer = 2003; // EventRecord Transfer to Process
-
- public static int Dept = 31; /* 受理部門 */
-
- public static int CCSEventBrief = 11; /* 事故原因(FOR CCS) */
- public static int CCSDept = 12; /* 部門(FOR CCS) */
-
- // 是否颱風案件
- public static int isDisaster = 1;
- public static int NotDisaster = 0;
-
- /* Event Type */
- public static int NotImportCase = 0;
- public static int isImportCase = 1;
-
- /* Level Type */
- public static int No_Level = 0;
- public static int A_Level = 1;
- public static int B_Level = 2;
- public static int C_Level = 3;
-
- /* Recall Type */
- public static int NotReCall = 0;
- public static int isReCall = 1;
-
- /* Trace_Finish */
- public static int Trace_Still = 0;
- public static int Trace_Finish = 1;
-
- /* CaseType */
- public const int OriginalCase = 0;
- public const int ParentCase = 1;
- public const int ChildCase = 2;
-
- /* Equipment */
- public const int Breaker = 108;
- public const int Jumper = 109;
- public const int Switch = 114;
- public const int Sxfmr = 115;
- public const int Hicustomer = 107;
-
- /* Tracer Return Status */
- public const int Trace_Failure = 0;
- public const int Success = 1;
- public const int Failure_By_DB = 2;
- public const int No_Sxfmr = 3;
- public const int CaseTypeChanged = 4;
- public const int CaseTransfer = 5;
- public const int FDRLocked = 6;
- public const int Trace_Counts_3 = 7;
-
- /* Error Message */
- public const int SameCustomer = 5001; /* 重複來電 */
- public const int NoMeter = 5002; /* 找不到電號 */
- public const int Debt = 5003; /* 欠費停電 */
- public const int NoSupplyElc = 5004; /* 未供電線段 */
-
- /* Alerm */
- public static int AlermPort = 3000;
-
- //private static string m_OracleThinConn = "jdbc:oracle:thin:";
- //private static string m_OracleThinUser = "";
- //private static string m_OracleThinPass = "";
- //private static string m_strThinConnRegPath = "SOFTWARE\\Origo\\OMS\\Login";
- //private static string m_strThinConnRegName = "thin";
- //private static string m_strThinConnRegUser = "DBUser";
- //private static string m_strThinConnRegPassWord = "DBPassWord";
-
- public static string CCS_ListPath = "c:\\OMS\\BIN\\CCS\\";
-
- public static bool ShowError = false;
-
- // Date Converter
- //public static CCS.Function.TransferDate Convert = new CCS.Function.TransferDate();
-
- }
-}
diff --git a/CCSTrace/CCS/Object/Addr_Contrast.cs b/CCSTrace/CCS/Object/Addr_Contrast.cs
index 42980af..e011861 100644
--- a/CCSTrace/CCS/Object/Addr_Contrast.cs
+++ b/CCSTrace/CCS/Object/Addr_Contrast.cs
@@ -1,108 +1,98 @@
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.Collections;
using System.Data.OracleClient;
namespace CCSTrace.CCS.Object
{
- public class Addr_Contrast
+ public class AddrContrast
{
- public static Hashtable m_TotalData = null;
- public static String DefaultDept = "市區巡修課";
- private OracleConnection _ConnectionTPC;
- private RecordLog _PLog;
+ public static Hashtable MTotalData = null;
+ public static string DefaultDept = "市區巡修課";
+ private OracleConnection _connectionTpc;
+ private RecordLog _pLog;
- public Addr_Contrast(OracleConnection _Conn, OracleTransaction _Trx, RecordLog _Log)
+ public AddrContrast(OracleConnection conn, OracleTransaction trx, RecordLog log)
{
- _ConnectionTPC = _Conn;
- _PLog = _Log;
+ _connectionTpc = conn;
+ _pLog = log;
- String SqlStmt;
- String City;
- ArrayList m_Data = new ArrayList();
- String Tmp = "";
+ string sqlStmt;
+ string city;
+ ArrayList mData = new ArrayList();
+ string tmp = "";
- if (m_TotalData != null)
+ if (MTotalData != null)
return;
- m_TotalData = new Hashtable();
- SqlStmt = "SELECT DEPTID,CITY,TOWN,ROAD FROM CCS.ADDR_CONTRAST ORDER BY CITY,TOWN,ROAD";
+ MTotalData = new Hashtable();
+ sqlStmt = "SELECT DEPTID,CITY,TOWN,ROAD FROM CCS.ADDR_CONTRAST ORDER BY CITY,TOWN,ROAD";
- OracleCommand Command = null;
+ OracleCommand command = null;
OracleDataReader reader = null;
try
{
- Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Trx);
- reader = Command.ExecuteReader();
+ command = new OracleCommand(sqlStmt, _connectionTpc, trx);
+ reader = command.ExecuteReader();
while (reader.Read())
{
- ArrayList m_Record = new ArrayList();
- City = reader["CITY"].ToString();
- m_Record.Add(City);
- m_Record.Add(reader["TOWN"].ToString());
- m_Record.Add(reader["ROAD"].ToString());
- m_Record.Add(Convert.ToInt32(reader["DEPTID"].ToString()));
+ ArrayList mRecord = new ArrayList();
+ city = reader["CITY"].ToString();
+ mRecord.Add(city);
+ mRecord.Add(reader["TOWN"].ToString());
+ mRecord.Add(reader["ROAD"].ToString());
+ mRecord.Add(Convert.ToInt32(reader["DEPTID"].ToString()));
- if (Tmp.Equals(City))
- m_Data.Add(m_Record);
+ if (tmp.Equals(city))
+ mData.Add(mRecord);
else
{
- m_TotalData.Add(Tmp, m_Data);
- Tmp = City;
- m_Data = new ArrayList();
- m_Data.Add(m_Record);
+ MTotalData.Add(tmp, mData);
+ tmp = city;
+ mData = new ArrayList();
+ mData.Add(mRecord);
}
}
- m_TotalData.Add(Tmp, m_Data);
+ MTotalData.Add(tmp, mData);
}
catch (Exception e)
{
Console.WriteLine(e.StackTrace);
- m_TotalData = null;
+ MTotalData = null;
}
finally
{
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
-
}
- public int findDeptID(String City, String Region, String Road)
+ public int FindDeptId(string city, string region, string road)
{
- int Dept = 0;
- ArrayList m_Data = (ArrayList)m_TotalData[City];
+ int dept = 0;
+ ArrayList mData = (ArrayList)MTotalData[city];
try
{
- for (int i = 0; i < m_Data.Count; i++)
+ for (int i = 0; i < mData.Count; i++)
{
- ArrayList Tmp = (ArrayList)m_Data[i];
- String m_Region = Tmp[1].ToString().Trim();
- String m_Road = Tmp[2].ToString().Trim();
- int DeptID = Convert.ToInt32(Tmp[3].ToString());
+ ArrayList tmp = (ArrayList)mData[i];
+ string mRegion = tmp[1].ToString().Trim();
+ string mRoad = tmp[2].ToString().Trim();
+ int deptId = Convert.ToInt32(tmp[3].ToString());
- if ((Region.Trim().Equals(m_Region)) && (Road.Trim().Equals(m_Road)))
- return DeptID;
+ if ((region.Trim().Equals(mRegion)) && (road.Trim().Equals(mRoad)))
+ return deptId;
}
}
catch (Exception)
{
- _PLog.Warn("無法取得所屬巡修部門代號,預設案件所屬巡修部門為市區巡修課!");
+ _pLog.Warn("無法取得所屬巡修部門代號,預設案件所屬巡修部門為市區巡修課!");
}
// 當找不到部門別時,Default 設定為市巡
- Dept = CCS.CCSMain.EOSCodelist.getKeyID(CCS.LocalVariable.Dept, DefaultDept);
- return Dept;
+ dept = GlobalVariable.EosCodelist.GetKeyId(GlobalVariable.Dept, DefaultDept);
+ return dept;
}
-
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Object/AlarmData.cs b/CCSTrace/CCS/Object/AlarmData.cs
index 4b83425..24baee3 100644
--- a/CCSTrace/CCS/Object/AlarmData.cs
+++ b/CCSTrace/CCS/Object/AlarmData.cs
@@ -1,217 +1,212 @@
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.Collections;
using System.Data.OracleClient;
using System.Net;
using System.Net.Sockets;
-using System.IO;
namespace CCSTrace.CCS.Object
{
public class AlarmData
{
- private Hashtable m_TotalData = new Hashtable();
- private RecordLog _PLog;
- private OracleConnection _ConnectionTPC;
- private OracleTransaction _Transaction;
+ private Hashtable _mTotalData = new Hashtable();
+ private RecordLog _pLog;
+ private OracleConnection _connectionTpc;
+ private OracleTransaction _transaction;
- public AlarmData(OracleConnection _Conn,OracleTransaction _Trx, RecordLog _Log)
+ public AlarmData(OracleConnection conn, OracleTransaction trx, RecordLog log)
{
- _ConnectionTPC = _Conn;
- _Transaction = _Trx;
- _PLog = _Log;
+ _connectionTpc = conn;
+ _transaction = trx;
+ _pLog = log;
- String SqlStmt;
+ string sqlStmt;
- SqlStmt = "SELECT DEPTID,IP1,IP2,IP_PATROL FROM CCS.ALARM_IP";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
- OracleDataReader reader = Command.ExecuteReader();
+ sqlStmt = "SELECT DEPTID,IP1,IP2,IP_PATROL FROM CCS.ALARM_IP";
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+ OracleDataReader reader = command.ExecuteReader();
try
{
while (reader.Read())
{
- ArrayList Tmp = new ArrayList();
- Tmp.Add(Convert.ToInt32(reader["DEPTID"].ToString()));
- Tmp.Add(reader["IP1"].ToString());
- Tmp.Add(reader["IP2"].ToString());
- Tmp.Add(reader["IP_Patrol"].ToString());
+ ArrayList tmp = new ArrayList();
+ tmp.Add(Convert.ToInt32(reader["DEPTID"].ToString()));
+ tmp.Add(reader["IP1"].ToString());
+ tmp.Add(reader["IP2"].ToString());
+ tmp.Add(reader["IP_Patrol"].ToString());
- m_TotalData.Add(Convert.ToInt32(reader["DeptID"].ToString()), Tmp);
+ _mTotalData.Add(Convert.ToInt32(reader["DeptID"].ToString()), tmp);
}
}
catch (Exception e)
{
- _PLog.Error("Problems occur when fetch alarm data: (" + e.Message + ")");
+ _pLog.Error("Problems occur when fetch alarm data: (" + e.Message + ")");
Console.WriteLine(e.StackTrace);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- private int getSSCCode(int m_SCCode, int m_Week) {
- int ssccode = m_SCCode;
+ private int GetSscCode(int mScCode, int mWeek)
+ {
+ int ssccode = mScCode;
-/* DateTime stime = DateTime.Now;
+ /* DateTime stime = DateTime.Now;
- DateTime endtime = DateTime.Now;
+ DateTime endtime = DateTime.Now;
- String SqlStmt = "select g.ssc_code as SSCCODE,t.begintime as BEGINTIME,t.endtime as ENDTIME,t.week as WEEK from ccs.scgroup g,ccs.scgrouptime t where g.groupid=t.groupid and g.sc_code="
- + m_SCCode + " and t.week=" + m_Week;
-
- try {
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC);
- OracleDataReader reader = Command.ExecuteReader();
-
- while (reader.Read())
- {
- stime.set(Calendar.DAY_OF_WEEK, Rs.getInt("WEEK"));
- endtime.set(Calendar.DAY_OF_WEEK, Rs.getInt("WEEK"));
- stime.set(Calendar.HOUR_OF_DAY, Rs.getInt("BEGINTIME"));
- endtime.set(Calendar.HOUR_OF_DAY, Rs.getInt("ENDTIME"));
+ String SqlStmt = "select g.ssc_code as SSCCODE,t.begintime as BEGINTIME,t.endtime as ENDTIME,t.week as WEEK from ccs.scgroup g,ccs.scgrouptime t where g.groupid=t.groupid and g.sc_code="
+ + m_SCCode + " and t.week=" + m_Week;
- if (stime.after(endtime))
- endtime.roll(Calendar.DAY_OF_WEEK, 1);
-
- if (stime.before(nowtime) && (endtime.after(nowtime)))
- ssccode = Rs.getInt("SSCCODE");
-
- }
- reader.Close();
- Command.Dispose();
- } catch (Exception ex) {
- _PLog.warn("無法取得SSCCode,以該案件所屬SCCode代替: (" + ex.Message + ")");
- }*/
+ try {
+ OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC);
+ OracleDataReader reader = Command.ExecuteReader();
+
+ while (reader.Read())
+ {
+ stime.set(Calendar.DAY_OF_WEEK, Rs.getInt("WEEK"));
+ endtime.set(Calendar.DAY_OF_WEEK, Rs.getInt("WEEK"));
+ stime.set(Calendar.HOUR_OF_DAY, Rs.getInt("BEGINTIME"));
+ endtime.set(Calendar.HOUR_OF_DAY, Rs.getInt("ENDTIME"));
+
+ if (stime.after(endtime))
+ endtime.roll(Calendar.DAY_OF_WEEK, 1);
+
+ if (stime.before(nowtime) && (endtime.after(nowtime)))
+ ssccode = Rs.getInt("SSCCODE");
+ }
+ reader.Close();
+ Command.Dispose();
+ } catch (Exception ex) {
+ _PLog.warn("無法取得SSCCode,以該案件所屬SCCode代替: (" + ex.Message + ")");
+ }*/
return ssccode;
}
- private ArrayList getIPAddress(int DeptCode) {
- return (ArrayList) m_TotalData[Convert.ToInt32(DeptCode)];
+ private ArrayList GetIpAddress(int deptCode)
+ {
+ return (ArrayList)_mTotalData[Convert.ToInt32(deptCode)];
}
- public bool alarm(String AcceptNum, int Dept)
+ public bool Alarm(string acceptNum, int dept)
{
-
- _PLog.Info("開始Alarm...");
- System.Net.Sockets.Socket m_Client;
- ArrayList IPAddressSet = this.getIPAddress(this.getSSCCode(Dept, Convert.ToInt32(DateTime.Now.DayOfWeek)));
- String IP1;
- String IP2;
- String IP_Patrol;
+ _pLog.Info("開始Alarm...");
+ Socket mClient;
+ ArrayList ipAddressSet = GetIpAddress(GetSscCode(dept, Convert.ToInt32(DateTime.Now.DayOfWeek)));
+ string ip1;
+ string ip2;
+ string ipPatrol;
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
- if (IPAddressSet != null)
+ if (ipAddressSet != null)
{
- _PLog.Info("已取得該部門所需通知的IP Address.");
- IP1 = IPAddressSet[1].ToString();
- IP2 = IPAddressSet[2].ToString();
- IP_Patrol = IPAddressSet[3].ToString();
- } else {
- _PLog.Warn("無法取得該部門所需通知的IP Address!");
+ _pLog.Info("已取得該部門所需通知的IP Address.");
+ ip1 = ipAddressSet[1].ToString();
+ ip2 = ipAddressSet[2].ToString();
+ ipPatrol = ipAddressSet[3].ToString();
+ }
+ else
+ {
+ _pLog.Warn("無法取得該部門所需通知的IP Address!");
return false;
}
-
- try {
- IPAddress serverIp = IPAddress.Parse(IP1);
- int serverPort = Convert.ToInt32(CCS.LocalVariable.AlermPort);
- IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
-
- m_Client = new System.Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
- m_Client.Connect(iep);
-
- byte[] byteMessage = encoding.GetBytes(AcceptNum);
-
- m_Client.Send(byteMessage);
- m_Client.Shutdown(SocketShutdown.Both);
- m_Client.Close();
- this.recordAlarmIP(AcceptNum, IP1);
- _PLog.Info("已成功通知" + IP1 + " !");
- return true;
-
- } catch (Exception e) {
- _PLog.Warn("無法通知" + IP1 + ": " + e.Message);
- }
-
- try {
- IPAddress serverIp = IPAddress.Parse(IP2);
- int serverPort = Convert.ToInt32(CCS.LocalVariable.AlermPort);
- IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
-
- m_Client = new System.Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
- m_Client.Connect(iep);
-
- byte[] byteMessage = encoding.GetBytes(AcceptNum);
-
- m_Client.Send(byteMessage);
- m_Client.Shutdown(SocketShutdown.Both);
- m_Client.Close();
- this.recordAlarmIP(AcceptNum, IP2);
- _PLog.Info("已成功通知" + IP2 + " !");
- return true;
- }
- catch (Exception e)
- {
- _PLog.Warn("無法通知" + IP2 + ": " + e.Message);
- }
-
- try {
- IPAddress serverIp = IPAddress.Parse(IP_Patrol);
- int serverPort = Convert.ToInt32(CCS.LocalVariable.AlermPort);
- IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
-
- m_Client = new System.Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
- m_Client.Connect(iep);
-
- byte[] byteMessage = encoding.GetBytes(AcceptNum);
-
- m_Client.Send(byteMessage);
- m_Client.Shutdown(SocketShutdown.Both);
- m_Client.Close();
- this.recordAlarmIP(AcceptNum, IP_Patrol);
- _PLog.Info("已成功通知" + IP_Patrol + " !");
- return true;
- }
- catch (Exception e)
- {
- _PLog.Warn("無法通知" + IP_Patrol + ": " + e.Message);
- _PLog.Warn("三個IP均無法通知到!");
- return false;
- }
- }
-
- private void recordAlarmIP(String AccNum, String IP) {
- String SqlStmt = "insert into eos.case_dispatch (acceptnum,alarmip) values('" + AccNum + "','" + IP + "')";
-
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
try
{
+ IPAddress serverIp = IPAddress.Parse(ip1);
+ int serverPort = Convert.ToInt32(GlobalVariable.AlermPort);
+ IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
- if (Command.ExecuteNonQuery() <= 0)
- _PLog.Warn("無法紀錄Alarm IP!");
+ mClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+ mClient.Connect(iep);
+
+ byte[] byteMessage = encoding.GetBytes(acceptNum);
+
+ mClient.Send(byteMessage);
+ mClient.Shutdown(SocketShutdown.Both);
+ mClient.Close();
+ RecordAlarmIp(acceptNum, ip1);
+ _pLog.Info("已成功通知" + ip1 + " !");
+ return true;
}
catch (Exception e)
{
- _PLog.Error("recordAlarmIP Error." + e.Message);
+ _pLog.Warn("無法通知" + ip1 + ": " + e.Message);
+ }
+
+ try
+ {
+ IPAddress serverIp = IPAddress.Parse(ip2);
+ int serverPort = Convert.ToInt32(GlobalVariable.AlermPort);
+ IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
+
+ mClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+ mClient.Connect(iep);
+
+ byte[] byteMessage = encoding.GetBytes(acceptNum);
+
+ mClient.Send(byteMessage);
+ mClient.Shutdown(SocketShutdown.Both);
+ mClient.Close();
+ RecordAlarmIp(acceptNum, ip2);
+ _pLog.Info("已成功通知" + ip2 + " !");
+ return true;
+ }
+ catch (Exception e)
+ {
+ _pLog.Warn("無法通知" + ip2 + ": " + e.Message);
+ }
+
+ try
+ {
+ IPAddress serverIp = IPAddress.Parse(ipPatrol);
+ int serverPort = Convert.ToInt32(GlobalVariable.AlermPort);
+ IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
+
+ mClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+ mClient.Connect(iep);
+
+ byte[] byteMessage = encoding.GetBytes(acceptNum);
+
+ mClient.Send(byteMessage);
+ mClient.Shutdown(SocketShutdown.Both);
+ mClient.Close();
+ RecordAlarmIp(acceptNum, ipPatrol);
+ _pLog.Info("已成功通知" + ipPatrol + " !");
+ return true;
+ }
+ catch (Exception e)
+ {
+ _pLog.Warn("無法通知" + ipPatrol + ": " + e.Message);
+ _pLog.Warn("三個IP均無法通知到!");
+ return false;
+ }
+ }
+
+ private void RecordAlarmIp(string accNum, string ip)
+ {
+ string sqlStmt = "insert into eos.case_dispatch (acceptnum,alarmip) values('" + accNum + "','" + ip + "')";
+
+ OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+
+ try
+ {
+ if (command.ExecuteNonQuery() <= 0)
+ _pLog.Warn("無法紀錄Alarm IP!");
+ }
+ catch (Exception e)
+ {
+ _pLog.Error("recordAlarmIP Error." + e.Message);
return;
}
finally
{
- Command.Dispose();
+ command.Dispose();
}
-
}
-
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Object/CCSCodelist.cs b/CCSTrace/CCS/Object/CCSCodelist.cs
index 3145cd8..48cd876 100644
--- a/CCSTrace/CCS/Object/CCSCodelist.cs
+++ b/CCSTrace/CCS/Object/CCSCodelist.cs
@@ -1,160 +1,120 @@
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.Collections;
+using System.Collections.Generic;
using System.Data.OracleClient;
+using System.Linq;
+using CCSTrace.CCS.Domain;
namespace CCSTrace.CCS.Object
{
- public class CCSCodelist
+ public class CcsCodelist
{
- private Hashtable m_TotalData = new Hashtable();
- private int KeyID = 1;
- private int Item = 2;
- private int Content = 3;
+ private readonly Dictionary<int, Dictionary<int, Codelist>> _mTotalData = new Dictionary<int, Dictionary<int, Codelist>>();
- public CCSCodelist(OracleConnection _ConnectionTPC)
+ public CcsCodelist(OracleConnection connectionTpc)
{
- String SqlStmt;
- ArrayList m_Data = new ArrayList();
- int Tmp = 0;
- int IndexID;
-
- SqlStmt = "SELECT INDEXID,KEYID,ITEM,CONTENT FROM CCS.CODELIST ORDER BY INDEXID,KEYID";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC);
- OracleDataReader reader = Command.ExecuteReader();
+ var sqlStmt = "SELECT INDEXID,KEYID,ITEM,CONTENT FROM CCS.CODELIST ORDER BY INDEXID,KEYID";
+ OracleCommand command = new OracleCommand(sqlStmt, connectionTpc);
+ OracleDataReader reader = command.ExecuteReader();
try
{
-
while (reader.Read())
{
- ArrayList m_Record = new ArrayList();
- IndexID = Convert.ToInt32(reader["INDEXID"].ToString());
- m_Record.Add(IndexID);
- m_Record.Add(Convert.ToInt32(reader["KEYID"].ToString()));
- m_Record.Add(reader["ITEM"].ToString());
- m_Record.Add(reader["CONTENT"].ToString());
+ var indexId = Convert.ToInt32(reader["INDEXID"].ToString());
+ var keyId = Convert.ToInt32(reader["KEYID"].ToString());
+ var item = (reader["ITEM"].ToString());
+ var content = (reader["CONTENT"].ToString());
+ Codelist codelist = new Codelist(indexId, keyId, item, content);
+ if (!_mTotalData.ContainsKey(indexId))
+ {
+ _mTotalData.Add(indexId, new Dictionary<int, Codelist>());
+ }
+ Dictionary<int, Codelist> keys = _mTotalData[indexId];
+ if (keys.ContainsKey(keyId))
+ {
+ keys.Add(keyId, codelist);
+ }
- if (Tmp == IndexID)
- {
- m_Data.Add(m_Record);
- }
- else
- {
- m_TotalData.Add(Tmp, m_Data);
- Tmp = IndexID;
- m_Data = new ArrayList();
- m_Data.Add(m_Record);
- }
}
- m_TotalData.Add(Tmp, m_Data);
}
catch (Exception e)
{
- Console.WriteLine("Error on Initial EOSCodelist: " + e.Message);
+ Console.WriteLine("Error on Startup EOSCodelist: " + e.Message);
Console.WriteLine(e.StackTrace);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- public ArrayList getAllContent(int m_IndexID)
+ public Codelist[] GetAllContent(int mIndexId)
{
- return ((ArrayList)m_TotalData[m_IndexID]);
+ return _mTotalData[mIndexId].Values.ToArray();
}
- public String getContent(int m_IndexID, int m_KeyID)
+ public string GetContent(int mIndexId, int mKeyId)
{
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID];
- String m_Result = "";
+ return _mTotalData[mIndexId][mKeyId].Content;
+ }
- try
+ public string GetContent(int mIndexId, string mItem)
+ {
+ string mResult = "";
+
+ Dictionary<int, Codelist> mTmp = _mTotalData[mIndexId];
+
+ foreach (KeyValuePair<int, Codelist> pair in mTmp)
{
- for (int i = 0; i < m_Tmp.Count; i++)
+ if (pair.Value.Item.Equals(mItem))
{
- if (Convert.ToInt32(((ArrayList)m_Tmp[i])[KeyID].ToString()) == m_KeyID)
- {
- m_Result = ((ArrayList)m_Tmp[i])[Content].ToString();
- break;
- }
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine("Error in get CCSCodelist(getContent(int m_IndexID, int m_KeyID)): " + ex.Message);
- }
- return m_Result;
- }
-
- public String getContent(int m_IndexID, String m_Item)
- {
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID];
- String m_Result = "";
-
- try
- {
- for (int i = 0; i < m_Tmp.Count; i++)
- {
- if ( ((ArrayList)m_Tmp[i])[Item].ToString().Trim().Equals(m_Item.Trim()))
- {
- m_Result = ((ArrayList)m_Tmp[i])[Content].ToString();
- break;
- }
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine("Error in get CCSCodelist(getContent(int m_IndexID, String m_Item)): " + ex.Message);
- }
- return m_Result;
- }
-
- public int getKeyID(int m_IndexID, String m_Content)
- {
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID];
- int m_Result = 0;
-
- for (int i = 0; i < m_Tmp.Count; i++)
- {
- if (((ArrayList)m_Tmp[i])[Content].ToString().Equals(m_Content))
- {
- m_Result = Convert.ToInt32(((ArrayList)m_Tmp[i])[KeyID].ToString());
+ mResult = pair.Value.Content;
break;
}
}
- return m_Result;
+ return mResult;
}
- public String getItem(int m_IndexID, String m_Content)
+ public int GetKeyId(int mIndexId, string mContent)
{
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID];
- String m_Result = "";
+ Dictionary<int, Codelist> mTmp = _mTotalData[mIndexId];
+ int mResult = 0;
- for (int i = 0; i < m_Tmp.Count; i++)
+ foreach (KeyValuePair<int, Codelist> pair in mTmp)
{
- if (((ArrayList)m_Tmp[i])[Content].ToString().Equals(m_Content))
+ if (pair.Value.Content.Equals(mContent))
{
- m_Result = ((ArrayList)m_Tmp[i])[this.Item].ToString();
+ mResult = pair.Key;
break;
}
}
- return m_Result;
+ return mResult;
}
- public int getContentNumber(int m_IndexID)
+ public string GetItem(int mIndexId, string mContent)
{
- return ((ArrayList)m_TotalData[m_IndexID]).Count;
+ Dictionary<int, Codelist> mTmp = _mTotalData[mIndexId];
+ string mResult = "";
+
+ foreach (KeyValuePair<int, Codelist> pair in mTmp)
+ {
+ if (pair.Value.Content.Equals(mContent))
+ {
+ mResult = pair.Value.Item;
+ break;
+ }
+ }
+ return mResult;
}
+
+ public int GetContentNumber(int mIndexId)
+ {
+ return _mTotalData[mIndexId].Count;
+ }
+
+ public int Count => _mTotalData.Count;
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Object/CCSRecord.cs b/CCSTrace/CCS/Object/CCSRecord.cs
index c825bdd..b97ace0 100644
--- a/CCSTrace/CCS/Object/CCSRecord.cs
+++ b/CCSTrace/CCS/Object/CCSRecord.cs
@@ -1,124 +1,144 @@
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;
namespace CCSTrace.CCS.Object
{
- public class CCSRecord
+ public class CcsRecord
{
- private String Meter;
- private String CustomerName;
- private String CustomerTel;
- private String ADDR_City;
- private String ADDR_Town;
- private String ADDR_Road;
- private String ADDR_Other;
- private String RecallName;
- private String RecallTel;
- private int EventBrief;
- private String AcceptTime;
- private String CCSID;
- private int ImportCase;
- private String Dept;
- private int PartHicustomer;
- private String Note;
+ private readonly string _meter;
+ private readonly string _customerName;
+ private readonly string _customerTel;
+ private readonly string _addrCity;
+ private readonly string _addrTown;
+ private readonly string _addrRoad;
+ private readonly string _addrOther;
+ private readonly string _recallName;
+ private readonly string _recallTel;
+ private readonly int _eventBrief;
+ private readonly string _acceptTime;
+ private readonly string _ccsid;
+ private readonly int _importCase;
+ private readonly string _dept;
+ private readonly int _partHicustomer;
+ private readonly string _note;
- public CCSRecord(String _CCSID, String _METER, String _CUSTOMERNAME, String _CUSTOMERTEL, String _ADDR_CITY, String _ADDR_TOWN, String _ADDR_ROAD,
- String _ADDR_OTHER, String _RECALLNAME, String _RECALLTEL, int _EVENTBRIEF, String _ACCEPTTIME, int _IMPORTCASE, String _DEPT,
- int _PartHicustomer,String _NOTE)
+ public CcsRecord(string ccsid, string meter, string customername, string customertel, string addrCity, string addrTown, string addrRoad,
+ string addrOther, string recallname, string recalltel, int eventbrief, string accepttime, int importcase, string dept,
+ int partHicustomer, string note)
{
- this.Meter = _METER;
- this.CustomerName = _CUSTOMERNAME;
- this.CustomerTel = _CUSTOMERTEL;
- this.ADDR_City = _ADDR_CITY;
- this.ADDR_Town = _ADDR_TOWN;
- this.ADDR_Road = _ADDR_ROAD;
- this.ADDR_Other = _ADDR_OTHER;
- this.RecallName = _RECALLNAME;
- this.RecallTel = _RECALLTEL;
- this.EventBrief = _EVENTBRIEF; ;
- this.CCSID = _CCSID;
- this.ImportCase = _IMPORTCASE;
- this.Dept = _DEPT;
- this.Note = _NOTE;
- this.PartHicustomer = _PartHicustomer;
- this.AcceptTime = _ACCEPTTIME;
+ _meter = meter;
+ _customerName = customername;
+ _customerTel = customertel;
+ _addrCity = addrCity;
+ _addrTown = addrTown;
+ _addrRoad = addrRoad;
+ _addrOther = addrOther;
+ _recallName = recallname;
+ _recallTel = recalltel;
+ _eventBrief = eventbrief; ;
+ _ccsid = ccsid;
+ _importCase = importcase;
+ _dept = dept;
+ _note = note;
+ _partHicustomer = partHicustomer;
+ _acceptTime = accepttime;
}
- public CCSRecord(String _CCSID, OracleConnection _ConnectionTPC, SEventLog _PLog)
+ public CcsRecord(string ccsid, OracleConnection connectionTpc, SEventLog pLog)
{
- String SqlStmt;
+ var sqlStmt = "SELECT METER,CUSTOMERNAME,CUSTOMERTEL,ADDR_CITY,ADDR_TOWN,ADDR_ROAD,ADDR_OTHER,RECALLNAME,RECALLTEL,EVENTBRIEF,"
+ + "TO_CHAR(ACCEPTTIME,'YYYY/MM/DD HH24:MI:SS') as ACCEPTTIME,CCSID,IMPORTCASE,DEPT,PARTHICUSTOMER,NOTE FROM CCS.EVENTRECORD "
+ + "WHERE CCSID = '" + ccsid + "'";
- SqlStmt = "SELECT METER,CUSTOMERNAME,CUSTOMERTEL,ADDR_CITY,ADDR_TOWN,ADDR_ROAD,ADDR_OTHER,RECALLNAME,RECALLTEL,EVENTBRIEF,"
- + "TO_CHAR(ACCEPTTIME,'YYYY/MM/DD HH24:MI:SS') as ACCEPTTIME,CCSID,IMPORTCASE,DEPT,PARTHICUSTOMER,NOTE FROM CCS.EVENTRECORD "
- + "WHERE CCSID = '" + _CCSID + "'";
+ OracleCommand command = new OracleCommand(sqlStmt, connectionTpc);
+ OracleDataReader reader = command.ExecuteReader();
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC);
- OracleDataReader reader = Command.ExecuteReader();
-
try
{
while (reader.Read())
{
- Meter = reader["METER"].ToString();
- CustomerName = reader["CUSTOMERNAME"].ToString();
- CustomerTel = reader["CUSTOMERTEL"].ToString();
- ADDR_City = reader["ADDR_CITY"].ToString();
- ADDR_Town = reader["ADDR_TOWN"].ToString();
- ADDR_Road = reader["ADDR_ROAD"].ToString();
- ADDR_Other = reader["ADDR_OTHER"].ToString();
- RecallName = reader["RECALLNAME"].ToString();
- RecallTel = reader["RECALLTEL"].ToString();
- EventBrief = Int32.Parse(reader["EVENTBRIEF"].ToString());
- AcceptTime = reader["ACCEPTTIME"].ToString();
- CCSID = reader["CCSID"].ToString();
- ImportCase = Int32.Parse(reader["IMPORTCASE"].ToString());
- Dept = reader["DEPT"].ToString();
- PartHicustomer = Int32.Parse(reader["PARTHICUSTOMER"].ToString());
- Note = reader["NOTE"].ToString();
+ _meter = reader["METER"].ToString();
+ _customerName = reader["CUSTOMERNAME"].ToString();
+ _customerTel = reader["CUSTOMERTEL"].ToString();
+ _addrCity = reader["ADDR_CITY"].ToString();
+ _addrTown = reader["ADDR_TOWN"].ToString();
+ _addrRoad = reader["ADDR_ROAD"].ToString();
+ _addrOther = reader["ADDR_OTHER"].ToString();
+ _recallName = reader["RECALLNAME"].ToString();
+ _recallTel = reader["RECALLTEL"].ToString();
+ _eventBrief = int.Parse(reader["EVENTBRIEF"].ToString());
+ _acceptTime = reader["ACCEPTTIME"].ToString();
+ _ccsid = reader["CCSID"].ToString();
+ _importCase = int.Parse(reader["IMPORTCASE"].ToString());
+ _dept = reader["DEPT"].ToString();
+ _partHicustomer = int.Parse(reader["PARTHICUSTOMER"].ToString());
+ _note = reader["NOTE"].ToString();
}
}
catch (Exception e)
{
- _PLog.Error("無法取得CCS報案資訊!" + e.Message);
+ pLog.Error("無法取得CCS報案資訊!" + e.Message);
Console.WriteLine(e.StackTrace);
- if (LocalVariable.ShowError)
- _PLog.Error(e.StackTrace);
+ if (GlobalVariable.ShowError)
+ pLog.Error(e.StackTrace);
throw e;
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- public bool InsertDB(OracleConnection _ConnectionTPC, System.Data.OracleClient.OracleTransaction _Transaction, SEventLog _PLog)
+ public string Meter => _meter;
+
+ public string CustomerName => _customerName;
+
+ public string CustomerTel => _customerTel;
+
+ public string AddressCity => _addrCity;
+
+ public string AddressTown => _addrTown;
+
+ public string AddressRoad => _addrRoad;
+
+ public string AddressOther => _addrOther;
+
+ public string RecallTel => _recallTel;
+
+ public string RecallName => _recallName;
+
+ public int EventBrief => _eventBrief;
+
+ public string AcceptTime => _acceptTime;
+
+ public string CcsId => _ccsid;
+
+ public int ImportCase => _importCase;
+
+ public string Detp => _dept;
+
+ public int PartHicustomer => _partHicustomer;
+
+ public string Note => _note;
+
+ public bool InsertDb(OracleConnection connectionTpc, OracleTransaction transaction, SEventLog pLog)
{
- String SqlStmt;
+ var sqlStmt = "INSERT INTO CCS.EVENTRECORD VALUES ('" + _meter + "','" + _customerName + "','" + _customerTel + "','" + _addrCity + "','"
+ + _addrTown + "','" + _addrRoad + "','" + _addrOther + "','" + _recallName + "','" + _recallTel + "',"
+ + _eventBrief + ",TO_DATE('" + _acceptTime + "','YYYY/MM/DD HH24:MI:SS'),'" + _ccsid + "'," + _importCase + ",'" + _dept + "',"
+ + _partHicustomer + ",'" + _note + "')";
- SqlStmt = "INSERT INTO CCS.EVENTRECORD VALUES ('" + this.Meter + "','" + CustomerName + "','" + CustomerTel + "','" + ADDR_City + "','"
- + ADDR_Town + "','" + ADDR_Road + "','" + ADDR_Other + "','" + RecallName + "','" + RecallTel + "',"
- + EventBrief + ",TO_DATE('" + AcceptTime + "','YYYY/MM/DD HH24:MI:SS'),'" + CCSID + "'," + ImportCase + ",'" + Dept + "',"
- + PartHicustomer + ",'" + Note + "')";
-
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
+ OracleCommand command = new OracleCommand(sqlStmt, connectionTpc, transaction);
try
{
- if (Command.ExecuteNonQuery() != 1)
+ if (command.ExecuteNonQuery() != 1)
{
- _PLog.Error("CCS 案件受理程序初始化失敗...無法將CCS報案資訊存入資料庫中!");
+ pLog.Error("CCS 案件受理程序初始化失敗...無法將CCS報案資訊存入資料庫中!");
throw new Exception("CCS 案件受理程序初始化失敗...無法將CCS報案資訊存入資料庫中!");
}
@@ -127,98 +147,18 @@
{
Console.WriteLine(e.StackTrace);
- if (LocalVariable.ShowError)
- _PLog.Error(e.StackTrace);
+ if (GlobalVariable.ShowError)
+ pLog.Error(e.StackTrace);
- _PLog.Error("CCS 案件受理程序初始化失敗...無法將CCS報案資訊存入資料庫中!" + e.Message);
+ pLog.Error("CCS 案件受理程序初始化失敗...無法將CCS報案資訊存入資料庫中!" + e.Message);
//throw new Exception("CCS 案件受理程序初始化失敗...無法將CCS報案資訊存入資料庫中");
- throw e;
+ throw;
}
finally
{
- Command.Dispose();
+ command.Dispose();
}
return true;
}
-
- public String getMeter()
- {
- return this.Meter;
- }
-
- public String getCustomerName()
- {
- return this.CustomerName;
- }
-
- public String getCustomerTel()
- {
- return this.CustomerTel;
- }
-
- public String getADDR_City()
- {
- return this.ADDR_City;
- }
-
- public String getADDR_Town()
- {
- return this.ADDR_Town;
- }
-
- public String getADDR_Road()
- {
- return this.ADDR_Road;
- }
-
- public String getADDR_Other()
- {
- return this.ADDR_Other;
- }
-
- public String getRecallName()
- {
- return this.RecallName;
- }
-
- public String getRecallTel()
- {
- return this.RecallTel;
- }
-
- public int getEventBrief()
- {
- return this.EventBrief;
- }
-
- public String getAcceptTime()
- {
- return this.AcceptTime;
- }
-
- public String getCCSID()
- {
- return this.CCSID;
- }
-
- public int getImportCase()
- {
- return this.ImportCase;
- }
-
- public String getDetp()
- {
- return this.Dept;
- }
-
- public int getPartHicustomer()
- {
- return PartHicustomer;
- }
-
- public String getNote()
- {
- return this.Note;
- }
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Object/Dept_Contrast.cs b/CCSTrace/CCS/Object/Dept_Contrast.cs
index e763682..cd61f36 100644
--- a/CCSTrace/CCS/Object/Dept_Contrast.cs
+++ b/CCSTrace/CCS/Object/Dept_Contrast.cs
@@ -1,54 +1,46 @@
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.Collections;
using System.Data.OracleClient;
namespace CCSTrace.CCS.Object
{
- public class Dept_Contrast
+ public class DeptContrast
{
- private ArrayList m_TotalData = null;
- public static String DefaultDept = "市區巡修課";
+ private ArrayList _mTotalData = null;
+ public static string DefaultDept = "市區巡修課";
- public Dept_Contrast(OracleConnection _ConnectionTPC,OracleTransaction _Trx)
+ public DeptContrast(OracleConnection connectionTpc, OracleTransaction trx)
{
- if (m_TotalData == null)
- this.Initial(_ConnectionTPC,_Trx);
+ if (_mTotalData == null)
+ Initial(connectionTpc, trx);
}
- public int getDept_Code(String m_Meter)
+ public int getDept_Code(string mMeter)
{
- //int Result = CCS.CCSMain.EOSCodelist.getKeyID(CCS.LocalVariable.Dept, DefaultDept);
- int Result = -1;
+ //int Result = CCS.CCSMain.EOSCodelist.getKeyID(CCS.GlobalVariable.Dept, DefaultDept);
+ int result = -1;
try
{
- for (int i = 0; i < m_TotalData.Count; i++)
+ for (int i = 0; i < _mTotalData.Count; i++)
{
- ArrayList TmpData = (ArrayList)m_TotalData[i];
+ ArrayList tmpData = (ArrayList)_mTotalData[i];
- if (TmpData[2] == null)
+ if (tmpData[2] == null)
{
- Result = Convert.ToInt32(TmpData[1].ToString());
+ result = Convert.ToInt32(tmpData[1].ToString());
break;
}
else
{// 一對多(需作比對)
- long MinMeter = Convert.ToInt64(TmpData[3].ToString());
- long MaxMeter = Convert.ToInt64(TmpData[2].ToString());
- long CustMeter = Convert.ToInt64(m_Meter);
+ long minMeter = Convert.ToInt64(tmpData[3].ToString());
+ long maxMeter = Convert.ToInt64(tmpData[2].ToString());
+ long custMeter = Convert.ToInt64(mMeter);
- if ((CustMeter > MinMeter) && (CustMeter < MaxMeter))
+ if ((custMeter > minMeter) && (custMeter < maxMeter))
{
- Result = Convert.ToInt32(TmpData[1].ToString());
+ result = Convert.ToInt32(tmpData[1].ToString());
break;
}
}
@@ -58,36 +50,36 @@
{
Console.WriteLine(ex.Message);
}
- return Result;
+ return result;
}
- public int getDept_Code(int SC_Code, String Meter)
+ public int getDept_Code(int scCode, string meter)
{
- int Result = CCS.CCSMain.EOSCodelist.getKeyID(CCS.LocalVariable.Dept, DefaultDept);
+ int result = GlobalVariable.EosCodelist.GetKeyId(GlobalVariable.Dept, DefaultDept);
try
{
- for (int i = 0; i < m_TotalData.Count; i++)
+ for (int i = 0; i < _mTotalData.Count; i++)
{
- ArrayList TmpData = (ArrayList)m_TotalData[i];
- int Tmp_Dept = Convert.ToInt32(TmpData[0].ToString());
+ ArrayList tmpData = (ArrayList)_mTotalData[i];
+ int tmpDept = Convert.ToInt32(tmpData[0].ToString());
- if (Tmp_Dept == SC_Code)
+ if (tmpDept == scCode)
{
// 一對一(無最大最小電號限制)
- if (TmpData[2] == null)
+ if (tmpData[2] == null)
{
- Result = Convert.ToInt32(TmpData[1].ToString());
+ result = Convert.ToInt32(tmpData[1].ToString());
break;
}
else
{// 一對多(需作比對)
- long MinMeter = Convert.ToInt64(TmpData[3].ToString());
- long MaxMeter = Convert.ToInt64(TmpData[2].ToString());
- long CustMeter = Convert.ToInt64(Meter);
+ long minMeter = Convert.ToInt64(tmpData[3].ToString());
+ long maxMeter = Convert.ToInt64(tmpData[2].ToString());
+ long custMeter = Convert.ToInt64(meter);
- if ((CustMeter > MinMeter) && (CustMeter < MaxMeter))
+ if ((custMeter > minMeter) && (custMeter < maxMeter))
{
- Result = Convert.ToInt32(TmpData[1].ToString());
+ result = Convert.ToInt32(tmpData[1].ToString());
break;
}
}
@@ -99,31 +91,30 @@
Console.WriteLine(ex.Message);
}
- return Result;
+ return result;
}
- private void Initial(OracleConnection _ConnectionTPC,OracleTransaction _Trx)
+ private void Initial(OracleConnection connectionTpc, OracleTransaction trx)
{
- String SqlStmt;
- m_TotalData = new ArrayList();
+ string sqlStmt;
+ _mTotalData = new ArrayList();
- SqlStmt = "SELECT SC_CODE,DEPT_CODE,MAX_METER,MIN_METER FROM CCS.DEPT_CONTRAST";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC,_Trx);
- OracleDataReader reader = Command.ExecuteReader();
+ sqlStmt = "SELECT SC_CODE,DEPT_CODE,MAX_METER,MIN_METER FROM CCS.DEPT_CONTRAST";
+ OracleCommand command = new OracleCommand(sqlStmt, connectionTpc, trx);
+ OracleDataReader reader = command.ExecuteReader();
try
{
-
while (reader.Read())
{
- ArrayList Record = new ArrayList();
- int SC_Code = Convert.ToInt32(reader["SC_CODE"].ToString());
- Record.Add(SC_Code);
- Record.Add(Convert.ToInt32(reader["Dept_Code"].ToString()));
- Record.Add(reader["Max_Meter"].ToString());
- Record.Add(reader["Min_Meter"].ToString());
+ ArrayList record = new ArrayList();
+ int scCode = Convert.ToInt32(reader["SC_CODE"].ToString());
+ record.Add(scCode);
+ record.Add(Convert.ToInt32(reader["Dept_Code"].ToString()));
+ record.Add(reader["Max_Meter"].ToString());
+ record.Add(reader["Min_Meter"].ToString());
- m_TotalData.Add(Record);
+ _mTotalData.Add(record);
}
}
catch (Exception e)
@@ -131,11 +122,10 @@
Console.WriteLine(e.StackTrace);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
-
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Object/EOSCodelist.cs b/CCSTrace/CCS/Object/EOSCodelist.cs
index a9430b5..158383c 100644
--- a/CCSTrace/CCS/Object/EOSCodelist.cs
+++ b/CCSTrace/CCS/Object/EOSCodelist.cs
@@ -1,128 +1,103 @@
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.Collections;
+using System.Collections.Generic;
using System.Data.OracleClient;
+using System.Linq;
+using CCSTrace.CCS.Domain;
namespace CCSTrace.CCS.Object
{
- public class EOSCodelist
+ public class EosCodelist
{
- private Hashtable m_TotalData = new Hashtable();
- private int KeyID = 1;
- private int Item = 2;
- private int Content = 3;
+ private readonly Dictionary<int, Dictionary<int, Codelist>> _mTotalData = new Dictionary<int, Dictionary<int, Codelist>>();
- public EOSCodelist(OracleConnection _Connection)
+ public EosCodelist(OracleConnection connection)
{
- String SqlStmt;
- int IndexID;
- ArrayList m_Data = new ArrayList();
- int Tmp = 0;
-
- SqlStmt = "SELECT INDEXID,KEYID,ITEM,CONTENT FROM EOS.CODELIST ORDER BY INDEXID,KEYID";
- OracleCommand Command = new OracleCommand(SqlStmt, _Connection);
- OracleDataReader reader = Command.ExecuteReader();
+ var sqlStmt = "SELECT INDEXID,KEYID,ITEM,CONTENT FROM EOS.CODELIST ORDER BY INDEXID,KEYID";
+ OracleCommand command = new OracleCommand(sqlStmt, connection);
+ OracleDataReader reader = command.ExecuteReader();
try
{
-
while (reader.Read())
{
- ArrayList m_Record = new ArrayList();
- IndexID = Convert.ToInt32(reader["INDEXID"].ToString());
- m_Record.Add(IndexID);
- m_Record.Add(Convert.ToInt32(reader["KEYID"].ToString()));
- m_Record.Add(reader["ITEM"].ToString());
- m_Record.Add(reader["CONTENT"].ToString());
-
- if (Tmp == IndexID)
- m_Data.Add(m_Record);
- else
+ var indexId = Convert.ToInt32(reader["INDEXID"].ToString());
+ var keyId = Convert.ToInt32(reader["KEYID"].ToString());
+ var item = (reader["ITEM"].ToString());
+ var content = (reader["CONTENT"].ToString());
+ Codelist codelist = new Codelist(indexId, keyId, item, content);
+ if (!_mTotalData.ContainsKey(indexId))
{
- m_TotalData.Add(Tmp.ToString(), m_Data);
- Tmp = IndexID;
- m_Data = new ArrayList();
- m_Data.Add(m_Record);
+ _mTotalData.Add(indexId, new Dictionary<int, Codelist>());
+ }
+ Dictionary<int, Codelist> keys = _mTotalData[indexId];
+ if (keys.ContainsKey(keyId))
+ {
+ keys.Add(keyId, codelist);
}
}
- m_TotalData.Add(Tmp.ToString(), m_Data);
}
catch (Exception e)
{
- Console.WriteLine("Error on Initial EOSCodelist: " + e.Message);
+ Console.WriteLine("Error on Startup EOSCodelist: " + e.Message);
Console.WriteLine(e.StackTrace);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- public ArrayList getAllContent(int m_IndexID)
+ public Codelist[] GetAllContent(int mIndexId)
{
- return (ArrayList)m_TotalData[m_IndexID.ToString()];
+ return _mTotalData[mIndexId].Values.ToArray();
}
- public String getContent(int m_IndexID, int m_KeyID)
+ public string GetContent(int mIndexId, int mKeyId)
{
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID.ToString()];
- String m_Result = "";
+ return _mTotalData[mIndexId][mKeyId].Content;
+ }
- for (int i = 0; i < m_Tmp.Count; i++)
+ public string GetContent(int mIndexId, string mItem)
+ {
+ string mResult = "";
+
+ Dictionary<int, Codelist> mTmp = _mTotalData[mIndexId];
+
+ foreach (KeyValuePair<int, Codelist> pair in mTmp)
{
- if (Convert.ToInt32(((ArrayList)m_Tmp[i])[KeyID].ToString()) == m_KeyID)
+ if (pair.Value.Item.Equals(mItem))
{
- m_Result = ((ArrayList)m_Tmp[i])[Content].ToString();
+ mResult = pair.Value.Content;
break;
}
}
- return m_Result;
+ return mResult;
}
- public String getContent(int m_IndexID, String m_Item)
+ public int GetKeyId(int mIndexId, string mContent)
{
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID.ToString()];
- String m_Result = "";
+ Dictionary<int, Codelist> mTmp = _mTotalData[mIndexId];
+ int mResult = 0;
- for (int i = 0; i < m_Tmp.Count; i++)
+ foreach (KeyValuePair<int, Codelist> pair in mTmp)
{
- if (((ArrayList)m_Tmp[i])[Item].ToString().Equals(m_Item))
+ if (pair.Value.Content.Equals(mContent))
{
- m_Result = ((ArrayList)m_Tmp[i])[Content].ToString();
+ mResult = pair.Key;
break;
}
}
- return m_Result;
+ return mResult;
}
- public int getKeyID(int m_IndexID, String m_Content)
+ public int GetContentNumber(int mIndexId)
{
- ArrayList m_Tmp = (ArrayList)m_TotalData[m_IndexID.ToString()];
- int m_Result = 0;
-
- for (int i = 0; i < m_Tmp.Count; i++)
- {
- if (((ArrayList)m_Tmp[i])[Content].ToString().Equals(m_Content))
- {
- m_Result = Convert.ToInt32(((ArrayList)m_Tmp[i])[1].ToString());
- break;
- }
- }
- return m_Result;
+ return (_mTotalData[mIndexId]).Count;
}
- public int getContentNumber(int m_IndexID)
- {
- return ((ArrayList)m_TotalData[m_IndexID]).Count;
- }
+ public int Count => _mTotalData.Count;
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Object/EventQuery.cs b/CCSTrace/CCS/Object/EventQuery.cs
index 53e6934..5af5c49 100644
--- a/CCSTrace/CCS/Object/EventQuery.cs
+++ b/CCSTrace/CCS/Object/EventQuery.cs
@@ -1,138 +1,35 @@
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;
namespace CCSTrace.CCS.Object
{
public class EventQuery
{
- private String CCSID;
- private String Meter;
- private int CaseStatus;
- private String ChangeTime;
- private String HandlingSummary;
- private String AssumedTime;
- private String AssumedTime_Nth;
- private int DelayTimes = 0;
- private String Reason;
- private String EventLocation = "";
//private CCS.Function.TransferDate convert = new CCS.Function.TransferDate();
- public EventQuery()
- {
- }
+ public string CcsId { get; set; }
- public void setCCSID(String m_CCSID)
- {
- this.CCSID = m_CCSID;
- }
+ public string Meter { get; set; }
- public String getCCSID()
- {
- return this.CCSID;
- }
+ public int CaseStatus { get; set; }
- public void setMeter(String m_Meter)
- {
- this.Meter = m_Meter;
- }
+ public string ChangeTime { get; set; }
- public String getMeter()
- {
- return this.Meter;
- }
+ public string HandlingSummary { get; set; }
- /**
- * @return Returns the eventLocation.
- */
- public String getEventLocation()
- {
- return EventLocation;
- }
+ public string AssumedTime { get; set; }
- /**
- * @param m_eventLocation The eventLocation to set.
- */
- public void setEventLocation(String m_eventLocation)
- {
- EventLocation = m_eventLocation;
- }
+ public string AssumedTimeNth { get; set; }
- public void setCaseStatus(int m_CaseStatus)
- {
- this.CaseStatus = m_CaseStatus;
- }
+ public int DelayTimes { get; set; } = 0;
- public void setChangeTime(String m_ChangeTime)
- {
- this.ChangeTime = m_ChangeTime;
- }
+ public string Reason { get; set; }
- public String getChangeTime()
- {
- return this.ChangeTime;
- }
+ public string EventLocation { get; set; } = "";
- public void setHandlingSummary(String m_HandlingSummary)
+ public bool Insert(RecordLog pLog, OracleConnection conn, OracleTransaction transaction)
{
- this.HandlingSummary = m_HandlingSummary;
- }
-
- public String getHandlingSummary()
- {
- return this.HandlingSummary;
- }
-
- public void setAssumedTime(String m_AssumedTime)
- {
- this.AssumedTime = m_AssumedTime;
- }
-
- public String getAssumedTime()
- {
- return this.AssumedTime;
- }
-
- public void setAssumedTime_Nth(String m_AssumedTime_Nth)
- {
- this.AssumedTime_Nth = m_AssumedTime_Nth;
- }
-
- public String getAssumedTime_Nth()
- {
- return this.AssumedTime_Nth;
- }
-
- public void setDelayTimes(int m_DelayTimes)
- {
- this.DelayTimes = m_DelayTimes;
- }
-
- public int getDelayTimes()
- {
- return this.DelayTimes;
- }
-
- public void setReason(String m_Reason)
- {
- this.Reason = m_Reason;
- }
-
- public String getReason()
- {
- return this.Reason;
- }
-
- public bool Insert(RecordLog _PLog, OracleConnection _Conn, OracleTransaction _Transaction)
- {
- String SqlStmt;
+ string sqlStmt;
if (!Check())
{
@@ -141,42 +38,47 @@
if (Meter == null)
{
- SqlStmt = "INSERT INTO CCS.EVENTQUERY (CCSID,CASESTATUS,CHANGETIME,ASSUMEDTIME,ASSUMEDTIME_NTH,DELAYTIMES,REASON,INPUTTIME) values(" + "'" + CCSID
- + "'," + CaseStatus + ",to_date('" + ChangeTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('"
- + AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('" + AssumedTime_Nth + "','yyyy/mm/dd hh24:mi:ss')," + DelayTimes + ",'" + Reason + "',SYSDATE)";
+ sqlStmt =
+ $"INSERT INTO CCS.EVENTQUERY (CCSID,CASESTATUS,CHANGETIME,ASSUMEDTIME,ASSUMEDTIME_NTH,DELAYTIMES,REASON,INPUTTIME) values(" +
+ "'" + CcsId
+ + "'," + CaseStatus + ",to_date('" + ChangeTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('"
+ + AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('" + AssumedTimeNth +
+ "','yyyy/mm/dd hh24:mi:ss')," + DelayTimes + ",'" + Reason + "',SYSDATE)";
}
else
{
- SqlStmt = "INSERT INTO CCS.EVENTQUERY (CCSID,METER,CASESTATUS,CHANGETIME,ASSUMEDTIME,ASSUMEDTIME_NTH,DELAYTIMES,REASON,INPUTTIME) values(" + "'"
- + CCSID + "','" + Meter + "'," + CaseStatus + ",to_date('" + ChangeTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('" + AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('"
- + AssumedTime_Nth + "','yyyy/mm/dd hh24:mi:ss')," + DelayTimes + ",'" + Reason + "',SYSDATE)";
-
+ sqlStmt =
+ $"INSERT INTO CCS.EVENTQUERY (CCSID,METER,CASESTATUS,CHANGETIME,ASSUMEDTIME,ASSUMEDTIME_NTH,DELAYTIMES,REASON,INPUTTIME) values(" +
+ "'"
+ + CcsId + "','" + Meter + "'," + CaseStatus + ",to_date('" + ChangeTime +
+ "','yyyy/mm/dd hh24:mi:ss'),to_date('" + AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('"
+ + AssumedTimeNth + "','yyyy/mm/dd hh24:mi:ss')," + DelayTimes + ",'" + Reason + "',SYSDATE)";
}
- OracleCommand Command = new OracleCommand(SqlStmt, _Conn, _Transaction);
+ var command = new OracleCommand(sqlStmt, conn, transaction);
try
{
- if (Command.ExecuteNonQuery() > 0)
+ if (command.ExecuteNonQuery() > 0)
return true;
else
return false;
}
catch (Exception e)
{
- _PLog.Error(e.Message);
+ pLog.Error(e.Message);
Console.WriteLine(e.StackTrace);
return false;
}
finally
{
- Command.Dispose();
+ command.Dispose();
}
}
- public bool Insert(SEventLog _PLog, OracleConnection _Conn, OracleTransaction _Transaction)
+ public bool Insert(SEventLog pLog, OracleConnection conn, OracleTransaction transaction)
{
- String SqlStmt;
+ string sqlStmt;
if (!Check())
{
@@ -185,107 +87,112 @@
if (Meter == null)
{
- SqlStmt = "INSERT INTO CCS.EVENTQUERY (CCSID,CASESTATUS,CHANGETIME,ASSUMEDTIME,ASSUMEDTIME_NTH,DELAYTIMES,REASON,INPUTTIME) values(" + "'" + CCSID
- + "'," + CaseStatus + ",to_date('" + ChangeTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('"
- + AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('" + AssumedTime_Nth + "','yyyy/mm/dd hh24:mi:ss')," + DelayTimes + ",'" + Reason + "',SYSDATE)";
+ sqlStmt =
+ "INSERT INTO CCS.EVENTQUERY (CCSID,CASESTATUS,CHANGETIME,ASSUMEDTIME,ASSUMEDTIME_NTH,DELAYTIMES,REASON,INPUTTIME) values(" +
+ "'" + CcsId
+ + "'," + CaseStatus + ",to_date('" + ChangeTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('"
+ + AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('" + AssumedTimeNth +
+ "','yyyy/mm/dd hh24:mi:ss')," + DelayTimes + ",'" + Reason + "',SYSDATE)";
}
else
{
- SqlStmt = "INSERT INTO CCS.EVENTQUERY (CCSID,METER,CASESTATUS,CHANGETIME,ASSUMEDTIME,ASSUMEDTIME_NTH,DELAYTIMES,REASON,INPUTTIME) values(" + "'"
- + CCSID + "','" + Meter + "'," + CaseStatus + ",to_date('" + ChangeTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('" + AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('"
- + AssumedTime_Nth + "','yyyy/mm/dd hh24:mi:ss')," + DelayTimes + ",'" + Reason + "',SYSDATE)";
+ sqlStmt =
+ "INSERT INTO CCS.EVENTQUERY (CCSID,METER,CASESTATUS,CHANGETIME,ASSUMEDTIME,ASSUMEDTIME_NTH,DELAYTIMES,REASON,INPUTTIME) values(" +
+ "'"
+ + CcsId + "','" + Meter + "'," + CaseStatus + ",to_date('" + ChangeTime +
+ "','yyyy/mm/dd hh24:mi:ss'),to_date('" + AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),to_date('"
+ + AssumedTimeNth + "','yyyy/mm/dd hh24:mi:ss')," + DelayTimes + ",'" + Reason + "',SYSDATE)";
}
- OracleCommand Command = new OracleCommand(SqlStmt, _Conn, _Transaction);
+ var command = new OracleCommand(sqlStmt, conn, transaction);
try
{
- if (Command.ExecuteNonQuery() > 0)
+ if (command.ExecuteNonQuery() > 0)
return true;
else
return false;
}
catch (Exception e)
{
- _PLog.Error(e.Message);
+ pLog.Error(e.Message);
Console.WriteLine(e.StackTrace);
- if (LocalVariable.ShowError)
- _PLog.Error(e.StackTrace);
+ if (GlobalVariable.ShowError)
+ pLog.Error(e.StackTrace);
throw e;
}
finally
{
- Command.Dispose();
+ command.Dispose();
}
}
-
- public bool Update(RecordLog _PLog, OracleConnection _Conn, OracleTransaction _Transaction)
+ public bool Update(RecordLog pLog, OracleConnection conn, OracleTransaction transaction)
{
if (!Check())
{
return false;
}
- String SqlStmt = "UPDATE CCS.EVENTQUERY SET CASESTATUS=" + this.CaseStatus + ",CHANGETIME=to_date('"
- + this.ChangeTime + "','yyyy/mm/dd hh24:mi:ss'),ASSUMEDTIME=to_date('"
- + this.AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),ASSUMEDTIME_NTH=to_date('"
- + this.AssumedTime_Nth + "','yyyy/mm/dd hh24:mi:ss'),DELAYTIMES=" + this.DelayTimes + ",REASON='"
- + this.Reason + "',EVENTLOCATION ='" + this.EventLocation + "' WHERE CCSID='" + this.CCSID + "'";
+ var sqlStmt = "UPDATE CCS.EVENTQUERY SET CASESTATUS=" + CaseStatus + ",CHANGETIME=to_date('"
+ + ChangeTime + "','yyyy/mm/dd hh24:mi:ss'),ASSUMEDTIME=to_date('"
+ + AssumedTime + "','yyyy/mm/dd hh24:mi:ss'),ASSUMEDTIME_NTH=to_date('"
+ + AssumedTimeNth + "','yyyy/mm/dd hh24:mi:ss'),DELAYTIMES=" + DelayTimes + ",REASON='"
+ + Reason + "',EVENTLOCATION ='" + EventLocation + "' WHERE CCSID='" + CcsId + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _Conn, _Transaction);
+ var command = new OracleCommand(sqlStmt, conn, transaction);
try
{
- if (Command.ExecuteNonQuery() <= 0)
+ if (command.ExecuteNonQuery() <= 0)
{
- _PLog.Error("更新CCS.EVENTQUERY資料失敗.");
+ pLog.Error("更新CCS.EVENTQUERY資料失敗.");
return false;
}
}
catch (Exception e)
{
- _PLog.Error(e.Message);
+ pLog.Error(e.Message);
Console.WriteLine(e.StackTrace);
return false;
}
finally
{
- Command.Dispose();
+ command.Dispose();
}
return true;
}
- public bool UpdateCaseStatus(SEventLog _PLog, OracleConnection _Conn, OracleTransaction _Transaction)
+ public bool UpdateCaseStatus(SEventLog pLog, OracleConnection conn, OracleTransaction transaction)
{
- String SqlStmt = "UPDATE CCS.EVENTQUERY SET CASESTATUS = " + CaseStatus + " WHERE CCSID = '" + CCSID + "'";
+ var sqlStmt = "UPDATE CCS.EVENTQUERY SET CASESTATUS = " + CaseStatus + " WHERE CCSID = '" + CcsId + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _Conn, _Transaction);
+ var command = new OracleCommand(sqlStmt, conn, transaction);
try
{
- if (Command.ExecuteNonQuery() <= 0)
+ if (command.ExecuteNonQuery() <= 0)
{
- _PLog.Error("更新CCS.EVENTQUERY的CASESTATUS失敗.");
+ pLog.Error("更新CCS.EVENTQUERY的CASESTATUS失敗.");
return false;
}
}
catch (Exception e)
{
- _PLog.Error(e.Message);
+ pLog.Error(e.Message);
Console.WriteLine(e.StackTrace);
- if (LocalVariable.ShowError)
- _PLog.Error(e.StackTrace);
+ if (GlobalVariable.ShowError)
+ pLog.Error(e.StackTrace);
throw e;
}
finally
{
- Command.Dispose();
+ command.Dispose();
}
return true;
@@ -294,7 +201,7 @@
// Not Null Check
private bool Check()
{
- if (CCSID == null)
+ if (CcsId == null)
{
return false;
}
@@ -303,10 +210,8 @@
{
return false;
}
- Reason = (Reason == null ? "" : Reason);
+ Reason = Reason ?? "";
return true;
}
-
-
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Object/EventRecord.cs b/CCSTrace/CCS/Object/EventRecord.cs
index dc5f557..d3add68 100644
--- a/CCSTrace/CCS/Object/EventRecord.cs
+++ b/CCSTrace/CCS/Object/EventRecord.cs
@@ -1,311 +1,93 @@
-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;
namespace CCSTrace.CCS.Object
{
public class EventRecord
{
- private int CaseID;
- private String Name = "";
- private String Meter = "";
- private String Tel = "";
- private String Addr = "";
- private String Brief = "";
- private String Log = ""; // default
- private int Dept = 0; // default
- private String AcceptNum;
- private String AcceptDate;
- private int Fsc = 0;
- private int Ufid = 0;
- private int FdrID = 0;
- private int Trace_Finish = 0;
- private int ParentID = 0;
- private int ImportCase;
- private String Note = "";
- private int isReCall;
- private String ReCallTel = "";
- private String ReCallName = "";
- private bool despatched = false;// 專案案件升級為母案件時,判斷原先案件是否已派工
- private int Level = 0;
- private int TmpCaseID = 0;
- private String tpclid = "";
//private CCS.Function.TransferDate Convert = new CCS.Function.TransferDate();
- private CCS.Object.LocateEquipment m_Equipment;
- public EventRecord(int m_CaseID,System.Data.OracleClient.OracleConnection _Conn,System.Data.OracleClient.OracleTransaction _Trx)
+ public EventRecord(int mCaseId, OracleConnection conn, OracleTransaction trx)
{
- this.CaseID = m_CaseID;
- this.m_Equipment = new CCS.Object.LocateEquipment(CaseID, false,_Conn,_Trx);
+ CaseId = mCaseId;
+ LocateEquipment = new LocateEquipment(CaseId, false, conn, trx);
}
- public CCS.Object.LocateEquipment getLocateEquipment()
+ public LocateEquipment LocateEquipment { get; }
+
+ public int CaseId { get; }
+
+ public string Name { get; set; } = "";
+
+ public string Meter { get; set; } = "";
+
+ public string Tel { get; set; } = "";
+
+ public string Addr { get; set; } = "";
+
+ public string Brief { get; set; } = "";
+
+ public string Log { get; set; } = "";
+
+ public int Dept { get; set; } = 0;
+
+ public string AcceptNum { get; set; }
+
+ public string AcceptDate { get; set; }
+
+ public int TraceFinish { get; set; } = 0;
+
+ public int Fsc { get; set; } = 0;
+
+ public int Ufid { get; set; } = 0;
+
+ public int FdrId { get; set; } = 0;
+
+ public int ParentId { get; set; } = 0;
+
+ public int ImportCase { get; set; }
+
+ public string Note { get; set; } = "";
+
+ public int IsReCall { get; set; }
+
+ public string ReCallTel { get; set; } = "";
+
+ public string ReCallName { get; set; } = "";
+
+ public int Level { get; set; } = 0;
+
+
+ public int TmpCaseId { get; set; } = 0;
+
+ public bool IsDespatched { get; set; }
+
+ public string Tpclid { get; set; } = "";
+
+ public void SetIsDespatched(bool mDespatched)
{
- return this.m_Equipment;
+ IsDespatched = mDespatched;
}
- public int getCaseID()
+ public string GetSqlStmt()
{
- return this.CaseID;
+ var sqlStmt = "INSERT INTO EOS.EVENTRECORD VALUES (" + CaseId + ",'" + Name + "','" + Meter + "','" + Tel +
+ "','" + Addr + "','" + Brief + "'," + Dept + ",'" + Log + "','" + AcceptNum + "',to_date('"
+ + AcceptDate + "','yyyy/mm/dd hh24:mi:ss')," + Fsc + "," + Ufid + "," + FdrId + "," +
+ TraceFinish + "," + ImportCase + ",'" + Note + "'," + IsReCall + ",'"
+ + ReCallTel + "','" + ReCallName + "'," + Level + ")";
+
+ return sqlStmt;
}
- public String getName()
- {
- return this.Name;
- }
-
- public void setName(String m_Name)
- {
- this.Name = m_Name;
- }
-
- public String getMeter()
- {
- return this.Meter;
- }
-
- public void setMeter(String m_Meter)
- {
- this.Meter = m_Meter;
- }
-
- public String getTel()
- {
- return this.Tel;
- }
-
- public void setTel(String m_Tel)
- {
- this.Tel = m_Tel;
- }
-
- public String getAddr()
- {
- return this.Addr;
- }
-
- public void setAddr(String m_Addr)
- {
- this.Addr = m_Addr;
- }
-
- public String getBrief()
- {
- return this.Brief;
- }
-
- public void setBrief(String m_Brief)
- {
- this.Brief = m_Brief;
- }
-
- public String getLog()
- {
- return this.Log;
- }
-
- public void setLog(String m_Log)
- {
- this.Log = m_Log;
- }
-
- public int getDept()
- {
- return this.Dept;
- }
-
- public void setDept(int m_Dept)
- {
- this.Dept = m_Dept;
- }
-
- public String getAcceptNum()
- {
- return this.AcceptNum;
- }
-
- public void setAcceptNum(String m_AcceptNum)
- {
- this.AcceptNum = m_AcceptNum;
- }
-
- public String getAcceptDate()
- {
- return this.AcceptDate;
- }
-
- public void setAcceptDate(String m_AcceptDate)
- {
- this.AcceptDate = m_AcceptDate;
- }
-
- public int getTrace_Finish()
- {
- return this.Trace_Finish;
- }
-
- public void setFsc(int m_Fsc)
- {
- this.Fsc = m_Fsc;
- }
-
- public int getFsc()
- {
- return this.Fsc;
- }
-
- public void setUfid(int m_Ufid)
- {
- this.Ufid = m_Ufid;
- }
-
- public int getUfid()
- {
- return this.Ufid;
- }
-
- public void setFdrID(int m_FdrID)
- {
- this.FdrID = m_FdrID;
- }
-
- public int getFdrID()
- {
- return this.FdrID;
- }
-
- public void setTrace_Finish(int m_Trace_Finish)
- {
- this.Trace_Finish = m_Trace_Finish;
- }
-
- public void setParentID(int m_ParentID)
- {
- this.ParentID = m_ParentID;
- }
-
- public int getParentID()
- {
- return this.ParentID;
- }
-
- public void setImportCase(int m_ImportCase)
- {
- this.ImportCase = m_ImportCase;
- }
-
- public int getImportCase()
- {
- return this.ImportCase;
- }
-
- public void setNote(String m_Note)
- {
- this.Note = m_Note;
- }
-
- public String getNote()
- {
- return this.Note;
- }
-
- public void setisReCall(int m_isReCall)
- {
- this.isReCall = m_isReCall;
- }
-
- public int getisReCall()
- {
- return this.isReCall;
- }
-
- public void setReCallTel(String m_ReCallTel)
- {
- this.ReCallTel = m_ReCallTel;
- }
-
- public String getReCallTel()
- {
- return this.ReCallTel;
- }
-
- public void setReCallName(String m_ReCallName)
- {
- this.ReCallName = m_ReCallName;
- }
-
- public String getReCallName()
- {
- return this.ReCallName;
- }
-
- public void setLevel(int m_Level)
- {
- this.Level = m_Level;
- }
-
- public int getLevel()
- {
- return this.Level;
- }
-
- public int getTmpCaseID()
- {
- return this.TmpCaseID;
- }
-
- public void setTmpCaseID(int CaseID)
- {
- this.TmpCaseID = CaseID;
- }
-
- public void setDespatched(bool m_Despatched)
- {
- this.despatched = m_Despatched;
- }
-
- public bool isDespatched()
- {
- return this.despatched;
- }
-
- public String getSqlStmt()
- {
- String SqlStmt;
-
- SqlStmt = "insert into eos.eventrecord values (" + getCaseID() + ",'" + getName() + "','" + getMeter() + "','" + getTel() + "','" + getAddr()
- + "','" + getBrief() + "'," + getDept() + ",'" + getLog() + "','" + getAcceptNum() + "',to_date('"
- + getAcceptDate() + "','yyyy/mm/dd hh24:mi:ss')," + getFsc() + "," + getUfid()
- + "," + getFdrID() + "," + getTrace_Finish() + "," + getImportCase() + ",'" + getNote() + "'," + getisReCall() + ",'"
- + getReCallTel() + "','" + getReCallName() + "'," + getLevel() + ")";
-
- return SqlStmt;
- }
-
- //public String getUpdateSqlStmt()
- //{
- // String SqlStmt;
+ //}
+ // return SqlStmt;
+ // + getReCallName() + "',CASELEVEL = " + getLevel() + ",DEPT = " + getDept() + " WHERE CASEID = " + getCaseID();
+ // + ",NOTE = '" + getNote() + "',ISRECALL = " + getisReCall() + ",RECALLTEL = '" + getReCallTel() + "',RECALLNAME = '"
// SqlStmt = "UPDATE EOS.EVENTRECORD SET CUSTOMERADDR = '" + getAddr() + "',EVENTBRIEF = '" + getBrief() + "',IMPORTCASE = " + getImportCase()
- // + ",NOTE = '" + getNote() + "',ISRECALL = " + getisReCall() + ",RECALLTEL = '" + getReCallTel() + "',RECALLNAME = '"
- // + getReCallName() + "',CASELEVEL = " + getLevel() + ",DEPT = " + getDept() + " WHERE CASEID = " + getCaseID();
- // return SqlStmt;
- //}
+ // String SqlStmt;
+ //{
- public String getTpclid()
- {
- return tpclid;
- }
-
- public void setTpclid(String m_tpclid)
- {
- tpclid = m_tpclid;
- }
+ //public String getUpdateSqlStmt()
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Object/LocateEquipment.cs b/CCSTrace/CCS/Object/LocateEquipment.cs
index f3172c3..6a42b71 100644
--- a/CCSTrace/CCS/Object/LocateEquipment.cs
+++ b/CCSTrace/CCS/Object/LocateEquipment.cs
@@ -1,12 +1,4 @@
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;
@@ -14,52 +6,49 @@
{
public class LocateEquipment
{
- private int CaseID = 0;
- private int DSUfid = -1;
- private int Fsc = 0;
- private int Ufid = 0;
- private String FDR = "";
- private String TPCLID = "";
+ private int _caseId = 0;
+ private int _dsUfid = -1;
+ private int _fsc = 0;
+ private int _ufid = 0;
+ private string _fdr = "";
+ private string _tpclid = "";
- public LocateEquipment(int m_CaseID, bool hasData,OracleConnection _Conn, OracleTransaction _Transaction)
+ public LocateEquipment(int mCaseId, bool hasData, OracleConnection conn, OracleTransaction transaction)
{
- String SqlStmt;
- OracleCommand Command = null;
+ string sqlStmt;
+ OracleCommand command = null;
OracleDataReader reader = null;
- this.setCaseID(m_CaseID);
+ SetCaseId(mCaseId);
try
{
if (hasData)
{
- SqlStmt = "SELECT DSUFID,FSC,UFID,FDR,TPCLID FROM EOS.EVENTRECORD_EX WHERE CASEID = " + m_CaseID;
+ sqlStmt = "SELECT DSUFID,FSC,UFID,FDR,TPCLID FROM EOS.EVENTRECORD_EX WHERE CASEID = " + mCaseId;
- Command = new OracleCommand(SqlStmt, _Conn, _Transaction);
- reader = Command.ExecuteReader();
+ command = new OracleCommand(sqlStmt, conn, transaction);
+ reader = command.ExecuteReader();
if (reader.Read())
{
- this.setDSUFID(Convert.ToInt32(reader["DSUFID"].ToString()));
- this.setFSC(Convert.ToInt32(reader["FSC"].ToString()));
- this.setUFID(Convert.ToInt32(reader["UFID"].ToString()));
- this.setFDR(reader["FDR"].ToString());
- this.setTPCLID(reader["TPCLID"].ToString());
+ SetDsufid(Convert.ToInt32(reader["DSUFID"].ToString()));
+ SetFsc(Convert.ToInt32(reader["FSC"].ToString()));
+ SetUfid(Convert.ToInt32(reader["UFID"].ToString()));
+ SetFdr(reader["FDR"].ToString());
+ SetTpclid(reader["TPCLID"].ToString());
}
-
-
}
else
{
- SqlStmt = "SELECT UFID FROM EOS.DISASTER_EX WHERE ISDISASTER = " + CCS.LocalVariable.isDisaster;
+ sqlStmt = "SELECT UFID FROM EOS.DISASTER_EX WHERE ISDISASTER = " + GlobalVariable.IsDisaster;
- Command = new OracleCommand(SqlStmt, _Conn, _Transaction);
- reader = Command.ExecuteReader();
+ command = new OracleCommand(sqlStmt, conn, transaction);
+ reader = command.ExecuteReader();
if (reader.Read())
- this.setDSUFID(Convert.ToInt32(reader["UFID"].ToString()));
+ SetDsufid(Convert.ToInt32(reader["UFID"].ToString()));
}
-
}
catch (Exception e)
{
@@ -67,79 +56,79 @@
Console.WriteLine(e.StackTrace);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- public int getCaseID()
+ public int GetCaseId()
{
- return this.CaseID;
+ return _caseId;
}
- public void setCaseID(int m_CaseID)
+ public void SetCaseId(int mCaseId)
{
- this.CaseID = m_CaseID;
+ _caseId = mCaseId;
}
- public int getDSUFID()
+ public int GetDsufid()
{
- return this.DSUfid;
+ return _dsUfid;
}
- public void setDSUFID(int m_DSUfid)
+ public void SetDsufid(int mDsUfid)
{
- this.DSUfid = m_DSUfid;
+ _dsUfid = mDsUfid;
}
- public int getFSC()
+ public int GetFsc()
{
- return this.Fsc;
+ return _fsc;
}
- public void setFSC(int m_FSC)
+ public void SetFsc(int mFsc)
{
- this.Fsc = m_FSC;
+ _fsc = mFsc;
}
- public int getUFID()
+ public int GetUfid()
{
- return this.Ufid;
+ return _ufid;
}
- public void setUFID(int m_UFID)
+ public void SetUfid(int mUfid)
{
- this.Ufid = m_UFID;
+ _ufid = mUfid;
}
- public String getFDR()
+ public string GetFdr()
{
- return this.FDR;
+ return _fdr;
}
- public void setFDR(String m_FDR)
+ public void SetFdr(string mFdr)
{
- this.FDR = m_FDR;
+ _fdr = mFdr;
}
- public String getTPCLID()
+ public string GetTpclid()
{
- return this.TPCLID;
+ return _tpclid;
}
- public void setTPCLID(String m_TPCLID)
+ public void SetTpclid(string mTpclid)
{
- this.TPCLID = m_TPCLID;
+ _tpclid = mTpclid;
}
- public String getSqlStmt()
+ public string GetSqlStmt()
{
- String SqlStmt;
+ string sqlStmt;
- SqlStmt = "INSERT INTO EOS.EVENTRECORD_EX (CASEID,DSUFID,FSC,UFID,TPCLID,FDR) VALUES(" + getCaseID() + "," + getDSUFID() + "," + getFSC()
- + "," + getUFID() + ",'" + getTPCLID() + "','" + getFDR() + "')";
- return SqlStmt;
+ sqlStmt = "INSERT INTO EOS.EVENTRECORD_EX (CASEID,DSUFID,FSC,UFID,TPCLID,FDR) VALUES(" + GetCaseId() + "," + GetDsufid() + "," + GetFsc()
+ + "," + GetUfid() + ",'" + GetTpclid() + "','" + GetFdr() + "')";
+ return sqlStmt;
}
//public String getUpdateSqlStmt()
@@ -152,4 +141,4 @@
// return SqlStmt;
//}
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/Object/NumberContrast.cs b/CCSTrace/CCS/Object/NumberContrast.cs
index c306a54..9265da4 100644
--- a/CCSTrace/CCS/Object/NumberContrast.cs
+++ b/CCSTrace/CCS/Object/NumberContrast.cs
@@ -1,12 +1,4 @@
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;
@@ -14,99 +6,99 @@
{
public class NumberContrast
{
- private String CCSID;
- private String AcceptNum;
- private int CaseID;
+ private string _ccsid;
+ private string _acceptNum;
+ private int _caseId;
public NumberContrast()
{
}
- public void setCCSID(String m_CCSID)
+ public void SetCcsid(string mCcsid)
{
- this.CCSID = m_CCSID;
+ _ccsid = mCcsid;
}
- public String getCCSID()
+ public string GetCcsid()
{
- return this.CCSID;
+ return _ccsid;
}
- public void setAcceptNum(String m_AcceptNum)
+ public void SetAcceptNum(string mAcceptNum)
{
- this.AcceptNum = m_AcceptNum;
+ _acceptNum = mAcceptNum;
}
- public String getAcceptNum()
+ public string GetAcceptNum()
{
- return this.AcceptNum;
+ return _acceptNum;
}
- public void setCaseID(int m_CaseID)
+ public void SetCaseId(int mCaseId)
{
- this.CaseID = m_CaseID;
+ _caseId = mCaseId;
}
- public int getCaseID()
+ public int GetCaseId()
{
- return this.CaseID;
+ return _caseId;
}
- public bool Insert(OracleConnection _Conn,OracleTransaction _Transaction)
+ public bool Insert(OracleConnection conn, OracleTransaction transaction)
{
- String SqlStmt;
+ string sqlStmt;
if (!Check())
{
return false;
}
- SqlStmt = "INSERT INTO CCS.NUM_CONTRAST (CCSID,ACCEPTNUM,CASEID) VALUES ('" + CCSID + "','" + AcceptNum + "'," + CaseID + ")";
+ sqlStmt = "INSERT INTO CCS.NUM_CONTRAST (CCSID,ACCEPTNUM,CASEID) VALUES ('" + _ccsid + "','" + _acceptNum + "'," + _caseId + ")";
- OracleCommand Command = new OracleCommand(SqlStmt, _Conn, _Transaction);
+ OracleCommand command = new OracleCommand(sqlStmt, conn, transaction);
- if (Command.ExecuteNonQuery() > 0)
+ if (command.ExecuteNonQuery() > 0)
{
- Command.Dispose();
+ command.Dispose();
return true;
}
- Command.Dispose();
+ command.Dispose();
return false;
}
- public bool Update(OracleConnection _Conn,OracleTransaction _Transaction)
+ public bool Update(OracleConnection conn, OracleTransaction transaction)
{
if (!Check())
{
return false;
}
- String SqlStmt = "UPDATE CCS.NUM_CONTRAST SET ACCEPTNUM='" + this.AcceptNum + "',CASEID=" + this.CaseID + " WHERE CCSID='" + this.CCSID + "'";
+ string sqlStmt = "UPDATE CCS.NUM_CONTRAST SET ACCEPTNUM='" + _acceptNum + "',CASEID=" + _caseId + " WHERE CCSID='" + _ccsid + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _Conn, _Transaction);
+ OracleCommand command = new OracleCommand(sqlStmt, conn, transaction);
- if (Command.ExecuteNonQuery() <= 0)
+ if (command.ExecuteNonQuery() <= 0)
{
- Command.Dispose();
+ command.Dispose();
return false;
}
- Command.Dispose();
+ command.Dispose();
return true;
}
private bool Check()
{
- if (this.CCSID == null)
+ if (_ccsid == null)
return false;
- if (this.AcceptNum == null)
+ if (_acceptNum == null)
return false;
- if (CaseID == 0)
+ if (_caseId == 0)
return false;
return true;
}
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/ProcessEvent.cs b/CCSTrace/CCS/ProcessEvent.cs
index d291fed..eb3c519 100644
--- a/CCSTrace/CCS/ProcessEvent.cs
+++ b/CCSTrace/CCS/ProcessEvent.cs
@@ -1,306 +1,316 @@
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 System.Text;
+using CCSTrace.CCS.Domain;
+using CCSTrace.CCS.Function;
+using CCSTrace.CCS.Object;
+using NLog;
namespace CCSTrace.CCS
{
public delegate void ThreadEndEventHandler(object sender, ThreadEndEvent e);
-
- public class ProcessEvent
+
+ public class ProcessEvent
{
- public event ThreadEndEventHandler ThreadFinish;
+ private static Logger logger = LogManager.GetCurrentClassLogger();
- private CCS.Object.EventRecord m_EventRecord;
- private CCS.Object.CCSRecord m_CCSRecord;
- private RecordLog _PLog;
- private OracleConnection _ConnectionTPC;
- private OracleTransaction _Trx;
- private String _traceConnectionString = String.Empty;
+ private readonly OracleConnection _connectionTpc;
+ private readonly CcsRecord _mCcsRecord;
- public ProcessEvent(Object.CCSRecord _Record, OracleConnection _Conn, String _traceConnection)
+ private EventRecord _mEventRecord;
+ private readonly RecordLog _pLog;
+ private readonly string _traceConnectionString = string.Empty;
+ private OracleTransaction _trx;
+
+ public ProcessEvent(CcsRecord record, OracleConnection conn, string traceConnection)
{
- m_CCSRecord = _Record;
- _ConnectionTPC = _Conn;
- _traceConnectionString = _traceConnection;
- _PLog = new RecordLog(CCS.LocalVariable.CCS_ListPath + _Record.getCCSID() + ".txt");
+ _mCcsRecord = record;
+ _connectionTpc = conn;
+ _traceConnectionString = traceConnection;
+ _pLog = new RecordLog(GlobalVariable.CcsListPath + record.CcsId + ".txt");
}
+
+ public event ThreadEndEventHandler ThreadFinish;
public void Run()
{
- bool SendMail = false;
-
+ var sendMail = false;
+
try
{
- int FDRID = getFDRID(m_CCSRecord.getMeter());
+ var fdrid = GetFdrid(_mCcsRecord.Meter);
- if (FDRID != 0) //有饋線代號資料的案件才需比對同饋線上有無案件正在處理
+ if (fdrid != 0) //有饋線代號資料的案件才需比對同饋線上有無案件正在處理
{
- if (CCSMain.ProcessFDR.ContainsKey(FDRID.ToString()))
+ if (CcsMain.ProcessFdr.ContainsKey(fdrid.ToString()))
{
- CCSMain.WaitingCases.Add(new String[] { m_CCSRecord.getCCSID(), FDRID.ToString() });
+ CcsMain.WaitingCases.Add(new[] {_mCcsRecord.CcsId, fdrid.ToString()});
return;
}
else
- CCSMain.ProcessFDR.Add(FDRID.ToString(), null); //將要處理的案件的饋線別加入處理中饋線集合
+ CcsMain.ProcessFdr.Add(fdrid.ToString(), null); //將要處理的案件的饋線別加入處理中饋線集合
}
-/* int TraceCount = this.getTraceCount(m_CCSRecord.getCCSID());
- bool TraceError = false; //追蹤次數超過3次,改為非A類不追蹤合併
+ /* int TraceCount = this.getTraceCount(m_CCSRecord.CcsId);
+ bool TraceError = false; //追蹤次數超過3次,改為非A類不追蹤合併
- switch (TraceCount)
- {
- case 0:
- UpdateTraceCount(m_CCSRecord.getCCSID(),true);
- TraceError = false;
- break;
- case 2:
- UpdateTraceCount(m_CCSRecord.getCCSID(),false);
- TraceError = true;
- break;
- default:
- UpdateTraceCount(m_CCSRecord.getCCSID(),false);
- TraceError = false;
- break;
- }
-*/
- if (this.initialEventRecord(m_CCSRecord.getCCSID()))
- {
- CCS.Function.Leach m_Leach = new CCS.Function.Leach(_ConnectionTPC, _Trx, _traceConnectionString, _PLog); // 案件過濾與合併
- _PLog.Info("過濾案件...");
- int Return_Status = m_Leach.LeachCase(m_EventRecord);
+ switch (TraceCount)
+ {
+ case 0:
+ UpdateTraceCount(m_CCSRecord.CcsId,true);
+ TraceError = false;
+ break;
- switch ( Return_Status )
+ case 2:
+ UpdateTraceCount(m_CCSRecord.CcsId,false);
+ TraceError = true;
+ break;
+
+ default:
+ UpdateTraceCount(m_CCSRecord.CcsId,false);
+ TraceError = false;
+ break;
+ }
+ */
+ if (InitialEventRecord(_mCcsRecord.CcsId))
+ {
+ var mLeach = new Leach(_connectionTpc, _trx, _traceConnectionString, _pLog); // 案件過濾與合併
+ _pLog.Info("過濾案件...");
+ var returnStatus = mLeach.LeachCase(_mEventRecord);
+
+ switch (returnStatus)
{
- case CCS.LocalVariable.Success:
- _PLog.Info("案件過濾完畢....");
- Process(CCS.LocalVariable.Success);
+ case GlobalVariable.Success:
+ _pLog.Info("案件過濾完畢....");
+ Process(GlobalVariable.Success);
break;
- case CCS.LocalVariable.NoMeter:
- _PLog.Info("案件過濾完畢,用戶無電號....");
- m_EventRecord.setTrace_Finish(CCS.LocalVariable.Trace_Finish);
- Process(CCS.LocalVariable.NoMeter);
+
+ case GlobalVariable.NoMeter:
+ _pLog.Info("案件過濾完畢,用戶無電號....");
+ _mEventRecord.TraceFinish = GlobalVariable.TraceFinish;
+ Process(GlobalVariable.NoMeter);
break;
- case CCS.LocalVariable.SameCustomer:
- _PLog.Info("相同用戶重複來電....");
- processSameCustomer(this.m_CCSRecord, this.m_EventRecord);
+
+ case GlobalVariable.SameCustomer:
+ _pLog.Info("相同用戶重複來電....");
+ ProcessSameCustomer(_mCcsRecord, _mEventRecord);
break;
- case CCS.LocalVariable.NoSupplyElc:
- _PLog.Warn("該饋線未供電,無法作事故案件追蹤合併....");
- m_EventRecord.setTrace_Finish(CCS.LocalVariable.Trace_Finish);
- Process(CCS.LocalVariable.NoMeter);
+
+ case GlobalVariable.NoSupplyElc:
+ _pLog.Warn("該饋線未供電,無法作事故案件追蹤合併....");
+ _mEventRecord.TraceFinish = GlobalVariable.TraceFinish;
+ Process(GlobalVariable.NoMeter);
break;
- case CCS.LocalVariable.No_Sxfmr:
- _PLog.Warn("該案件無變壓器....");
- m_EventRecord.setTrace_Finish(CCS.LocalVariable.Trace_Finish);
- Process(CCS.LocalVariable.NoMeter);
+
+ case GlobalVariable.NoSxfmr:
+ _pLog.Warn("該案件無變壓器....");
+ _mEventRecord.TraceFinish = GlobalVariable.TraceFinish;
+ Process(GlobalVariable.NoMeter);
break;
- case CCS.LocalVariable.CaseTypeChanged:
- _PLog.Info("變更案件狀態....");
- Process(CCS.LocalVariable.CaseTypeChanged);
+
+ case GlobalVariable.CaseTypeChanged:
+ _pLog.Info("變更案件狀態....");
+ Process(GlobalVariable.CaseTypeChanged);
break;
- case CCS.LocalVariable.Trace_Failure:
- _PLog.Error("故障追蹤錯誤,以一般無電號案件方式受理....");
- m_EventRecord.setTrace_Finish(CCS.LocalVariable.Trace_Finish);
- Process(CCS.LocalVariable.NoMeter);
+
+ case GlobalVariable.TraceFailure:
+ _pLog.Error("故障追蹤錯誤,以一般無電號案件方式受理....");
+ _mEventRecord.TraceFinish = GlobalVariable.TraceFinish;
+ Process(GlobalVariable.NoMeter);
break;
+
default:
- int TraceCount = this.getTraceCount(m_CCSRecord.getCCSID());
+ var traceCount = GetTraceCount(_mCcsRecord.CcsId);
- if ( TraceCount < 2 )
+ if (traceCount < 2)
{
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ if (_trx.Connection.State.ToString().Equals("Open"))
+ _trx.Rollback();
- _Trx.Dispose();
+ _trx.Dispose();
- if (Return_Status == CCS.LocalVariable.CaseTransfer)
- _PLog.Error("案件已移轉,此事故案件暫不被受理....");
- else if (Return_Status == CCS.LocalVariable.Failure_By_DB)
- _PLog.Error("資料庫錯誤,此事故案件暫不被受理....");
- else if (Return_Status == CCS.LocalVariable.FDRLocked)
- _PLog.Error("饋線被鎖定,此事故案件暫不被受理....");
+ if (returnStatus == GlobalVariable.CaseTransfer)
+ _pLog.Error("案件已移轉,此事故案件暫不被受理....");
+ else if (returnStatus == GlobalVariable.FailureByDb)
+ _pLog.Error("資料庫錯誤,此事故案件暫不被受理....");
+ else if (returnStatus == GlobalVariable.FdrLocked)
+ _pLog.Error("饋線被鎖定,此事故案件暫不被受理....");
else
- _PLog.Error("發生非預期錯誤,此事故案件暫不被受理....");
+ _pLog.Error("發生非預期錯誤,此事故案件暫不被受理....");
- if (TraceCount == 0)
- UpdateTraceCount(m_CCSRecord.getCCSID(), true);
+ if (traceCount == 0)
+ UpdateTraceCount(_mCcsRecord.CcsId, true);
else
- UpdateTraceCount(m_CCSRecord.getCCSID(), false);
-
+ UpdateTraceCount(_mCcsRecord.CcsId, false);
}
else
{
- UpdateTraceCount(m_CCSRecord.getCCSID(), false);
- if (Return_Status == CCS.LocalVariable.Trace_Counts_3)
- m_EventRecord.setNote(m_EventRecord.getNote() + "(本案用戶供電資料追蹤失敗)");
+ UpdateTraceCount(_mCcsRecord.CcsId, false);
+ if (returnStatus == GlobalVariable.TraceCounts3)
+ _mEventRecord.Note = _mEventRecord.Note+ "(本案用戶供電資料追蹤失敗)";
- _PLog.Error("事故案件處理次數3次,仍無法正常處理,以一般無電號案件方式受理....");
- m_EventRecord.setTrace_Finish(CCS.LocalVariable.Trace_Finish);
- Process(CCS.LocalVariable.NoMeter);
- SendMail = true;
+ _pLog.Error("事故案件處理次數3次,仍無法正常處理,以一般無電號案件方式受理....");
+ _mEventRecord.TraceFinish = GlobalVariable.TraceFinish;
+ Process(GlobalVariable.NoMeter);
+ sendMail = true;
}
break;
-/* switch (TraceCount)
- {
- case 0:
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ /* switch (TraceCount)
+ {
+ case 0:
+ if (_Trx.Connection.State.ToString().Equals("Open"))
+ _Trx.Rollback();
- _Trx.Dispose();
+ _Trx.Dispose();
- if ( Return_Status == CCS.LocalVariable.CaseTransfer )
- _PLog.Error("案件已移轉,此事故案件不被受理....");
- else if ( Return_Status == CCS.LocalVariable.Failure_By_DB )
- _PLog.Error("資料庫錯誤,此事故案件不被受理....");
- else if ( Return_Status == CCS.LocalVariable.FDRLocked )
- _PLog.Error("饋線被鎖定,此事故案件不被受理....");
- else
- _PLog.Error("此事故案件不被受理....");
-
+ if ( Return_Status == CCS.GlobalVariable.CaseTransfer )
+ _PLog.Error("案件已移轉,此事故案件不被受理....");
+ else if ( Return_Status == CCS.GlobalVariable.Failure_By_DB )
+ _PLog.Error("資料庫錯誤,此事故案件不被受理....");
+ else if ( Return_Status == CCS.GlobalVariable.FDRLocked )
+ _PLog.Error("饋線被鎖定,此事故案件不被受理....");
+ else
+ _PLog.Error("此事故案件不被受理....");
- UpdateTraceCount(m_CCSRecord.getCCSID(), true);
- break;
- case 1:
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ UpdateTraceCount(m_CCSRecord.CcsId, true);
+ break;
- _Trx.Dispose();
+ case 1:
+ if (_Trx.Connection.State.ToString().Equals("Open"))
+ _Trx.Rollback();
- UpdateTraceCount(m_CCSRecord.getCCSID(), false);
+ _Trx.Dispose();
- break;
- default://追蹤次數超過3次,改為非A類不追蹤合併
- UpdateTraceCount(m_CCSRecord.getCCSID(), false);
- if (Return_Status == CCS.LocalVariable.Trace_Counts_3)
- m_EventRecord.setNote(m_EventRecord.getNote() + "(本案用戶供電資料追蹤失敗)");
+ UpdateTraceCount(m_CCSRecord.CcsId, false);
- _PLog.Error("追蹤次數3次,無法追蹤到故障設備,以一般無電號案件方式受理....");
- m_EventRecord.setTrace_Finish(CCS.LocalVariable.Trace_Finish);
- Process(CCS.LocalVariable.NoMeter);
- SendMail = true;
- break;
- }
+ break;
- break;
- case CCS.LocalVariable.CaseTransfer:
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ default://追蹤次數超過3次,改為非A類不追蹤合併
+ UpdateTraceCount(m_CCSRecord.CcsId, false);
+ if (Return_Status == CCS.GlobalVariable.Trace_Counts_3)
+ m_EventRecord.setNote(m_EventRecord.getNote() + "(本案用戶供電資料追蹤失敗)");
- _Trx.Dispose();
- _PLog.Error("案件已移轉,此事故案件不被受理....");
- break;
- case CCS.LocalVariable.FDRLocked:
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ _PLog.Error("追蹤次數3次,無法追蹤到故障設備,以一般無電號案件方式受理....");
+ m_EventRecord.setTrace_Finish(CCS.GlobalVariable.Trace_Finish);
+ Process(CCS.GlobalVariable.NoMeter);
+ SendMail = true;
+ break;
+ }
- _Trx.Dispose();
- _PLog.Error("饋線被鎖定,此事故案件不被受理....");
- break;
- case CCS.LocalVariable.Failure_By_DB:
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ break;
- _Trx.Dispose();
- _PLog.Error("資料庫錯誤,此事故案件不被受理....");
- break;
- default:
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ case CCS.GlobalVariable.CaseTransfer:
+ if (_Trx.Connection.State.ToString().Equals("Open"))
+ _Trx.Rollback();
- _Trx.Dispose();
- _PLog.Error("此事故案件不被受理....");
- break;
-*/
+ _Trx.Dispose();
+ _PLog.Error("案件已移轉,此事故案件不被受理....");
+ break;
+
+ case CCS.GlobalVariable.FDRLocked:
+ if (_Trx.Connection.State.ToString().Equals("Open"))
+ _Trx.Rollback();
+
+ _Trx.Dispose();
+ _PLog.Error("饋線被鎖定,此事故案件不被受理....");
+ break;
+
+ case CCS.GlobalVariable.Failure_By_DB:
+ if (_Trx.Connection.State.ToString().Equals("Open"))
+ _Trx.Rollback();
+
+ _Trx.Dispose();
+ _PLog.Error("資料庫錯誤,此事故案件不被受理....");
+ break;
+
+ default:
+ if (_Trx.Connection.State.ToString().Equals("Open"))
+ _Trx.Rollback();
+
+ _Trx.Dispose();
+ _PLog.Error("此事故案件不被受理....");
+ break;
+ */
}
}
- if ( FDRID != 0 )
- CCSMain.ProcessFDR.Remove(FDRID.ToString());//將處理完的案件的饋線別從處理中饋線集合中移除
+ if (fdrid != 0)
+ CcsMain.ProcessFdr.Remove(fdrid.ToString()); //將處理完的案件的饋線別從處理中饋線集合中移除
}
catch (Exception e)
{
- Console.WriteLine("Error = " + e.Message + ". CCSID = " + m_CCSRecord.getCCSID());
- _PLog.Error("Error = " + e.Message + ". CCSID = " + m_CCSRecord.getCCSID());
+ Console.WriteLine("Error = " + e.Message + ". CCSID = " + _mCcsRecord.CcsId);
+ _pLog.Error("Error = " + e.Message + ". CCSID = " + _mCcsRecord.CcsId);
- if (_Trx != null)
+ if (_trx != null)
{
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ if (_trx.Connection.State.ToString().Equals("Open"))
+ _trx.Rollback();
- _Trx.Dispose();
+ _trx.Dispose();
}
- if ( m_EventRecord!= null && m_EventRecord.getFdrID() != 0)
- CCSMain.ProcessFDR.Remove(m_EventRecord.getFdrID().ToString());//將處理完的案件的饋線別從處理中饋線集合中移除
+ if (_mEventRecord != null && _mEventRecord.FdrId!= 0)
+ CcsMain.ProcessFdr.Remove(_mEventRecord.FdrId.ToString()); //將處理完的案件的饋線別從處理中饋線集合中移除
//throw e;
}
finally
{
- _PLog.Close();
- CCSMain.ProcessCases.Remove(m_CCSRecord.getCCSID());
- this.OnThreadFinish(new ThreadEndEvent(_ConnectionTPC));
+ _pLog.Close();
+ CcsMain.ProcessCases.Remove(_mCcsRecord.CcsId);
+ OnThreadFinish(new ThreadEndEvent(_connectionTpc));
}
- if ( SendMail )
- new CCS.Function.MailService(_ConnectionTPC).SendMail(m_CCSRecord.getCCSID());
-
+ if (sendMail)
+ new MailService(_connectionTpc).SendMail(_mCcsRecord.CcsId);
}
- private void Process(int Kind)
+ private void Process(int kind)
{
- CCS.FinishEvent FinishEvent = new CCS.FinishEvent();
+ var finishEvent = new FinishEvent();
try
{
- if (FinishEvent.Finish(Kind, m_EventRecord, _ConnectionTPC, _Trx, _PLog))
+ if (finishEvent.Finish(kind, _mEventRecord, _connectionTpc, _trx, _pLog))
{
- _PLog.Info("OMS資料更新成功!");
- if (UpdateCCSData(m_EventRecord, m_CCSRecord, CCS.LocalVariable.WaitForDespatch))
+ _pLog.Info("OMS資料更新成功!");
+ if (UpdateCcsData(_mEventRecord, _mCcsRecord, (int) CCSCaseState.WaitForDespatch))
{
- _PLog.Info("CCS資料更新成功!");
+ _pLog.Info("CCS資料更新成功!");
}
else
{
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ if (_trx.Connection.State.ToString().Equals("Open"))
+ _trx.Rollback();
- _Trx.Dispose();
- _PLog.Error("CCS資料更新程序發生錯誤!");
+ _trx.Dispose();
+ _pLog.Error("CCS資料更新程序發生錯誤!");
return;
-
}
-
+
// 須等全部動作都正確做完才可作commit的動作
- _Trx.Commit();
- _Trx.Dispose(); ;
- CCS.Object.AlarmData alarmClient = new CCS.Object.AlarmData(_ConnectionTPC, _Trx, _PLog);
- alarmClient.alarm(m_EventRecord.getAcceptNum(), m_EventRecord.getDept());
+ _trx.Commit();
+ _trx.Dispose();
+ ;
+ var alarmClient = new AlarmData(_connectionTpc, _trx, _pLog);
+ alarmClient.Alarm(_mEventRecord.AcceptNum, _mEventRecord.Dept);
}
else
{
// 有錯誤需要RollBack
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ if (_trx.Connection.State.ToString().Equals("Open"))
+ _trx.Rollback();
- _Trx.Dispose(); ;
- _PLog.Error("OMS資料更新程序發生錯誤!");
+ _trx.Dispose();
+ ;
+ _pLog.Error("OMS資料更新程序發生錯誤!");
}
- _PLog.Info("CCS 案件受理程序結束.");
+ _pLog.Info("CCS 案件受理程序結束.");
}
catch (Exception e)
{
throw e;
}
-
}
protected virtual void OnThreadFinish(ThreadEndEvent e)
@@ -311,194 +321,192 @@
}
}
- private bool UpdateCCSData(CCS.Object.EventRecord m_Record, CCS.Object.CCSRecord m_CCSRecord, int CaseStatus)
+ private bool UpdateCcsData(EventRecord mRecord, CcsRecord mCcsRecord, int caseStatus)
{
- _PLog.Info("進行CCS資料更新程序...");
- CCS.Object.EventQuery EventQuery = new CCS.Object.EventQuery();
- int Status = CaseStatus;
+ _pLog.Info("進行CCS資料更新程序...");
+ var eventQuery = new EventQuery();
+ var status = caseStatus;
// 設定CCSID
- EventQuery.setCCSID(m_CCSRecord.getCCSID());
+ eventQuery.CcsId = mCcsRecord.CcsId;
// 設定受理時間
- EventQuery.setChangeTime(m_CCSRecord.getAcceptTime());
+ eventQuery.ChangeTime = mCcsRecord.AcceptTime;
// 設定用戶電號
- if (m_CCSRecord.getMeter() != null)
+ if (mCcsRecord.Meter != null)
{
- EventQuery.setMeter(m_CCSRecord.getMeter());
+ eventQuery.Meter = mCcsRecord.Meter;
}
// 如果該案件為子案件,需找出母案件的casestatus來insert eos.eventquery
// 若母案件已派工,需一併紀錄預計復電時間等資訊
- if (m_Record.getParentID() != 0)
+ if (mRecord.ParentId!= 0)
{
- Status = this.getRealCaseStatus(m_Record.getParentID()) == CCS.LocalVariable.WaitForSponsor ? CCS.LocalVariable.EventDespatched
- : CCS.LocalVariable.WaitForDespatch;
- if (Status == CCS.LocalVariable.EventDespatched)
+ status = GetRealCaseStatus(mRecord.ParentId) == (int) CCSCaseState.WaitForSponsor
+ ? (int) CCSCaseState.EventDespatched
+ : (int) CCSCaseState.WaitForDespatch;
+ if (status == (int) CCSCaseState.EventDespatched)
{
- setDespatchInfo(m_Record.getParentID(), EventQuery);
+ SetDespatchInfo(mRecord.ParentId, eventQuery);
}
}
// 若此案件為專案案件升級為母案件,則必須判斷原先案件是否已經派工
- if ((m_CCSRecord.getImportCase() == CCS.LocalVariable.isImportCase) && (m_Record.isDespatched()))
+ if ((mCcsRecord.ImportCase == GlobalVariable.IsImportCase) && mRecord.IsDespatched)
{
- Status = CCS.LocalVariable.EventDespatched;
- setDespatchInfo(m_Record.getCaseID(), EventQuery);
+ status = (int) CCSCaseState.EventDespatched;
+ SetDespatchInfo(mRecord.CaseId, eventQuery);
}
- EventQuery.setCaseStatus(Status);
+ eventQuery.CaseStatus = status;
// 更新CCS.EventQuery
- if (!EventQuery.Update(_PLog,_ConnectionTPC,_Trx))
+ if (!eventQuery.Update(_pLog, _connectionTpc, _trx))
{
- _PLog.Error("更新ccs.eventquery失敗!");
+ _pLog.Error("更新ccs.eventquery失敗!");
return false;
}
- else
+ _pLog.Info("更新ccs.eventquery成功!");
+ var numberContrast = new NumberContrast();
+ numberContrast.SetAcceptNum(mRecord.AcceptNum);
+ numberContrast.SetCaseId(mRecord.CaseId);
+ numberContrast.SetCcsid(mCcsRecord.CcsId);
+ // 更新CCS.Num_Contrast
+ if (!numberContrast.Update(_connectionTpc, _trx))
{
- _PLog.Info("更新ccs.eventquery成功!");
- CCS.Object.NumberContrast NumberContrast = new CCS.Object.NumberContrast();
- NumberContrast.setAcceptNum(m_Record.getAcceptNum());
- NumberContrast.setCaseID(m_Record.getCaseID());
- NumberContrast.setCCSID(m_CCSRecord.getCCSID());
- // 更新CCS.Num_Contrast
- if (!NumberContrast.Update(_ConnectionTPC,_Trx))
- {
- _PLog.Error("更新ccs.num_contrast失敗!");
- return false;
- }
- _PLog.Info("更新ccs.num_contrast成功!");
+ _pLog.Error("更新ccs.num_contrast失敗!");
+ return false;
}
+ _pLog.Info("更新ccs.num_contrast成功!");
return true;
}
- private bool initialEventRecord(String CCSID)
+ private bool InitialEventRecord(string ccsid)
{
- CCS.Function.InitialEventData InitialData = new CCS.Function.InitialEventData(_ConnectionTPC,_PLog);
- CCS.Object.NumberContrast m_Contrast = new CCS.Object.NumberContrast();
- CCS.Object.Dept_Contrast Dept_Contrast = null;
+ var initialData = new InitialEventData(_connectionTpc, _pLog);
+ var mContrast = new NumberContrast();
+ DeptContrast deptContrast = null;
// Being Transaction
- _Trx = _ConnectionTPC.BeginTransaction();
+ _trx = _connectionTpc.BeginTransaction();
- Dept_Contrast = new CCS.Object.Dept_Contrast(_ConnectionTPC, _Trx);
- m_EventRecord = new CCS.Object.EventRecord(InitialData.getNewCaseID(), _ConnectionTPC, _Trx);
- m_EventRecord.setAcceptNum(InitialData.getNewAcceptNum());
+ deptContrast = new DeptContrast(_connectionTpc, _trx);
+ _mEventRecord = new EventRecord(initialData.GetNewCaseId(), _connectionTpc, _trx);
+ _mEventRecord.AcceptNum = initialData.GetNewAcceptNum();
- m_Contrast.setAcceptNum(m_EventRecord.getAcceptNum());
- m_Contrast.setCaseID(m_EventRecord.getCaseID());
- m_Contrast.setCCSID(m_CCSRecord.getCCSID());
-
- if (!m_Contrast.Insert(_ConnectionTPC, _Trx))
+ mContrast.SetAcceptNum(_mEventRecord.AcceptNum);
+ mContrast.SetCaseId(_mEventRecord.CaseId);
+ mContrast.SetCcsid(_mCcsRecord.CcsId);
+
+ if (!mContrast.Insert(_connectionTpc, _trx))
{
- _PLog.Error("初始化寫入CCS.Num_Contrast時發生錯誤!");
+ _pLog.Error("初始化寫入CCS.Num_Contrast時發生錯誤!");
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ if (_trx.Connection.State.ToString().Equals("Open"))
+ _trx.Rollback();
return false;
}
// 設定用戶姓名
- m_EventRecord.setName(m_CCSRecord.getCustomerName());
+ _mEventRecord.Name = _mCcsRecord.CustomerName;
- if (m_CCSRecord.getMeter() != null && m_CCSRecord.getMeter().Length != 0 )
+ if (_mCcsRecord.Meter != null && _mCcsRecord.Meter.Length != 0)
{
// 需先找出部門代號,再找到該部門屬於哪一個巡修單位
- m_EventRecord.setMeter(m_CCSRecord.getMeter());
- int Tmp = Dept_Contrast.getDept_Code(m_CCSRecord.getMeter());
+ _mEventRecord.Meter = _mCcsRecord.Meter;
+ var tmp = deptContrast.getDept_Code(_mCcsRecord.Meter);
- if ( Tmp == -1 )
- m_EventRecord.setDept(findoutDeptByAddr(m_CCSRecord, _Trx));
+ if (tmp == -1)
+ _mEventRecord.Dept = FindoutDeptByAddr(_mCcsRecord, _trx);
else
- m_EventRecord.setDept(Tmp);
+ _mEventRecord.Dept = tmp;
- m_EventRecord.setFdrID(getFDRID(m_CCSRecord.getMeter()));
+ _mEventRecord.FdrId = GetFdrid(_mCcsRecord.Meter);
}
else
{
// 當無用戶電號時,所找出的部門別不需再去找出屬於哪一個巡修股(findoutDeptByAddr會直接找到相對應的巡修股)
- int Dept = this.findoutDeptByAddr(m_CCSRecord, _Trx);
- m_EventRecord.setDept(Dept);
+ var dept = FindoutDeptByAddr(_mCcsRecord, _trx);
+ _mEventRecord.Dept = dept;
}
// 設定用戶電話號碼
- if (m_CCSRecord.getCustomerTel() != null)
+ if (_mCcsRecord.CustomerTel != null)
{
- m_EventRecord.setTel(m_CCSRecord.getCustomerTel());
+ _mEventRecord.Tel = _mCcsRecord.CustomerTel;
}
// 檢查並設定用戶地址
- String m_Addr = m_CCSRecord.getADDR_City() + m_CCSRecord.getADDR_Town() + m_CCSRecord.getADDR_Road() + m_CCSRecord.getADDR_Other();
+ var mAddr = _mCcsRecord.AddressCity + _mCcsRecord.AddressTown + _mCcsRecord.AddressRoad +
+ _mCcsRecord.AddressOther;
- if (m_Addr.Trim().Length == 0)
+ if (mAddr.Trim().Length == 0)
{
- _PLog.Error("CCS 案件受理程序初始化失敗...地址為空白");
+ _pLog.Error("CCS 案件受理程序初始化失敗...地址為空白");
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback() ;
+ if (_trx.Connection.State.ToString().Equals("Open"))
+ _trx.Rollback();
return false;
}
- m_EventRecord.setAddr(m_Addr);
+ _mEventRecord.Addr = mAddr;
// 設定事故原因
- m_EventRecord.setBrief(TransferEventBrief(m_CCSRecord.getEventBrief()));
+ _mEventRecord.Brief = TransferEventBrief(_mCcsRecord.EventBrief);
try
{
- System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
- byte[] source = encoding.GetBytes(m_EventRecord.getBrief());
+ var encoding = new ASCIIEncoding();
+ var source = encoding.GetBytes(_mEventRecord.Brief);
if (source.Length > 24)
{
- byte[] dest = new byte[24];
- for (int i = 0; i < dest.Length; i++)
+ var dest = new byte[24];
+ for (var i = 0; i < dest.Length; i++)
{
dest[i] = source[i];
}
- System.Text.Encoding enc = System.Text.Encoding.ASCII;
- m_EventRecord.setBrief(enc.GetString(dest));
+ var enc = Encoding.ASCII;
+ _mEventRecord.Brief = enc.GetString(dest);
source = dest = null;
}
}
catch (Exception)
{
- m_EventRecord.setBrief("其他");
+ _mEventRecord.Brief = "其他";
}
- if (m_CCSRecord.getCCSID().StartsWith("A"))
- m_EventRecord.setLog("APP");
- else if (m_CCSRecord.getCCSID().StartsWith("W"))
- m_EventRecord.setLog("WEB");
+ if (_mCcsRecord.CcsId.StartsWith("A"))
+ _mEventRecord.Log = "APP";
+ else if (_mCcsRecord.CcsId.StartsWith("W"))
+ _mEventRecord.Log = "WEB";
else
- m_EventRecord.setLog("CCS");
-
- m_EventRecord.setAcceptDate(m_CCSRecord.getAcceptTime());
+ _mEventRecord.Log = "CCS";
+
+ _mEventRecord.AcceptDate = _mCcsRecord.AcceptTime;
// 設定用戶種類
- if (m_CCSRecord.getImportCase() == CCS.LocalVariable.isImportCase)
+ if (_mCcsRecord.ImportCase == GlobalVariable.IsImportCase)
{
- m_EventRecord.setImportCase(CCS.LocalVariable.isImportCase);
- m_EventRecord.setLevel(CCS.LocalVariable.A_Level); // default set A level
+ _mEventRecord.ImportCase = GlobalVariable.IsImportCase;
+ _mEventRecord.Level = GlobalVariable.ALevel; // default set A level
}
else
{
- m_EventRecord.setImportCase(CCS.LocalVariable.NotImportCase);
- m_EventRecord.setLevel(CCS.LocalVariable.No_Level);
+ _mEventRecord.ImportCase = GlobalVariable.NotImportCase;
+ _mEventRecord.Level = GlobalVariable.NoLevel;
}
// 檢查字串中有無特殊字元' ,若有則取代為"
- if (m_CCSRecord.getNote() != null)
- m_EventRecord.setNote(m_CCSRecord.getNote().Replace('\'', '\"'));
-
+ if (_mCcsRecord.Note != null)
+ _mEventRecord.Note = _mCcsRecord.Note.Replace('\'', '\"');
// 設定回覆姓名及電話
- if (m_CCSRecord.getRecallName() != null)
+ if (_mCcsRecord.RecallName != null)
{
- m_EventRecord.setisReCall(CCS.LocalVariable.isReCall);
- m_EventRecord.setReCallName(m_CCSRecord.getRecallName().Replace('\'', '\"'));
- m_EventRecord.setReCallTel(m_CCSRecord.getRecallTel());
+ _mEventRecord.IsReCall = GlobalVariable.IsReCall;
+ _mEventRecord.ReCallName = _mCcsRecord.RecallName.Replace('\'', '\"');
+ _mEventRecord.ReCallTel = _mCcsRecord.RecallTel;
}
else
{
- m_EventRecord.setisReCall(CCS.LocalVariable.NotReCall);
+ _mEventRecord.IsReCall = GlobalVariable.NotReCall;
}
- _PLog.Info("初始化EOS.EVENTRECORD成功!");
+ _pLog.Info("初始化EOS.EVENTRECORD成功!");
return true;
}
@@ -518,134 +526,134 @@
// return true;
//}
- private void checkCaseAlreadyExits(CCS.Object.EventQuery m_EventQuery)
+ private void CheckCaseAlreadyExits(EventQuery mEventQuery)
{
- String SqlStmt = "select ccsid from ccs.eventquery where ccsid='" + m_EventQuery.getCCSID() + "'";
+ var sqlStmt = "select ccsid from ccs.eventquery where ccsid='" + mEventQuery.CcsId + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC,_Trx);
- OracleDataReader reader = Command.ExecuteReader();
+ var command = new OracleCommand(sqlStmt, _connectionTpc, _trx);
+ var reader = command.ExecuteReader();
try
{
if (reader.Read())
{
- Command.CommandText = "delete from ccs.eventquery where ccsid='" + m_EventQuery.getCCSID() + "'";
- Command.ExecuteNonQuery();
+ command.CommandText = "delete from ccs.eventquery where ccsid='" + mEventQuery.CcsId + "'";
+ command.ExecuteNonQuery();
- Command.CommandText = "delete from ccs.num_contrast where ccsid='" + m_EventQuery.getCCSID() + "'";
- Command.ExecuteNonQuery();
+ command.CommandText = "delete from ccs.num_contrast where ccsid='" + mEventQuery.CcsId + "'";
+ command.ExecuteNonQuery();
}
}
catch (Exception ex)
{
- _PLog.Warn("Problems occur during checking process: " + ex.Message);
+ _pLog.Warn("Problems occur during checking process: " + ex.Message);
}
finally
{
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
}
- private int findoutDeptByAddr(CCS.Object.CCSRecord CCSRecord, OracleTransaction _Trx)
+ private int FindoutDeptByAddr(CcsRecord ccsRecord, OracleTransaction trx)
{
- CCS.Object.Addr_Contrast Addr_Contrast = new CCS.Object.Addr_Contrast(_ConnectionTPC, _Trx, _PLog);
- return Addr_Contrast.findDeptID(CCSRecord.getADDR_City(), CCSRecord.getADDR_Town(), CCSRecord.getADDR_Road());
+ var addrContrast = new AddrContrast(_connectionTpc, trx, _pLog);
+ return addrContrast.FindDeptId(ccsRecord.AddressCity, ccsRecord.AddressTown, ccsRecord.AddressRoad);
}
- private String TransferEventBrief(int Code)
+ private string TransferEventBrief(int code)
{
- String Result = "";
- Result = CCS.CCSMain.CCSCodelist.getContent(CCS.LocalVariable.CCSEventBrief, Code);
+ var result = "";
+ result = GlobalVariable.CcsCodelist.GetContent(GlobalVariable.CcsEventBrief, code);
-// int MaxLength = this.getFieldLength("EOS", "EVENTRECORD", "EVENTBRIEF");
+ // int MaxLength = this.getFieldLength("EOS", "EVENTRECORD", "EVENTBRIEF");
-// if ( Result.ToCharArray().Length > MaxLength )
-// Result.ToCharArray
+ // if ( Result.ToCharArray().Length > MaxLength )
+ // Result.ToCharArray
- return Result;
+ return result;
}
- private int TransferDept(String DeptCode)
+ private int TransferDept(string deptCode)
{
// 傳入部門的英文value(CONTENT),傳回相對應的keyid
- return CCS.CCSMain.CCSCodelist.getKeyID(CCS.LocalVariable.CCSDept, DeptCode);
+ return GlobalVariable.CcsCodelist.GetKeyId(GlobalVariable.CcsDept, deptCode);
}
- private int getRealCaseStatus(int ParentID)
+ private int GetRealCaseStatus(int parentId)
{
- String SqlStmt;
- int Status = CCS.LocalVariable.WaitForDespatch;
+ string sqlStmt;
+ var status = (int) CCSCaseState.WaitForDespatch;
- SqlStmt = "SELECT CASESTATUS FROM EOS.EVENTS WHERE CASEID = " + ParentID;
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Trx);
- OracleDataReader reader = Command.ExecuteReader();
-
+ sqlStmt = "SELECT CASESTATUS FROM EOS.EVENTS WHERE CASEID = " + parentId;
+ var command = new OracleCommand(sqlStmt, _connectionTpc, _trx);
+ var reader = command.ExecuteReader();
try
{
if (reader.Read())
{
- Status = Convert.ToInt32(reader["CaseStatus"].ToString());
+ status = Convert.ToInt32(reader["CaseStatus"].ToString());
}
}
catch (Exception)
{
- _PLog.Warn("無法取得正確之母案件狀態.");
+ _pLog.Warn("無法取得正確之母案件狀態.");
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
- return Status;
+ return status;
}
- private void setDespatchInfo(int m_CaseID, CCS.Object.EventQuery m_EventQry)
+ private void SetDespatchInfo(int mCaseId, EventQuery mEventQry)
{
- String SqlStmt = "select despatchtime,assumefixtime,assumedtime_nth,delaytime,reason,eventlocation from eos.eventdespatch where caseid="
- + m_CaseID;
+ var sqlStmt = "select despatchtime,assumefixtime,assumedtime_nth,delaytime,reason,eventlocation from eos.eventdespatch where caseid="
+ + mCaseId;
- OracleCommand Command = null;
+ OracleCommand command = null;
OracleDataReader reader = null;
try
{
- Command = new OracleCommand(SqlStmt, _ConnectionTPC,_Trx);
- reader = Command.ExecuteReader();
+ command = new OracleCommand(sqlStmt, _connectionTpc, _trx);
+ reader = command.ExecuteReader();
if (reader.Read())
{
- m_EventQry.setChangeTime(Convert.ToDateTime(reader["despatchtime"]).ToString("yyy/MM/dd HH:mm:ss"));
- m_EventQry.setAssumedTime(Convert.ToDateTime(reader["assumefixtime"]).ToString("yyy/MM/dd HH:mm:ss"));
- m_EventQry.setAssumedTime_Nth(Convert.ToDateTime(reader["assumedtime_nth"]).ToString("yyy/MM/dd HH:mm:ss"));
- m_EventQry.setDelayTimes(Convert.ToInt32(reader["delaytime"].ToString()));
- m_EventQry.setReason(reader["reason"].ToString());
- m_EventQry.setEventLocation(reader["eventlocation"].ToString());
+ mEventQry.ChangeTime = Convert.ToDateTime(reader["despatchtime"]).ToString("yyy/MM/dd HH:mm:ss");
+ mEventQry.AssumedTime = Convert.ToDateTime(reader["assumefixtime"]).ToString("yyy/MM/dd HH:mm:ss");
+ mEventQry.AssumedTimeNth =
+ Convert.ToDateTime(reader["assumedtime_nth"]).ToString("yyy/MM/dd HH:mm:ss");
+ mEventQry.DelayTimes = Convert.ToInt32(reader["delaytime"].ToString());
+ mEventQry.Reason = reader["reason"].ToString();
+ mEventQry.EventLocation = reader["eventlocation"].ToString();
}
}
catch (Exception)
{
- _PLog.Warn("無法取得母案件派工資訊.");
+ _pLog.Warn("無法取得母案件派工資訊.");
}
finally
{
- if (reader != null )
+ if (reader != null)
reader.Close();
- if (Command != null)
- Command.Dispose();
+ if (command != null)
+ command.Dispose();
}
}
- private void processSameCustomer(CCS.Object.CCSRecord m_CCSRecord, CCS.Object.EventRecord m_EventRec)
+ private void ProcessSameCustomer(CcsRecord mCcsRecord, EventRecord mEventRec)
{
- _PLog.Info("處理相同用戶重複來電...");
+ _pLog.Info("處理相同用戶重複來電...");
StringBuilder note = null;
- String SqlStmt = "select note from eos.eventrecord where caseid = " + m_EventRec.getTmpCaseID();
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Trx);
- OracleDataReader reader = Command.ExecuteReader();
+ var sqlStmt = "select note from eos.eventrecord where caseid = " + mEventRec.TmpCaseId;
+ var command = new OracleCommand(sqlStmt, _connectionTpc, _trx);
+ var reader = command.ExecuteReader();
try
{
@@ -658,27 +666,26 @@
Console.WriteLine(e.StackTrace);
}
finally
- {
+ {
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
- if ((!note.ToString().EndsWith("|")) && (!note.ToString().Trim().Equals("")))
+ if (!note.ToString().EndsWith("|") && !note.ToString().Trim().Equals(""))
note.Append(" | ");
- if ((m_EventRec.getNote() != null) && (m_EventRec.getNote().Length != 0))
- note.Append(m_EventRec.getAcceptDate() + " " + m_EventRec.getNote());
+ if ((mEventRec.Note!= null) && (mEventRec.Note.Length != 0))
+ note.Append(mEventRec.AcceptDate+ " " + mEventRec.Note);
else
- note.Append(m_EventRec.getAcceptDate() + " 用戶再次報案");
-
+ note.Append(mEventRec.AcceptDate+ " 用戶再次報案");
// 判斷重複來電的用戶最初成立的案件是否是由CCS受理
- bool acceptByCCS = false;
+ var acceptByCcs = false;
- String SqlStmt1 = "select count(*) as count from ccs.num_contrast c,ccs.eventquery q where c.ccsid=q.ccsid and caseid="
- + m_EventRec.getTmpCaseID();
- OracleCommand Command1 = new OracleCommand(SqlStmt1, _ConnectionTPC,_Trx);
- OracleDataReader reader1 = Command1.ExecuteReader();
+ var sqlStmt1 = "select count(*) as count from ccs.num_contrast c,ccs.eventquery q where c.ccsid=q.ccsid and caseid="
+ + mEventRec.TmpCaseId;
+ var command1 = new OracleCommand(sqlStmt1, _connectionTpc, _trx);
+ var reader1 = command1.ExecuteReader();
try
{
@@ -686,7 +693,7 @@
{
if (Convert.ToInt32(reader1["count"].ToString()) != 0)
{
- acceptByCCS = true;
+ acceptByCcs = true;
}
}
}
@@ -696,36 +703,43 @@
finally
{
reader1.Close();
- Command1.Dispose();
+ command1.Dispose();
}
- String updCCSEventQuery = null;
+ string updCcsEventQuery = null;
// 若先前案件由CCS受理,則直接從ccs.eventquery取出先前的案件狀態資料寫入
- if (acceptByCCS)
+ if (acceptByCcs)
{
- updCCSEventQuery = "update ccs.eventquery set (casestatus,changetime,handlingsummary,assumedtime,assumedtime_nth,delaytimes,reason,eventlocation) = (select casestatus,changetime,handlingsummary,assumedtime,assumedtime_nth,delaytimes,reason,eventlocation from ccs.eventquery where ccsid=(select ccsid from ccs.num_contrast where caseid="
- + m_EventRec.getTmpCaseID() + " and rownum<2)) where CCSID='" + m_CCSRecord.getCCSID() + "'";
+ updCcsEventQuery = "update ccs.eventquery set (casestatus,changetime,handlingsummary,assumedtime,assumedtime_nth,delaytimes,reason,eventlocation) = (select casestatus,changetime,handlingsummary,assumedtime,assumedtime_nth,delaytimes,reason,eventlocation from ccs.eventquery where ccsid=(select ccsid from ccs.num_contrast where caseid="
+ + mEventRec.TmpCaseId+ " and rownum<2)) where CCSID='" + mCcsRecord.CcsId + "'";
// 若非由CCS受理(OMS,Web)則從EOS的table中尋找先前案件的狀態資料
}
else
{
- String accepttime = null, despatchtime = null, sponsortime = null, assumefixtime = null, assumedtime_nth = null, changetime = null, handling = null, reason = null, eventlocation = null;
+ string accepttime = null,
+ despatchtime = null,
+ sponsortime = null,
+ assumefixtime = null,
+ assumedtimeNth = null,
+ changetime = null,
+ handling = null,
+ reason = null,
+ eventlocation = null;
int casestatus = 0, delaytime = 0;
- OracleCommand Command2 = null;
+ OracleCommand command2 = null;
OracleDataReader reader2 = null;
try
{
+ var sqlStmt2 = "select 1,to_char(r.accepttime,'YYYY/MM/DD HH24:MI:SS') as ACCEPTTIME,to_char(d.despatchtime,'YYYY/MM/DD HH24:MI:SS') as DESPATCHTIME,to_char(s.reconditiontime,'YYYY/MM/DD HH24:MI:SS')SPONSORTIME,e.casestatus,s.handling,to_char(d.assumefixtime,'YYYY/MM/DD HH24:MI:SS') as assumefixtime,to_char(d.assumedtime_nth,'YYYY/MM/DD HH24:MI:SS') as assumedtime_nth,d.delaytime,d.reason,d.eventlocation from eos.eventrecord r,eos.events e,eos.eventdespatch d,eos.eventsponsor s where (r.caseid=e.caseid) and (r.caseid=d.caseid(+)) and (r.caseid=s.caseid(+)) and r.caseid="
+ + mEventRec.TmpCaseId + " union "
+ +
+ "select 2,to_char(r.accepttime,'YYYY/MM/DD HH24:MI:SS') as ACCEPTTIME,to_char(d.despatchtime,'YYYY/MM/DD HH24:MI:SS') as DESPATCHTIME,to_char(s.reconditiontime,'YYYY/MM/DD HH24:MI:SS')SPONSORTIME,e.casestatus,s.handling,to_char(d.assumefixtime,'YYYY/MM/DD HH24:MI:SS') as assumefixtime,to_char(d.assumedtime_nth,'YYYY/MM/DD HH24:MI:SS') as assumedtime_nth,d.delaytime,d.reason,d.eventlocation from eos.eventrecord r,eos.events e,eos.eventdespatch d,eos.eventsponsor s where (r.caseid=e.caseid) and (r.caseid=d.caseid(+)) and (r.caseid=s.caseid(+)) and r.caseid= (select parentid from eos.mergecase where caseid="
+ + mEventRec.TmpCaseId+ ")";
- String SqlStmt2 = "select 1,to_char(r.accepttime,'YYYY/MM/DD HH24:MI:SS') as ACCEPTTIME,to_char(d.despatchtime,'YYYY/MM/DD HH24:MI:SS') as DESPATCHTIME,to_char(s.reconditiontime,'YYYY/MM/DD HH24:MI:SS')SPONSORTIME,e.casestatus,s.handling,to_char(d.assumefixtime,'YYYY/MM/DD HH24:MI:SS') as assumefixtime,to_char(d.assumedtime_nth,'YYYY/MM/DD HH24:MI:SS') as assumedtime_nth,d.delaytime,d.reason,d.eventlocation from eos.eventrecord r,eos.events e,eos.eventdespatch d,eos.eventsponsor s where (r.caseid=e.caseid) and (r.caseid=d.caseid(+)) and (r.caseid=s.caseid(+)) and r.caseid="
- + m_EventRec.getTmpCaseID()
- + " union "
- + "select 2,to_char(r.accepttime,'YYYY/MM/DD HH24:MI:SS') as ACCEPTTIME,to_char(d.despatchtime,'YYYY/MM/DD HH24:MI:SS') as DESPATCHTIME,to_char(s.reconditiontime,'YYYY/MM/DD HH24:MI:SS')SPONSORTIME,e.casestatus,s.handling,to_char(d.assumefixtime,'YYYY/MM/DD HH24:MI:SS') as assumefixtime,to_char(d.assumedtime_nth,'YYYY/MM/DD HH24:MI:SS') as assumedtime_nth,d.delaytime,d.reason,d.eventlocation from eos.eventrecord r,eos.events e,eos.eventdespatch d,eos.eventsponsor s where (r.caseid=e.caseid) and (r.caseid=d.caseid(+)) and (r.caseid=s.caseid(+)) and r.caseid= (select parentid from eos.mergecase where caseid="
- + m_EventRec.getTmpCaseID() + ")";
-
- Command2 = new OracleCommand(SqlStmt2, _ConnectionTPC, _Trx);
- reader2 = Command2.ExecuteReader();
+ command2 = new OracleCommand(sqlStmt2, _connectionTpc, _trx);
+ reader2 = command2.ExecuteReader();
while (reader2.Read())
{
@@ -733,11 +747,13 @@
despatchtime = reader2["DESPATCHTIME"].ToString();
sponsortime = reader2["SPONSORTIME"].ToString();
assumefixtime = reader2["ASSUMEFIXTIME"] == null ? "" : reader2["ASSUMEFIXTIME"].ToString();
- assumedtime_nth = reader2["ASSUMEDTIME_NTH"] == null ? "" : reader2["ASSUMEDTIME_NTH"].ToString();
+ assumedtimeNth = reader2["ASSUMEDTIME_NTH"] == null ? "" : reader2["ASSUMEDTIME_NTH"].ToString();
handling = reader2["HANDLING"] == null ? "" : reader2["HANDLING"].ToString();
reason = reader2["REASON"] == null ? "" : reader2["REASON"].ToString();
casestatus = Convert.ToInt32(reader2["CASESTATUS"].ToString());
- delaytime = reader2["DELAYTIME"].ToString().Length == 0 ? 0 : Convert.ToInt32(reader2["DELAYTIME"].ToString());
+ delaytime = reader2["DELAYTIME"].ToString().Length == 0
+ ? 0
+ : Convert.ToInt32(reader2["DELAYTIME"].ToString());
eventlocation = reader2["EVENTLOCATION"] == null ? "" : reader2["EVENTLOCATION"].ToString();
}
@@ -745,99 +761,104 @@
{
changetime = accepttime;
}
- if (despatchtime != null && despatchtime.Length != 0)
+ if (!string.IsNullOrEmpty(despatchtime))
{
changetime = despatchtime;
}
- if (sponsortime != null && sponsortime.Length != 0)
+ if (!string.IsNullOrEmpty(sponsortime))
{
changetime = sponsortime;
}
- updCCSEventQuery = "update ccs.eventquery set casestatus=" + casestatus + ",changetime=to_date('" + changetime
- + "','YYYY/MM/DD HH24:MI:SS'),handlingsummary='" + handling + "',assumedtime=to_date('" + assumefixtime
- + "','YYYY/MM/DD HH24:MI:SS'),assumedtime_nth=to_date('" + assumedtime_nth + "','YYYY/MM/DD HH24:MI:SS'),delaytimes="
- + delaytime + ",reason='" + reason + "',eventlocation='" + eventlocation + "' where ccsid='" + m_CCSRecord.getCCSID() + "'";
+ updCcsEventQuery = "update ccs.eventquery set casestatus=" + casestatus + ",changetime=to_date('" +
+ changetime
+ + "','YYYY/MM/DD HH24:MI:SS'),handlingsummary='" + handling +
+ "',assumedtime=to_date('" + assumefixtime
+ + "','YYYY/MM/DD HH24:MI:SS'),assumedtime_nth=to_date('" + assumedtimeNth +
+ "','YYYY/MM/DD HH24:MI:SS'),delaytimes="
+ + delaytime + ",reason='" + reason + "',eventlocation='" + eventlocation +
+ "' where ccsid='" + mCcsRecord.CcsId + "'";
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
- {
+ {
if (reader2 != null)
reader2.Close();
- if (Command2 != null)
- Command2.Dispose();
+ if (command2 != null)
+ command2.Dispose();
}
}
- String updEOSEventRecord = "update eos.eventrecord set note = '" + TrimToLimit(note.ToString(), 127)
- + "' where caseid = " + m_EventRecord.getTmpCaseID();
- String updCCSNum_Contrast = "update ccs.num_contrast set(acceptnum,caseid) = (select acceptnum," + m_EventRec.getTmpCaseID()
- + " from eos.eventrecord where caseid = " + m_EventRec.getTmpCaseID() + ") where ccsid='" + m_CCSRecord.getCCSID() + "'";
+ var updEosEventRecord = "update eos.eventrecord set note = '" + TrimToLimit(note.ToString(), 127)
+ + "' where caseid = " + _mEventRecord.TmpCaseId;
+ var updCcsNumContrast = "update ccs.num_contrast set(acceptnum,caseid) = (select acceptnum," +
+ mEventRec.TmpCaseId + " from eos.eventrecord where caseid = " + mEventRec.TmpCaseId+
+ ") where ccsid='" + mCcsRecord.CcsId + "'";
- OracleCommand ExeCommand = new OracleCommand(updCCSEventQuery, _ConnectionTPC,_Trx);
+ var exeCommand = new OracleCommand(updCcsEventQuery, _connectionTpc, _trx);
// 將用戶重複來電案件資料寫回CCS.EventQuery
- if (ExeCommand.ExecuteNonQuery() <= 0)
+ if (exeCommand.ExecuteNonQuery() <= 0)
{
- ExeCommand.Dispose();
+ exeCommand.Dispose();
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ if (_trx.Connection.State.ToString().Equals("Open"))
+ _trx.Rollback();
- _Trx.Dispose();
- _PLog.Error("Fail in write back to ccs.eventquery");
+ _trx.Dispose();
+ _pLog.Error("Fail in write back to ccs.eventquery");
return;
}
- ExeCommand.CommandText = updEOSEventRecord;
+ exeCommand.CommandText = updEosEventRecord;
// 將CCS案件備註資料Append到EOS.EventRecord
- if (ExeCommand.ExecuteNonQuery() <= 0)
+ if (exeCommand.ExecuteNonQuery() <= 0)
{
- ExeCommand.Dispose();
+ exeCommand.Dispose();
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ if (_trx.Connection.State.ToString().Equals("Open"))
+ _trx.Rollback();
- _Trx.Dispose();
- _PLog.Error("Fail in update eos.eventquery");
+ _trx.Dispose();
+ _pLog.Error("Fail in update eos.eventquery");
return;
}
- ExeCommand.CommandText = updCCSNum_Contrast;
+ exeCommand.CommandText = updCcsNumContrast;
// 寫入ccsid <=> caseid 到CCS.Num_Contrast
- if (ExeCommand.ExecuteNonQuery() <= 0)
+ if (exeCommand.ExecuteNonQuery() <= 0)
{
- ExeCommand.Dispose();
- if (_Trx.Connection.State.ToString().Equals("Open"))
- _Trx.Rollback();
+ exeCommand.Dispose();
+ if (_trx.Connection.State.ToString().Equals("Open"))
+ _trx.Rollback();
- _Trx.Dispose();
- _PLog.Error("Fail in insert into ccs.num_contrast");
+ _trx.Dispose();
+ _pLog.Error("Fail in insert into ccs.num_contrast");
return;
}
- ExeCommand.Dispose();
- _Trx.Commit();
- _Trx.Dispose();
- _PLog.Info("CCS 案件受理程序結束");
+ exeCommand.Dispose();
+ _trx.Commit();
+ _trx.Dispose();
+ _pLog.Info("CCS 案件受理程序結束");
}
- private String TrimToLimit(String Msg, int MaxLen)
+ private string TrimToLimit(string msg, int maxLen)
{
try
{
- if (Msg.Length <= 1)
+ if (msg.Length <= 1)
{
return "";
}
- if (Msg.Length <= MaxLen)
+ if (msg.Length <= maxLen)
{
- return Msg;
+ return msg;
}
- Msg = Msg.Substring(Msg.IndexOf("|") + 1);
- return TrimToLimit(Msg, MaxLen);
+ msg = msg.Substring(msg.IndexOf("|") + 1);
+ return TrimToLimit(msg, maxLen);
}
catch (Exception ex)
{
@@ -846,18 +867,18 @@
}
}
-
- private int getFieldLength(String Owner, String TableName, String FieldName)
+ private int GetFieldLength(string owner, string tableName, string fieldName)
{
- String SqlStmt = "SELECT DATA_LENGTH FROM ALL_TAB_COLUMNS WHERE OWNER = '" + Owner + "' AND TABLE_NAME = '" + TableName + "' AND COLUMN_NAME = '" + FieldName + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Trx);
- OracleDataReader reader = Command.ExecuteReader();
- int MaxLength = -1;
+ var sqlStmt = "SELECT DATA_LENGTH FROM ALL_TAB_COLUMNS WHERE OWNER = '" + owner + "' AND TABLE_NAME = '" +
+ tableName + "' AND COLUMN_NAME = '" + fieldName + "'";
+ var command = new OracleCommand(sqlStmt, _connectionTpc, _trx);
+ var reader = command.ExecuteReader();
+ var maxLength = -1;
try
{
if (reader.Read())
- MaxLength = Convert.ToInt32(reader["DATA_LENGTH"].ToString());
+ maxLength = Convert.ToInt32(reader["DATA_LENGTH"].ToString());
}
catch (Exception e)
{
@@ -867,55 +888,61 @@
finally
{
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
- return MaxLength;
+ return maxLength;
}
- private int getFDRID(string Meter)
+ private int GetFdrid(string meter)
{
- string SqlStmt = "SELECT TRAN_CORD FROM BASEDB.METER WHERE METR_NUMB = '" + Meter + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Trx);
- OracleDataReader reader = Command.ExecuteReader();
- string TPCLID = "";
- int FDRID = 0;
- String group = "";
+ var sqlStmt = "SELECT TRAN_CORD FROM BASEDB.METER WHERE METR_NUMB = '" + meter + "'";
+ var command = new OracleCommand(sqlStmt, _connectionTpc, _trx);
+ var reader = command.ExecuteReader();
+ var tpclid = "";
+ var fdrid = 0;
+ var group = "";
try
{
if (reader.Read())
- TPCLID = reader["TRAN_CORD"].ToString();
+ tpclid = reader["TRAN_CORD"].ToString();
- if ( TPCLID.Length == 0 )
- return FDRID;
+ if (tpclid.Length == 0)
+ return fdrid;
- if (TPCLID.Length > 11)
+ if (tpclid.Length > 11)
{
- group = TPCLID.Substring(TPCLID.Length - 3);
- TPCLID = TPCLID.Substring(0, 11).Trim();
- SqlStmt = "SELECT FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = 115 AND UFID = (SELECT UFID FROM BASEDB.SXFMR WHERE OWNERTPCLID = '" + TPCLID
- + "' AND GROUP1='" + group + "' AND ROWNUM < 2)";
+ group = tpclid.Substring(tpclid.Length - 3);
+ tpclid = tpclid.Substring(0, 11).Trim();
+ sqlStmt =
+ "SELECT FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = 115 AND UFID = (SELECT UFID FROM BASEDB.SXFMR WHERE OWNERTPCLID = '" +
+ tpclid
+ + "' AND GROUP1='" + group + "' AND ROWNUM < 2)";
}
else
{
- SqlStmt = "SELECT FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = 115 AND UFID = (SELECT UFID FROM BASEDB.SXFMR WHERE OWNERTPCLID = '" + TPCLID
- + "' AND ROWNUM < 2)";
+ sqlStmt =
+ "SELECT FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = 115 AND UFID = (SELECT UFID FROM BASEDB.SXFMR WHERE OWNERTPCLID = '" +
+ tpclid
+ + "' AND ROWNUM < 2)";
}
- Command.CommandText = SqlStmt;
- reader = Command.ExecuteReader();
+ command.CommandText = sqlStmt;
+ reader = command.ExecuteReader();
if (reader.Read())
- FDRID = Convert.ToInt32(reader["FDR1"].ToString());
+ fdrid = Convert.ToInt32(reader["FDR1"].ToString());
else
{
- SqlStmt = "SELECT FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = 107 AND UFID = (SELECT UFID FROM BASEDB.HICUSTOMER WHERE OWNERTPCLID = '" + TPCLID + "' AND ROWNUM < 2)";
+ sqlStmt =
+ "SELECT FDR1 FROM BASEDB.CONNECTIVITY WHERE FSC = 107 AND UFID = (SELECT UFID FROM BASEDB.HICUSTOMER WHERE OWNERTPCLID = '" +
+ tpclid + "' AND ROWNUM < 2)";
- Command.CommandText = SqlStmt;
- reader = Command.ExecuteReader();
+ command.CommandText = sqlStmt;
+ reader = command.ExecuteReader();
if (reader.Read())
- FDRID = Convert.ToInt32(reader["FDR1"].ToString());
+ fdrid = Convert.ToInt32(reader["FDR1"].ToString());
}
}
catch (Exception e)
@@ -926,23 +953,23 @@
finally
{
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
- return FDRID;
+ return fdrid;
}
- private int getTraceCount(String CCSID)
+ private int GetTraceCount(string ccsid)
{
- String SqlStmt = "SELECT TRACECOUNT FROM CCS.TRACECOUNTS WHERE CCSID = '" + CCSID + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Trx);
- OracleDataReader reader = Command.ExecuteReader();
- int Count = 0;
+ var sqlStmt = "SELECT TRACECOUNT FROM CCS.TRACECOUNTS WHERE CCSID = '" + ccsid + "'";
+ var command = new OracleCommand(sqlStmt, _connectionTpc, _trx);
+ var reader = command.ExecuteReader();
+ var count = 0;
try
{
if (reader.Read())
- Count = Convert.ToInt32(reader["TRACECOUNT"].ToString());
+ count = Convert.ToInt32(reader["TRACECOUNT"].ToString());
}
catch (Exception e)
{
@@ -952,29 +979,28 @@
finally
{
reader.Close();
- Command.Dispose();
+ command.Dispose();
}
- return Count;
+ return count;
}
- private bool UpdateTraceCount(String CCSID,bool isNew)
+ private bool UpdateTraceCount(string ccsid, bool isNew)
{
- String SqlStmt ;
+ string sqlStmt;
if (isNew)
- SqlStmt = "INSERT INTO CCS.TRACECOUNTS (CCSID,TRACECOUNT) VALUES ('" + CCSID + "',1)";
+ sqlStmt = "INSERT INTO CCS.TRACECOUNTS (CCSID,TRACECOUNT) VALUES ('" + ccsid + "',1)";
else
- SqlStmt = "UPDATE CCS.TRACECOUNTS SET TRACECOUNT = TRACECOUNT + 1 WHERE CCSID = '" + CCSID + "'";
- OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Trx);
+ sqlStmt = "UPDATE CCS.TRACECOUNTS SET TRACECOUNT = TRACECOUNT + 1 WHERE CCSID = '" + ccsid + "'";
+ var command = new OracleCommand(sqlStmt, _connectionTpc, _trx);
try
{
- int Result = Command.ExecuteNonQuery();
+ var result = command.ExecuteNonQuery();
- if (Result == 1)
+ if (result == 1)
return true;
-
}
catch (Exception e)
{
@@ -983,11 +1009,9 @@
}
finally
{
- Command.Dispose();
+ command.Dispose();
}
return false;
}
-
-
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/RecordLog.cs b/CCSTrace/CCS/RecordLog.cs
index e528624..9925cd7 100644
--- a/CCSTrace/CCS/RecordLog.cs
+++ b/CCSTrace/CCS/RecordLog.cs
@@ -1,52 +1,45 @@
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.IO;
namespace CCSTrace.CCS
{
public class RecordLog
{
- private System.IO.StreamWriter _SWriter = null;
+ private readonly StreamWriter _sWriter = null;
- public RecordLog(String FilePath)
+ public RecordLog(string filePath)
{
- _SWriter = new System.IO.StreamWriter(FilePath,true);
+ _sWriter = new StreamWriter(filePath, true);
}
public void Debug(object message)
{
- _SWriter.WriteLine("[Debug] [" + System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
+ _sWriter.WriteLine("[Debug] [" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
}
public void Error(object message)
{
- _SWriter.WriteLine("[Error] [" + System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
+ _sWriter.WriteLine("[Error] [" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
}
public void Fatal(object message)
{
- _SWriter.WriteLine("[Fatal] [" + System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
+ _sWriter.WriteLine("[Fatal] [" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
}
public void Info(object message)
{
- _SWriter.WriteLine("[Info] [" + System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
+ _sWriter.WriteLine("[Info] [" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
}
public void Warn(object message)
{
- _SWriter.WriteLine("[Warn] [" + System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
+ _sWriter.WriteLine("[Warn] [" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "] : " + message);
}
public void Close()
{
- _SWriter.Close();
+ _sWriter.Close();
}
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/SEventLog.cs b/CCSTrace/CCS/SEventLog.cs
index 98cf30c..a4f260f 100644
--- a/CCSTrace/CCS/SEventLog.cs
+++ b/CCSTrace/CCS/SEventLog.cs
@@ -1,12 +1,11 @@
-using System;
-using System.Diagnostics;
+using System.Diagnostics;
namespace CCSTrace.CCS
{
- public class SEventLog
+ public class SEventLog
{
- static string sSource = "CCSTrace";
- static string sLog = "Application";
+ private const string SSource = "CCSTrace";
+ private const string SLog = "Application";
public SEventLog()
{
@@ -14,11 +13,11 @@
public void Debug(object message)
{
- if (!EventLog.SourceExists(sSource))
- EventLog.CreateEventSource(sSource, sLog);
+ if (!EventLog.SourceExists(SSource))
+ EventLog.CreateEventSource(SSource, SLog);
//EventLog.WriteEntry(sSource, message.ToString());
- EventLog.WriteEntry(sSource, message.ToString(), EventLogEntryType.Information, 001);
+ EventLog.WriteEntry(SSource, message.ToString(), EventLogEntryType.Information, 001);
}
public void Error(object message)
@@ -32,11 +31,11 @@
public void Fatal(object message)
{
- if (!EventLog.SourceExists(sSource))
- EventLog.CreateEventSource(sSource, sLog);
+ if (!EventLog.SourceExists(SSource))
+ EventLog.CreateEventSource(SSource, SLog);
//EventLog.WriteEntry(sSource, message.ToString());
- EventLog.WriteEntry(sSource, message.ToString(), EventLogEntryType.FailureAudit, 001);
+ EventLog.WriteEntry(SSource, message.ToString(), EventLogEntryType.FailureAudit, 001);
}
public void Info(object message)
@@ -50,15 +49,15 @@
public void Warn(object message)
{
- if (!EventLog.SourceExists(sSource))
- EventLog.CreateEventSource(sSource, sLog);
+ if (!EventLog.SourceExists(SSource))
+ EventLog.CreateEventSource(SSource, SLog);
//EventLog.WriteEntry(sSource, message.ToString());
- EventLog.WriteEntry(sSource, message.ToString(), EventLogEntryType.Warning, 001);
+ EventLog.WriteEntry(SSource, message.ToString(), EventLogEntryType.Warning, 001);
}
public void Close()
{
}
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCS/ThreadEndEvent.cs b/CCSTrace/CCS/ThreadEndEvent.cs
index 1021594..b486b70 100644
--- a/CCSTrace/CCS/ThreadEndEvent.cs
+++ b/CCSTrace/CCS/ThreadEndEvent.cs
@@ -1,27 +1,19 @@
-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;
namespace CCSTrace.CCS
{
public class ThreadEndEvent
{
- private System.Data.OracleClient.OracleConnection _Conn;
+ private OracleConnection _conn;
- internal ThreadEndEvent(System.Data.OracleClient.OracleConnection _ConnectionTPC)
+ internal ThreadEndEvent(OracleConnection connectionTpc)
{
- _Conn = _ConnectionTPC;
+ _conn = connectionTpc;
}
- public System.Data.OracleClient.OracleConnection getConnection()
+ public OracleConnection GetConnection()
{
- return _Conn;
+ return _conn;
}
}
-}
+}
\ No newline at end of file
diff --git a/CCSTrace/CCSTrace.csproj b/CCSTrace/CCSTrace.csproj
index 8825518..79cc36c 100644
--- a/CCSTrace/CCSTrace.csproj
+++ b/CCSTrace/CCSTrace.csproj
@@ -17,8 +17,13 @@
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
- <UseIISExpress>false</UseIISExpress>
+ <UseIISExpress>true</UseIISExpress>
<TargetFrameworkProfile />
+ <IISExpressSSLPort />
+ <IISExpressAnonymousAuthentication />
+ <IISExpressWindowsAuthentication />
+ <IISExpressUseClassicPipelineMode />
+ <UseGlobalApplicationHostFile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -41,9 +46,25 @@
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
+ <HintPath>..\packages\Iesi.Collections.3.2.0.4000\lib\Net35\Iesi.Collections.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
<Reference Include="Interop.TRACEROBJECTLib, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\Resources\Lib\Interop.TRACEROBJECTLib.DLL</HintPath>
+ </Reference>
+ <Reference Include="NHibernate, Version=3.4.0.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
+ <HintPath>..\packages\NHibernate.3.4.1.4000\lib\Net35\NHibernate.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
+ <HintPath>..\packages\NLog.4.3.3\lib\net35\NLog.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="SmartThreadPool, Version=2.2.3.0, Culture=neutral, PublicKeyToken=1126fe8b671e8a79, processorArchitecture=MSIL">
+ <HintPath>..\packages\SmartThreadPool.dll.2.2.3\lib\SmartThreadPool.dll</HintPath>
+ <Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
@@ -51,6 +72,8 @@
<Reference Include="System.Data.OracleClient" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
+ <Reference Include="System.Web.DynamicData" />
+ <Reference Include="System.Web.Entity" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
@@ -61,22 +84,52 @@
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
+ <Content Include="App_Data\DBConfig.xml">
+ <SubType>Designer</SubType>
+ </Content>
<Content Include="DBConfig.xml" />
+ <Content Include="Global.asax" />
<Content Include="Service1.asmx" />
- <Content Include="Web.config" />
+ <Content Include="TPower\DMMS\Model\BaseDB\CONNECTIVITY.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\BaseDB\HICUSTOMER.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\BaseDB\METER.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\BaseDB\MSTADDR.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\BaseDB\SXFMR.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\ADDRCONTRAST.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\ALARMIP.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\CODELIST.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\DEPTCONTRAST.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\EVENTQUERY.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\EVENTRECORD.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\NUMCONTRAST.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\SCGROUP.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\SCGROUPTIME.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\CCS\TMP.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\EOS\CODELIST.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\EOS\CRTAPOLOGY.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\EOS\EVENT.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\EOS\EVENTFACILITY.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\EOS\EVENTRECORD.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\EOS\EVENTRECORDEX.hbm.xml" />
+ <Content Include="TPower\DMMS\Model\EOS\TMPAFFECTCUSTM.hbm.xml" />
+ <Content Include="Web.config">
+ <SubType>Designer</SubType>
+ </Content>
</ItemGroup>
<ItemGroup>
<Compile Include="CCS\CCSMain.cs" />
+ <Compile Include="CCS\Domain\CCSCaseState.cs" />
+ <Compile Include="CCS\Domain\Codelist.cs" />
<Compile Include="CCS\EventAI\Equipment.cs" />
<Compile Include="CCS\EventAI\JudgeCase.cs" />
<Compile Include="CCS\EventAI\TraceSubject.cs" />
<Compile Include="CCS\Function\MailService.cs" />
+ <Compile Include="CCS\GlobalVariable.cs" />
<Compile Include="CCS\SEventLog.cs" />
<Compile Include="CCS\FinishEvent.cs" />
<Compile Include="CCS\Function\InitialEventData.cs" />
<Compile Include="CCS\Function\Leach.cs" />
<Compile Include="CCS\Function\MergeCase.cs" />
- <Compile Include="CCS\LocalVariable.cs" />
<Compile Include="CCS\Object\Addr_Contrast.cs" />
<Compile Include="CCS\Object\AlarmData.cs" />
<Compile Include="CCS\Object\CCSCodelist.cs" />
@@ -90,18 +143,63 @@
<Compile Include="CCS\ProcessEvent.cs" />
<Compile Include="CCS\RecordLog.cs" />
<Compile Include="CCS\ThreadEndEvent.cs" />
+ <Compile Include="Global.asax.cs">
+ <DependentUpon>Global.asax</DependentUpon>
+ </Compile>
<Compile Include="Service1.asmx.cs">
<DependentUpon>Service1.asmx</DependentUpon>
<SubType>Component</SubType>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="TPower\DMMS\Model\BaseDB\CONNECTIVITY.cs" />
+ <Compile Include="TPower\DMMS\Model\BaseDB\HICUSTOMER.cs" />
+ <Compile Include="TPower\DMMS\Model\BaseDB\METER.cs" />
+ <Compile Include="TPower\DMMS\Model\BaseDB\MSTADDR.cs" />
+ <Compile Include="TPower\DMMS\Model\BaseDB\SXFMR.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\ADDRCONTRAST.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\ALARMIP.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\CODELIST.CODELIST.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\DEPTCONTRAST.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\EVENTQUERY.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\EVENTRECORD.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\NUMCONTRAST.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\SCGROUP.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\SCGROUPTIME.cs" />
+ <Compile Include="TPower\DMMS\Model\CCS\TMP.cs" />
+ <Compile Include="TPower\DMMS\Model\EOS\CODELIST.cs" />
+ <Compile Include="TPower\DMMS\Model\EOS\CRTAPOLOGY.cs" />
+ <Compile Include="TPower\DMMS\Model\EOS\EVENT.cs" />
+ <Compile Include="TPower\DMMS\Model\EOS\EVENTFACILITY.cs" />
+ <Compile Include="TPower\DMMS\Model\EOS\EVENTRECORD.cs" />
+ <Compile Include="TPower\DMMS\Model\EOS\EVENTRECORDEX.cs" />
+ <Compile Include="TPower\DMMS\Model\EOS\TMPAFFECTCUSTM.cs" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Service References\" />
</ItemGroup>
<ItemGroup>
- <Folder Include="App_Data\" />
+ <COMReference Include="TRACEROBJECTLib">
+ <Guid>{B8D2F30F-2520-11D1-91D1-0000F877ED89}</Guid>
+ <VersionMajor>1</VersionMajor>
+ <VersionMinor>2</VersionMinor>
+ <Lcid>0</Lcid>
+ <WrapperTool>tlbimp</WrapperTool>
+ <Isolated>False</Isolated>
+ <EmbedInteropTypes>True</EmbedInteropTypes>
+ </COMReference>
</ItemGroup>
+ <ItemGroup>
+ <Content Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="NLog.config">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <None Include="NLog.xsd">
+ <SubType>Designer</SubType>
+ </None>
+ </ItemGroup>
+ <ItemGroup />
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
@@ -124,9 +222,7 @@
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>2853</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
- <IISUrl>http://localhost/CCSTrace</IISUrl>
- <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl>
- <IISAppRootUrl>http://localhost/CCSTrace</IISAppRootUrl>
+ <IISUrl>http://localhost:2853/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
diff --git a/CCSTrace/Properties/AssemblyInfo.cs b/CCSTrace/Properties/AssemblyInfo.cs
index 73328ec..d3456ef 100644
--- a/CCSTrace/Properties/AssemblyInfo.cs
+++ b/CCSTrace/Properties/AssemblyInfo.cs
@@ -33,3 +33,6 @@
// by using the '*' as shown below:
[assembly: AssemblyVersion("6.0.0.0")]
[assembly: AssemblyFileVersion("6.0.0.0")]
+[assembly: InternalsVisibleTo("CCSTrace.Tests")]
+[assembly: InternalsVisibleTo("CCSTrace.Explorables")]
+
diff --git a/CCSTrace/Service1.asmx.cs b/CCSTrace/Service1.asmx.cs
index deede34..ebbab77 100644
--- a/CCSTrace/Service1.asmx.cs
+++ b/CCSTrace/Service1.asmx.cs
@@ -1,10 +1,5 @@
-using System;
-using System.Collections;
-using System.ComponentModel;
-using System.Data;
-using System.Web;
+using System.ComponentModel;
using System.Web.Services;
-using System.Web.Services.Protocols;
namespace CCSTrace
{
@@ -16,7 +11,7 @@
[ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
- public class Service1 : System.Web.Services.WebService
+ public class Service1 : WebService
{
public Service1()
@@ -28,15 +23,15 @@
}
[WebMethod]
- public void AcceptCase(String _CCSID, String _METER, String _CUSTOMERNAME, String _CUSTOMERTEL, String _ADDR_CITY, String _ADDR_TOWN, String _ADDR_ROAD,
- String _ADDR_OTHER, String _RECALLNAME, String _RECALLTEL, int _EVENTBRIEF, String _ACCEPTTIME, int _IMPORTCASE, String _DEPT,
- int _PartHicustomer, String _NOTE)
+ public void AcceptCase(string ccsid, string meter, string customername, string customertel, string addrCity, string addrTown, string addrRoad,
+ string addrOther, string recallname, string recalltel, int eventbrief, string accepttime, int importcase, string dept,
+ int partHicustomer, string note)
{
- CCS.Object.CCSRecord _Record = new CCSTrace.CCS.Object.CCSRecord(_CCSID, _METER, _CUSTOMERNAME, _CUSTOMERTEL, _ADDR_CITY, _ADDR_TOWN, _ADDR_ROAD,
- _ADDR_OTHER, _RECALLNAME, _RECALLTEL, _EVENTBRIEF, _ACCEPTTIME, _IMPORTCASE, _DEPT,
- _PartHicustomer, _NOTE);
+ CCS.Object.CcsRecord record = new CCS.Object.CcsRecord(ccsid, meter, customername, customertel, addrCity, addrTown, addrRoad,
+ addrOther, recallname, recalltel, eventbrief, accepttime, importcase, dept,
+ partHicustomer, note);
//_CCSMain.AcceptEvent(_Record);
- CCSTrace.CCS.CCSMain.Instance().AcceptEvent(_Record);
+ CCSTrace.CCS.CcsMain.Instance().AcceptEvent(record);
}
diff --git a/CCSTrace/Web.config b/CCSTrace/Web.config
index eaa54ec..320b34e 100644
--- a/CCSTrace/Web.config
+++ b/CCSTrace/Web.config
@@ -3,16 +3,11 @@
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
- <remove name="scriptResourceHandler" />
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
- <remove name="jsonSerialization" />
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
- <remove name="profileService" />
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
- <remove name="authenticationService" />
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
- <remove name="roleService" />
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
--
Gitblit v0.0.0-SNAPSHOT