using System;
using System.Drawing;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using DataDynamics.ActiveReports;
using DataDynamics.ActiveReports.Document;
using System.Data;
namespace FPER
{
///
/// Summary description for NewActiveReport1.
///
public partial class AReportLog : DataDynamics.ActiveReports.ActiveReport
{// ActiveReport Class
int index = 0;
private ArrayList details;
public bool findTime = false;
public DateTime findStartTime;
public DateTime findEndTime;
public List findType = null;
private int tleReceiverId = 0;
private string tleFromToDate = "";
private string tleAlarmType = "전체";
private string tleAlarmLocation = "전체";
public int ReceiverId { set { this.tleReceiverId = value; } }
public string FromToDate { set { this.tleFromToDate = value; } }
public string AlarmType { set { this.tleAlarmType = value; } }
public string AlarmLocation { set { this.tleAlarmLocation = value; } }
public ArrayList Details { set { this.details = value; } }
public List LEventLog;
bool live = false;
public AReportLog(bool live)
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
this.live = live;
}
private void AReportLog_DataInitialize(object sender, System.EventArgs eArgs)
{// data init function
try
{
//txtTleReceiverId.Text = this.tleReceiverId.ToString();
//txtTleFromToDate.Text = this.tleFromToDate;
//txtTleAlarmType.Text = this.tleAlarmType;
//txtTleAlarmLocation.Text = this.tleAlarmLocation;
if (this.live)
{
this.label1.Text = "수신기 이력 보고서 (현재내역)";
}
else
{
this.label1.Text = "수신기 이력 보고서 (과거내역)";
}
if (findTime)
{
this.textBox1.Text = string.Format("{0:D4}-{1:D2}-{2:D2} {3:D2}:{4:D2}:{5:D2} ~{6:D4}-{7:D2}-{8:D2} {9:D2}:{10:D2}:{11:D2}",
this.findStartTime.Year, this.findStartTime.Month, this.findStartTime.Day,
this.findStartTime.Hour, this.findStartTime.Minute, this.findStartTime.Second,
this.findEndTime.Year, this.findEndTime.Month, this.findEndTime.Day,
this.findEndTime.Hour, this.findEndTime.Minute, this.findEndTime.Second);
}
else
{
this.textBox1.Text = "전체";
}
if (findType != null && findType.Count > 0)
{
this.textBox2.Text = "";
foreach (string text in findType)
{
this.textBox2.Text += text;
this.textBox2.Text += ", ";
}
this.textBox2.Text = this.textBox2.Text.Substring(0, this.textBox2.Text.Length - 2);
}
else
{
this.textBox2.Text = "전체";
}
this.PageSettings.Margins.Bottom = 0.3F;
this.PageSettings.Margins.Left = 0.4F;
this.PageSettings.Margins.Right = 0.3F;
this.PageSettings.Margins.Top = 1F;
this.PageSettings.PaperHeight = 11F;
this.PageSettings.PaperWidth = 8.5F;
this.Fields.Add("EventNumber");
this.Fields.Add("EventTime");
this.Fields.Add("DeviceName");
this.Fields.Add("EventName");
this.Fields.Add("EventPosition");
this.Fields.Add("Circuit");
this.Fields.Add("EventErrorStatus");
this.textBox9.Text = string.Format("수신기 : {0}번", this.tleReceiverId);
//this.Fields.Add("ConfirmYes");
//this.Fields.Add("ConfirmDate");
// Init some test data:
//this.details = new ArrayList();
//this.details.Add(new ReportDetail("A", 10.00, 2));
//this.details.Add(new ReportDetail("B", 0.12, 1));
//this.details.Add(new ReportDetail("C", 5.92, 3));
//this.index = -1;
}
catch (Exception ex)
{
Util.UErrorMessage(ex, 0, 0);
}
}
//private void AReportLog_FetchData(object sender, DataDynamics.ActiveReports.ActiveReport.FetchEventArgs eArgs) {
// try {
// if (this.index >= this.details.Count - 1) {
// eArgs.EOF = true;
// return;
// }
// else {
// eArgs.EOF = false;
// }
// AlarmLogPostDetail row = (AlarmLogPostDetail)this.details[++this.index];
// this.Fields["EventNumber"].Value = row.no;
// this.Fields["EventTime"].Value = row.alarmDate;
// this.Fields["DeviceName"].Value = row.alarmLocation;
// this.Fields["EventName"].Value = row.alarmType;
// this.Fields["EventPosition"].Value = row.alarmLocation;
// this.Fields["EventErrorStatus"].Value = row.no;
// this.Fields["EventTime"].Value = row.alarmDate;
// this.Fields["AlarmType"].Value = row.alarmType;
// this.Fields["AlarmLocation"].Value = row.alarmLocation;
// //this.Fields["ConfirmYes"].Value = row.confirmYes;
// //this.Fields["ConfirmDate"].Value = row.confirmDate;
// }
// catch (Exception ex) {
// Util.UErrorMessage(ex, 0, 0);
// }
//}
private void AReportLog_FetchData(object sender, FetchEventArgs eArgs)
{ // set display data funtion
if (LEventLog == null || LEventLog.Count <= 0 || index >= LEventLog.Count)
{
eArgs.EOF = true;
}
else
{
if (LEventLog.Count > this.index)
{
CEventLogData eventLog = this.LEventLog[this.index];
//if (FindReceiver(eventLog.receiverID) >= 0)
{
//Receiver receiver = this.LReceiver[FindReceiver(eventLog.receiverID)];
this.Fields["EventNumber"].Value = this.index + 1;
this.Fields["EventTime"].Value = eventLog.EventTime;
this.Fields["EventPosition"].Value = eventLog.devicePosition;
this.Fields["EventName"].Value = eventLog.eventTypeName;//this.GetEventTypeName(eventLog.eventType);//LEventLog[this.index].EventName;
this.Fields["DeviceName"].Value = eventLog.deviceName;//this.GetDeviceName(eventLog);
this.Fields["Circuit"].Value = eventLog.Report_EventPositon;//eventLog.EventPositon; // cyim 2015.9.23 프린트 정보와 일치하도록 수정
switch (eventLog.Report_EventErrorStatus)//switch (eventLog.EventErrorStatus)// cyim 2015.9.23 프린트 정보와 일치하도록 수정
{// 0 : 운영,기타 , 1: 화재 발생, 2 : 화재 해제 3: 설비 작동 4: 설비 멈춤 5: 이상 발생 6: 이상 해제
case 0:
this.Fields["EventErrorStatus"].Value = "조작";
this.detail.BackColor = Color.White;
this.textBox8.BackColor = Color.White;
this.textBox8.ForeColor = Color.Black;
break;
case 1:
this.Fields["EventErrorStatus"].Value = "발생";
this.detail.BackColor = Color.FromArgb(255, 140, 140);
this.textBox8.BackColor = Color.White;
this.textBox8.ForeColor = Color.Red;
break;
case 2:
this.Fields["EventErrorStatus"].Value = "해제";
this.detail.BackColor = Color.FromArgb(255, 140, 140);
this.textBox8.BackColor = Color.White;
this.textBox8.ForeColor = Color.Blue;
break;
case 3:
this.Fields["EventErrorStatus"].Value = "발생";
this.detail.BackColor = Color.FromArgb(140, 140, 255);
this.textBox8.BackColor = Color.White;
this.textBox8.ForeColor = Color.Red;
break;
case 4:
this.Fields["EventErrorStatus"].Value = "해제";
this.detail.BackColor = Color.FromArgb(140, 140, 255);
this.textBox8.BackColor = Color.White;
this.textBox8.ForeColor = Color.Blue;
break;
case 5:
this.Fields["EventErrorStatus"].Value = "발생";
this.detail.BackColor = Color.FromArgb(220, 220, 220);
this.textBox8.BackColor = Color.White;
this.textBox8.ForeColor = Color.Red;
break;
case 6:
this.Fields["EventErrorStatus"].Value = "해제";
this.detail.BackColor = Color.FromArgb(220, 220, 220);
this.textBox8.BackColor = Color.White;
this.textBox8.ForeColor = Color.Blue;
break;
}
this.index++;
eArgs.EOF = false;
}
}
}
}
//private void NewActiveReport1_FetchData(object sender, FetchEventArgs eArgs) {
// if (LEventLog == null || LEventLog.Count <= 0 || index >= LEventLog.Count) {
// eArgs.EOF = true;
// }
// else {
// if (LEventLog.Count > this.index) {
// CEventLogData eventLog = this.LEventLog[this.index];
// if (FindReceiver(eventLog.receiverID) >= 0) {
// Receiver receiver = this.LReceiver[FindReceiver(eventLog.receiverID)];
// this.Fields["EventNumber"].Value = this.index + 1;
// this.Fields["EventTime"].Value = eventLog.EventTime;
// this.Fields["EventPosition"].Value = eventLog.EventPositon;
// this.Fields["EventName"].Value = this.GetEventTypeName(eventLog.eventType);//LEventLog[this.index].EventName;
// this.Fields["DeviceName"].Value = this.GetDeviceName(eventLog);
// //switch (eventLog.ioType) {
// // case "A": {//전체
// // if (Convert.ToInt32(eventLog.receiverID) > 0) {
// // this.Fields["DeviceName"].Value = receiver.Name;
// // //DBAccess.GetReceiverNameFromDB(this.receiverID);
// // }
// // break;
// // }
// // case "C": {// 통신
// // if (Convert.ToInt32(eventLog.receiverID) > 0) {
// // this.Fields["DeviceName"].Value = receiver.Name;
// // }
// // break;
// // }
// // case "B": {// 보드deviceName = DBAccess.GetBoardNameFromDB(this.receiverID, this.boardID);
// // break;
// // }
// // case "L": {// 루프
// // this.Fields["DeviceName"].Value = receiver.board[eventLog.boardID - 1].Name;
// // // this.Fields["DeviceName"].Value = DBAccess.GetBoardNameFromDB(this.receiverID, this.boardID);
// // this.Fields["DeviceName"].Value += string.Format(":{0}계통", LEventLog[this.index].loopNO.ToString());
// // break;
// // }
// // case "R": {//중계기
// // this.Fields["DeviceName"].Value = receiver.board[eventLog.boardID - 1].loop[eventLog.loopNO].repeater[eventLog.repeaterID - 1].Name;
// // //this.Fields["DeviceName"].Value = DBAccess.GetRepeaterNameFromDB(this.receiverID, this.boardID, this.loopNO, this.repeaterID);
// // break;
// // }
// // case "D": {// 장치
// // break;
// // }
// // case "I": {//입력회로
// // this.Fields["DeviceName"].Value = receiver.GetDeviceName(eventLog.boardID, eventLog.loopNO, eventLog.repeaterID, eventLog.deviceID, 1);
// // //this.Fields["DeviceName"].Value = DBAccess.GetDeviceNameFromDB((this.receiverID), (this.boardID), (this.loopNO), (this.repeaterID), (this.deviceID), this.ioType);
// // break;
// // }
// // case "O": {//출력회로
// // this.Fields["DeviceName"].Value = receiver.GetDeviceName(eventLog.boardID, eventLog.loopNO, eventLog.repeaterID, eventLog.deviceID, 2);
// // //this.Fields["DeviceName"].Value = DBAccess.GetDeviceNameFromDB(this.receiverID, (this.boardID), (this.loopNO), (this.repeaterID), (this.deviceID), this.ioType);
// // break;
// // }
// // default: {
// // break;
// // }
// //}
// // this.Fields["DeviceName"].Value = LEventLog[this.index].DeviceName;
// switch (eventLog.EventErrorStatus) {
// case 0:
// this.Fields["EventErrorStatus"].Value = "조작";
// break;
// case 1:
// case 3:
// case 5:
// this.Fields["EventErrorStatus"].Value = "발생";
// break;
// case 2:
// case 4:
// case 6:
// this.Fields["EventErrorStatus"].Value = "해제";
// break;
// default:
// this.Fields["EventErrorStatus"].Value = "기타";
// break;
// }
// this.index++;
// eArgs.EOF = false;
// }
// }
// }
//}
//List LReceiver;
//List LEventType;
//public List LEventLog;
//int index = 0;
//string GetEventTypeName(string eventType) {
// string ret = "";
// foreach (CEventType etype in this.LEventType) {
// if (eventType == etype.eventType) {
// ret = etype.eventTypeName;
// break;
// }
// }
// return ret;
//}
//public AReportLog(List LReceiver, List LEventType) {
// //
// // Required for Windows Form Designer support
// //
// InitializeComponent();
// this.LReceiver = LReceiver;
// this.LEventType = LEventType;
//}
//private void NewActiveReport1_FetchData(object sender, FetchEventArgs eArgs) {
// if (LEventLog == null || LEventLog.Count <= 0 || index >= LEventLog.Count) {
// eArgs.EOF = true;
// }
// else {
// if (LEventLog.Count > this.index) {
// CEventLogData eventLog = this.LEventLog[this.index];
// if (FindReceiver(eventLog.receiverID) >= 0) {
// Receiver receiver = this.LReceiver[FindReceiver(eventLog.receiverID)];
// this.Fields["EventNumber"].Value = this.index + 1;
// this.Fields["EventTime"].Value = eventLog.EventTime;
// this.Fields["EventPosition"].Value = eventLog.EventPositon;
// this.Fields["EventName"].Value = this.GetEventTypeName(eventLog.eventType);//LEventLog[this.index].EventName;
// this.Fields["DeviceName"].Value = this.GetDeviceName(eventLog);
// //switch (eventLog.ioType) {
// // case "A": {//전체
// // if (Convert.ToInt32(eventLog.receiverID) > 0) {
// // this.Fields["DeviceName"].Value = receiver.Name;
// // //DBAccess.GetReceiverNameFromDB(this.receiverID);
// // }
// // break;
// // }
// // case "C": {// 통신
// // if (Convert.ToInt32(eventLog.receiverID) > 0) {
// // this.Fields["DeviceName"].Value = receiver.Name;
// // }
// // break;
// // }
// // case "B": {// 보드deviceName = DBAccess.GetBoardNameFromDB(this.receiverID, this.boardID);
// // break;
// // }
// // case "L": {// 루프
// // this.Fields["DeviceName"].Value = receiver.board[eventLog.boardID - 1].Name;
// // // this.Fields["DeviceName"].Value = DBAccess.GetBoardNameFromDB(this.receiverID, this.boardID);
// // this.Fields["DeviceName"].Value += string.Format(":{0}계통", LEventLog[this.index].loopNO.ToString());
// // break;
// // }
// // case "R": {//중계기
// // this.Fields["DeviceName"].Value = receiver.board[eventLog.boardID - 1].loop[eventLog.loopNO].repeater[eventLog.repeaterID - 1].Name;
// // //this.Fields["DeviceName"].Value = DBAccess.GetRepeaterNameFromDB(this.receiverID, this.boardID, this.loopNO, this.repeaterID);
// // break;
// // }
// // case "D": {// 장치
// // break;
// // }
// // case "I": {//입력회로
// // this.Fields["DeviceName"].Value = receiver.GetDeviceName(eventLog.boardID, eventLog.loopNO, eventLog.repeaterID, eventLog.deviceID, 1);
// // //this.Fields["DeviceName"].Value = DBAccess.GetDeviceNameFromDB((this.receiverID), (this.boardID), (this.loopNO), (this.repeaterID), (this.deviceID), this.ioType);
// // break;
// // }
// // case "O": {//출력회로
// // this.Fields["DeviceName"].Value = receiver.GetDeviceName(eventLog.boardID, eventLog.loopNO, eventLog.repeaterID, eventLog.deviceID, 2);
// // //this.Fields["DeviceName"].Value = DBAccess.GetDeviceNameFromDB(this.receiverID, (this.boardID), (this.loopNO), (this.repeaterID), (this.deviceID), this.ioType);
// // break;
// // }
// // default: {
// // break;
// // }
// //}
// // this.Fields["DeviceName"].Value = LEventLog[this.index].DeviceName;
// switch (eventLog.EventErrorStatus) {
// case 0:
// this.Fields["EventErrorStatus"].Value = "조작";
// break;
// case 1:
// case 3:
// case 5:
// this.Fields["EventErrorStatus"].Value = "발생";
// break;
// case 2:
// case 4:
// case 6:
// this.Fields["EventErrorStatus"].Value = "해제";
// break;
// default:
// this.Fields["EventErrorStatus"].Value = "기타";
// break;
// }
// this.index++;
// eArgs.EOF = false;
// }
// }
// }
//}
//public int FindReceiver(int ReceiverID) {
// int ret = -1;
// for (int i = 0; i < LReceiver.Count; i++) {
// if (this.LReceiver[i] != null && LReceiver[i].ReceiverID == ReceiverID) {
// ret = i;
// break;
// }
// }
// return ret;
//}
//string GetDeviceName(CEventLogData eventLog) {
// string ret = "";
// if (FindReceiver(eventLog.receiverID) >= 0) {
// Receiver receiver = this.LReceiver[FindReceiver(eventLog.receiverID)];
// switch (eventLog.ioType) {
// case "A": {//전체
// if (Convert.ToInt32(eventLog.receiverID) > 0) {
// ret = receiver.Name;
// //DBAccess.GetReceiverNameFromDB(this.receiverID);
// }
// break;
// }
// case "C": {// 통신
// if (Convert.ToInt32(eventLog.receiverID) > 0) {
// ret = receiver.Name;
// }
// break;
// }
// case "B": {// 보드deviceName = DBAccess.GetBoardNameFromDB(this.receiverID, this.boardID);
// break;
// }
// case "L": {// 루프
// ret = receiver.board[eventLog.boardID - 1].Name;
// ret += string.Format(":{0}계통", LEventLog[this.index].loopNO.ToString());
// break;
// }
// case "R": {//중계기
// ret = receiver.board[eventLog.boardID - 1].loop[eventLog.loopNO].repeater[eventLog.repeaterID - 1].Name;
// break;
// }
// case "D": {// 장치
// break;
// }
// case "I": {//입력회로
// ret = receiver.GetDeviceName(eventLog.boardID, eventLog.loopNO, eventLog.repeaterID, eventLog.deviceID, 1);
// break;
// }
// case "O": {//출력회로
// ret = receiver.GetDeviceName(eventLog.boardID, eventLog.loopNO, eventLog.repeaterID, eventLog.deviceID, 2);
// break;
// }
// default: {
// break;
// }
// }
// }
// return ret;
//}
//public bool findTime = false;
//public DateTime findStartTime;
//public DateTime findEndTime;
//public List findType = null;
//private void NewActiveReport1_DataInitialize(object sender, EventArgs e) {
// if (findTime) {
// this.textBox1.Text = string.Format("{0:D4}-{1:D2}-{2:D2} {3:D2}:{4:D2}:{5:D2} ~{6:D4}-{7:D2}-{8:D2} {9:D2}:{10:D2}:{11:D2}",
// this.findStartTime.Year, this.findStartTime.Month, this.findStartTime.Day,
// this.findStartTime.Hour, this.findStartTime.Minute, this.findStartTime.Second,
// this.findEndTime.Year, this.findEndTime.Month, this.findEndTime.Day,
// this.findEndTime.Hour, this.findEndTime.Minute, this.findEndTime.Second);
// }
// else {
// this.textBox1.Text = "전체";
// }
// if (findType != null && findType.Count > 0) {
// this.textBox2.Text = "";
// foreach (string text in findType) {
// this.textBox2.Text += text;
// this.textBox2.Text += ", ";
// }
// this.textBox2.Text = this.textBox2.Text.Substring(0, this.textBox2.Text.Length - 2);
// }
// else {
// this.textBox2.Text = "전체";
// }
////public DateTime FindStartTime;
////public DateTime FindEndTime;
////public List FindType;
// this.PageSettings.Margins.Bottom = 0.3F;
// this.PageSettings.Margins.Left = 0.4F;
// this.PageSettings.Margins.Right = 0.3F;
// this.PageSettings.Margins.Top = 1F;
// this.PageSettings.PaperHeight = 11F;
// this.PageSettings.PaperWidth = 8.5F;
// this.Fields.Add("EventNumber");
// this.Fields.Add("EventTime");
// this.Fields.Add("EventPosition");
// this.Fields.Add("EventName");
// this.Fields.Add("DeviceName");
// this.Fields.Add("EventErrorStatus");
//}
}
}