ulysseskao
2016-04-29 b0c18d369abd06075c83759b0e19823c2a11d716
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;
        }
    }
}
}