| | |
| | | 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;
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | 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;
|
| | | }
|
| | | }
|
| | |
| | | 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)
|
| | |
| | | Console.WriteLine(e.StackTrace);
|
| | | }
|
| | | finally
|
| | | { |
| | | {
|
| | | reader.Close();
|
| | | Command.Dispose();
|
| | | command.Dispose();
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | }
|
| | | } |