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 static Hashtable m_TotalData = null;
|
public static String DefaultDept = "市區巡修課";
|
private OracleConnection _ConnectionTPC;
|
private RecordLog _PLog;
|
|
public Addr_Contrast(OracleConnection _Conn, OracleTransaction _Trx, RecordLog _Log)
|
{
|
_ConnectionTPC = _Conn;
|
_PLog = _Log;
|
|
String SqlStmt;
|
String City;
|
ArrayList m_Data = new ArrayList();
|
String Tmp = "";
|
|
if (m_TotalData != null)
|
return;
|
|
m_TotalData = new Hashtable();
|
SqlStmt = "SELECT DEPTID,CITY,TOWN,ROAD FROM CCS.ADDR_CONTRAST ORDER BY CITY,TOWN,ROAD";
|
|
OracleCommand Command = null;
|
OracleDataReader reader = null;
|
try
|
{
|
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()));
|
|
if (Tmp.Equals(City))
|
m_Data.Add(m_Record);
|
else
|
{
|
m_TotalData.Add(Tmp, m_Data);
|
Tmp = City;
|
m_Data = new ArrayList();
|
m_Data.Add(m_Record);
|
}
|
}
|
m_TotalData.Add(Tmp, m_Data);
|
}
|
catch (Exception e)
|
{
|
Console.WriteLine(e.StackTrace);
|
m_TotalData = null;
|
}
|
finally
|
{
|
reader.Close();
|
Command.Dispose();
|
}
|
|
}
|
|
public int findDeptID(String City, String Region, String Road)
|
{
|
int Dept = 0;
|
ArrayList m_Data = (ArrayList)m_TotalData[City];
|
|
try
|
{
|
for (int i = 0; i < m_Data.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());
|
|
if ((Region.Trim().Equals(m_Region)) && (Road.Trim().Equals(m_Road)))
|
return DeptID;
|
}
|
}
|
catch (Exception)
|
{
|
_PLog.Warn("無法取得所屬巡修部門代號,預設案件所屬巡修部門為市區巡修課!");
|
}
|
// 當找不到部門別時,Default 設定為市巡
|
Dept = CCS.CCSMain.EOSCodelist.getKeyID(CCS.LocalVariable.Dept, DefaultDept);
|
return Dept;
|
}
|
|
}
|
}
|