494 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
		
		
			
		
	
	
			494 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
|  | using System; | |||
|  | using System.Linq; | |||
|  | using System.Collections.Generic; | |||
|  | using System.ComponentModel; | |||
|  | using System.Drawing; | |||
|  | using System.Data; | |||
|  | using System.IO; | |||
|  | using System.Text; | |||
|  | using System.Windows.Forms; | |||
|  | 
 | |||
|  | using SmartX; | |||
|  | 
 | |||
|  | using ITC81DB.Forms; | |||
|  | using ITC81DB.DialogForms; | |||
|  | using ITC81DB_ImageDll; | |||
|  | 
 | |||
|  | namespace ITC81DB.Controls | |||
|  | { | |||
|  |     public partial class ControlCenterEquipSystemLog : UserControl | |||
|  |     { | |||
|  |         #region Field | |||
|  |         private FormMenu m_ParentForm; | |||
|  |         private int FileIndex; | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Constructor | |||
|  |         public ControlCenterEquipSystemLog(FormMenu parent) | |||
|  |         { | |||
|  |             InitializeComponent(); | |||
|  | 
 | |||
|  |             this.ParentForm = parent; | |||
|  | 
 | |||
|  |             this.InitializeDesign(); | |||
|  |             this.DefaultSetting(); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Property | |||
|  |         public FormMenu ParentForm | |||
|  |         { | |||
|  |             get { return this.m_ParentForm; } | |||
|  |             private set { this.m_ParentForm = value; } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Method | |||
|  |         public void InitializeDesign() | |||
|  |         { | |||
|  |             if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.English) | |||
|  |             { | |||
|  |                 this.labelTitleFileList.Text = "File List"; | |||
|  |             } | |||
|  |             else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Chinese) | |||
|  |             { | |||
|  |                 this.labelTitleFileList.Text = "档案清单";             | |||
|  |             } | |||
|  |             else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Czech) | |||
|  |             { | |||
|  |                 this.labelTitleFileList.Text = "Seznam souborů"; | |||
|  |             } | |||
|  |             else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Russian) | |||
|  |             { | |||
|  |                 this.labelTitleFileList.Text = "Список файлов"; | |||
|  |             } | |||
|  |             else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.German) | |||
|  |             { | |||
|  |                 this.labelTitleFileList.Text = "Dateiliste"; | |||
|  |             } | |||
|  |             else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Spanish) | |||
|  |             { | |||
|  |                 this.labelTitleFileList.Text = "Lista de archivos";             | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 this.labelTitleFileList.Text = "파일 목록";                | |||
|  |             } | |||
|  |         } | |||
|  |         private void DefaultSetting() | |||
|  |         { | |||
|  |             this.FileIndex = 0; | |||
|  |         } | |||
|  | 
 | |||
|  |         private void FileCopy(FileInfo file, string fileName) | |||
|  |         { | |||
|  |             try | |||
|  |             { | |||
|  |                 if (this.FileIndex == 0) | |||
|  |                 { | |||
|  |                     file.CopyTo(fileName); | |||
|  |                     this.FileIndex = 0; | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     file.CopyTo(fileName.Insert(fileName.Length - 4, "_" + this.FileIndex.ToString())); | |||
|  |                     this.FileIndex = 0; | |||
|  |                 } | |||
|  |             } | |||
|  |             catch | |||
|  |             { | |||
|  |                 this.FileIndex++; | |||
|  |                 this.FileCopy(file, fileName); | |||
|  |             } | |||
|  |         } | |||
|  |         public void LoadFile(string fileName) | |||
|  |         { | |||
|  |             string fullFilePath = ""; | |||
|  | 
 | |||
|  |             if (fileName.Contains("Exception") == false && fileName.Contains("Alarm") == false) | |||
|  |                 return; | |||
|  | 
 | |||
|  |             fullFilePath = this.ParentForm.ParentForm.PathDataBackupFolder + fileName; | |||
|  |             this.smartFile1.FilePathName = fullFilePath; | |||
|  |             this.smartFile1.Open(this.ParentForm.ParentForm.BufferSmartUart); | |||
|  | 
 | |||
|  |             this.listBoxContents.Items.Clear(); | |||
|  | 
 | |||
|  |             try | |||
|  |             { | |||
|  |                 if (this.smartFile1.ReadStringAllBuffer() == true) | |||
|  |                 { | |||
|  |                     long lineNum = this.smartFile1.GetCount(); | |||
|  |                     for (int i = 0; i < lineNum; i++) | |||
|  |                     { | |||
|  |                         this.listBoxContents.Items.Add(this.smartFile1.ReadStringBuffer(i)); | |||
|  |                     } | |||
|  | 
 | |||
|  |                     if (fileName.Contains("Alarm") == true) | |||
|  |                     { | |||
|  |                         this.listBoxContents.SelectedIndex = (int)lineNum - 1; | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             catch | |||
|  |             { | |||
|  |                 DialogFormMessage myMsg = new DialogFormMessage(16, this.ParentForm.ParentForm.SystemConfig1.Language); | |||
|  |                 myMsg.ShowDialog(); | |||
|  | 
 | |||
|  |                 this.smartFile1.Close(); | |||
|  |             } | |||
|  | 
 | |||
|  |             this.smartFile1.Close(); | |||
|  |         } | |||
|  | 
 | |||
|  |         public void DisplayRefresh(SystemStatus status) | |||
|  |         { | |||
|  |             bool directoryCheck = false; | |||
|  |             int index = 0; | |||
|  | 
 | |||
|  |             this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplay = DataStore.DisplayStore.EquipSystemLog; | |||
|  |             this.ParentForm.DisplayTitleRoot(this.ParentForm.ParentForm.CurrentSystemStatus); | |||
|  |             this.ParentForm.ParentForm.SetDisplayMode(DataStore.DisplayMode.Menu); | |||
|  | 
 | |||
|  |             this.listBoxContents.Items.Clear(); | |||
|  | 
 | |||
|  |             DirectoryInfo dir = new DirectoryInfo(this.ParentForm.ParentForm.PathDataBackupFolder); | |||
|  | 
 | |||
|  |             directoryCheck = dir.Exists; | |||
|  |             // 폴더 체크 | |||
|  |             if (directoryCheck == false) | |||
|  |                 dir.Create(); | |||
|  | 
 | |||
|  |             FileInfo[] files = dir.GetFiles(); | |||
|  | 
 | |||
|  |             this.listBoxList.SelectedIndexChanged -= new EventHandler(this.listBoxList_SelectedIndexChanged); | |||
|  |             this.listBoxList.SelectedIndex = -1; | |||
|  |             this.listBoxList.Items.Clear(); | |||
|  | 
 | |||
|  |             foreach (FileInfo file in files) | |||
|  |             { | |||
|  |                 if (file.Name.Contains("Data") != true && file.Name.Contains("Stat") != true && file.Name.Contains(".jpg") != true) | |||
|  |                     this.listBoxList.Items.Add(file.Name); | |||
|  |             } | |||
|  | 
 | |||
|  |             this.labelFilesCount.Text = this.listBoxList.Items.Count.ToString(); | |||
|  |             this.buttonFileView.Enabled = false; | |||
|  |             this.listBoxList.SelectedIndexChanged += new EventHandler(this.listBoxList_SelectedIndexChanged); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region Event Handler | |||
|  |         private void listBoxList_SelectedIndexChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             try | |||
|  |             { | |||
|  |                 if (this.listBoxList.SelectedItem.ToString().Contains("Exception") == true | |||
|  |                     || this.listBoxList.SelectedItem.ToString().Contains("Alarm") == true) | |||
|  |                     this.buttonFileView.Enabled = true; | |||
|  |                 else | |||
|  |                     this.buttonFileView.Enabled = false; | |||
|  |             } | |||
|  |             catch | |||
|  |             { | |||
|  |                 this.buttonFileView.Enabled = false; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         private void buttonFileView_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (this.listBoxList.SelectedIndex == -1) | |||
|  |                 return; | |||
|  | 
 | |||
|  |             this.LoadFile(this.listBoxList.SelectedItem.ToString()); | |||
|  |         } | |||
|  |         private void buttonBackup_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (this.listBoxList.Items.Count == 0) | |||
|  |             { | |||
|  |                 DialogFormMessage msg = new DialogFormMessage(4, this.ParentForm.ParentForm.SystemConfig1.Language); | |||
|  |                 msg.ShowDialog(); | |||
|  |                 return; | |||
|  |             } | |||
|  | 
 | |||
|  |             if (this.ParentForm.ParentForm.IsCommunicationLogOpen == true) | |||
|  |             { | |||
|  |                 this.ParentForm.ParentForm.smartFileCommunicationLog.Close(); | |||
|  |                 this.ParentForm.ParentForm.IsCommunicationLogOpen = false; | |||
|  |             } | |||
|  |             if (this.ParentForm.ParentForm.IsErrorLogOpen == true) | |||
|  |             { | |||
|  |                 this.ParentForm.ParentForm.smartFileCheckLog.Close(); | |||
|  |                 this.ParentForm.ParentForm.IsErrorLogOpen = false; | |||
|  |             } | |||
|  |             if (this.ParentForm.ParentForm.IsBarcodeLogOpen == true) | |||
|  |             { | |||
|  |                 this.ParentForm.ParentForm.smartFileBarcodeLog.Close(); | |||
|  |                 this.ParentForm.ParentForm.IsBarcodeLogOpen = false; | |||
|  |             } | |||
|  |             this.ParentForm.ParentForm.smartFileStartStopLog.Close(); | |||
|  | 
 | |||
|  |             int count = 0; | |||
|  |             bool directoryCheck = false; | |||
|  |             string filePath = ""; | |||
|  |             DirectoryInfo dir = new DirectoryInfo(this.ParentForm.ParentForm.PathDataBackupFolder); | |||
|  |             directoryCheck = dir.Exists; | |||
|  |             // 폴더 체크 | |||
|  |             if (directoryCheck == false) | |||
|  |                 dir.Create(); | |||
|  | 
 | |||
|  |             SmartSplash splash = new SmartSplash(); | |||
|  |             splash.CenterPosition = true; | |||
|  |             splash.AnimationInterval = 200; | |||
|  |             splash.LoadingImagePathname = "SmartLoading4"; | |||
|  |             splash.Start(); | |||
|  | 
 | |||
|  |             try | |||
|  |             { | |||
|  |                 DirectoryInfo dinfo = new DirectoryInfo("하드 디스크\\"); | |||
|  |                 dinfo.GetDirectories(); | |||
|  |             } | |||
|  |             catch | |||
|  |             { | |||
|  |                 splash.Finish(); | |||
|  | 
 | |||
|  |                 // USB메모리가 장착되지 않았습니다 | |||
|  |                 DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.ParentForm.SystemConfig1.Language); | |||
|  |                 msg.ShowDialog(); | |||
|  |                 return; | |||
|  |             } | |||
|  | 
 | |||
|  |             this.listBoxList.SelectedIndexChanged -= new EventHandler(this.listBoxList_SelectedIndexChanged); | |||
|  |             try | |||
|  |             { | |||
|  |                 if (this.listBoxList.SelectedIndex == -1) | |||
|  |                 { | |||
|  |                     #region 전체 데이터 백업 | |||
|  |                     try | |||
|  |                     { | |||
|  |                         filePath = "하드 디스크\\"; | |||
|  | 
 | |||
|  |                         FileInfo[] files = dir.GetFiles(); | |||
|  | 
 | |||
|  |                         foreach (FileInfo file in files) | |||
|  |                         { | |||
|  |                             if (file.Name.Contains("Data") != true && file.Name.Contains("Stat") != true && file.Name.Contains(".jpg") != true) | |||
|  |                             { | |||
|  |                                 count++; | |||
|  |                                 this.FileCopy(file, filePath + file.Name); | |||
|  |                                 this.listBoxList.Items.Remove(file.Name); | |||
|  |                                 file.Delete(); | |||
|  |                             } | |||
|  |                         } | |||
|  |                         this.labelFilesCount.Text = this.listBoxList.Items.Count.ToString(); | |||
|  | 
 | |||
|  |                         splash.Finish(); | |||
|  | 
 | |||
|  |                         DialogFormMessage msg = new DialogFormMessage(count.ToString(), this.ParentForm.ParentForm.SystemConfig1.Language); | |||
|  |                         msg.ShowDialog(); | |||
|  |                     } | |||
|  |                     catch | |||
|  |                     { | |||
|  |                         splash.Finish(); | |||
|  | 
 | |||
|  |                         // 제조사에 문의하세요 | |||
|  |                         DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.ParentForm.SystemConfig1.Language); | |||
|  |                         msg.ShowDialog(); | |||
|  |                         return; | |||
|  |                     } | |||
|  |                     #endregion | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     #region 선택 데이터 백업 | |||
|  |                     try | |||
|  |                     { | |||
|  |                         filePath = "하드 디스크\\"; | |||
|  | 
 | |||
|  |                         FileInfo[] files = dir.GetFiles(); | |||
|  | 
 | |||
|  |                         foreach (FileInfo file in files) | |||
|  |                         { | |||
|  |                             if (file.Name.Contains(this.listBoxList.SelectedItem.ToString()) == true) | |||
|  |                             { | |||
|  |                                 this.FileCopy(file, filePath + file.Name); | |||
|  |                                 this.listBoxList.Items.Remove(file.Name); | |||
|  |                                 file.Delete(); | |||
|  |                                 break; | |||
|  |                             } | |||
|  |                         } | |||
|  | 
 | |||
|  |                         this.labelFilesCount.Text = this.listBoxList.Items.Count.ToString(); | |||
|  | 
 | |||
|  |                         splash.Finish(); | |||
|  | 
 | |||
|  |                         DialogFormMessage msg = new DialogFormMessage("1", this.ParentForm.ParentForm.SystemConfig1.Language); | |||
|  |                         msg.ShowDialog(); | |||
|  |                     } | |||
|  |                     catch | |||
|  |                     { | |||
|  |                         splash.Finish(); | |||
|  | 
 | |||
|  |                         // 제조사에 문의하세요 | |||
|  |                         DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.ParentForm.SystemConfig1.Language); | |||
|  |                         msg.ShowDialog(); | |||
|  |                         return; | |||
|  |                     } | |||
|  |                     #endregion | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (Exception ex) | |||
|  |             { | |||
|  |                 FormMain.Exception(ex); | |||
|  | 
 | |||
|  |                 directoryCheck = dir.Exists; | |||
|  |                 // 폴더 체크 | |||
|  |                 if (directoryCheck == false) | |||
|  |                     dir.Create(); | |||
|  | 
 | |||
|  |                 FileInfo[] files = dir.GetFiles(); | |||
|  | 
 | |||
|  |                 this.listBoxList.SelectedIndex = -1; | |||
|  |                 this.listBoxList.Items.Clear(); | |||
|  | 
 | |||
|  |                 foreach (FileInfo file in files) | |||
|  |                 { | |||
|  |                     if (file.Name.Contains("Data") != true && file.Name.Contains("Stat") != true && file.Name.Contains(".jpg") != true) | |||
|  |                         this.listBoxList.Items.Add(file.Name); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 this.labelFilesCount.Text = this.listBoxList.Items.Count.ToString(); | |||
|  |                 this.buttonFileView.Enabled = false; | |||
|  |             } | |||
|  |             this.listBoxContents.Items.Clear(); | |||
|  |             this.listBoxList.SelectedIndexChanged += new EventHandler(this.listBoxList_SelectedIndexChanged); | |||
|  | 
 | |||
|  |             if(this.ParentForm.ParentForm.SystemConfig3.IsStartStopLog == true) | |||
|  |                 this.ParentForm.ParentForm.smartFileStartStopLog.Open(); | |||
|  |         } | |||
|  | 
 | |||
|  |         private void buttonClear_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (this.listBoxList.Items.Count == 0) | |||
|  |                 return; | |||
|  | 
 | |||
|  |             this.ParentForm.ParentForm.smartFileCommunicationLog.Close(); | |||
|  |             this.ParentForm.ParentForm.IsCommunicationLogOpen = false; | |||
|  |             this.ParentForm.ParentForm.smartFileStartStopLog.Close(); | |||
|  |             this.ParentForm.ParentForm.smartFileCheckLog.Close(); | |||
|  |             this.ParentForm.ParentForm.IsErrorLogOpen = false; | |||
|  | 
 | |||
|  |             bool directoryCheck = false; | |||
|  |             DirectoryInfo dir = new DirectoryInfo(this.ParentForm.ParentForm.PathDataBackupFolder); | |||
|  |             directoryCheck = dir.Exists; | |||
|  |             // 폴더 체크 | |||
|  |             if (directoryCheck == false) | |||
|  |                 dir.Create(); | |||
|  | 
 | |||
|  |             FileInfo[] checkLogFiles = dir.GetFiles(); | |||
|  | 
 | |||
|  |             this.listBoxList.SelectedIndexChanged -= new EventHandler(this.listBoxList_SelectedIndexChanged); | |||
|  |             try | |||
|  |             { | |||
|  |                 DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 28); | |||
|  |                 if (myDlg.ShowDialog() == DialogResult.Yes) | |||
|  |                 { | |||
|  |                     SmartSplash splash = new SmartSplash(); | |||
|  |                     splash.CenterPosition = true; | |||
|  |                     splash.AnimationInterval = 200; | |||
|  |                     splash.LoadingImagePathname = "SmartLoading4"; | |||
|  |                     splash.Start(); | |||
|  | 
 | |||
|  |                     if (this.listBoxList.SelectedIndex == -1) | |||
|  |                     { | |||
|  |                         #region ListBox 선택되지 않았을 때 | |||
|  |                         try | |||
|  |                         { | |||
|  |                             FileInfo[] files = dir.GetFiles(); | |||
|  | 
 | |||
|  |                             foreach (FileInfo file in files) | |||
|  |                             { | |||
|  |                                 if (file.Name.Contains("Data") != true && file.Name.Contains("Stat") != true && file.Name.Contains(".jpg") != true) | |||
|  |                                 { | |||
|  |                                     this.listBoxList.Items.Remove(file.Name); | |||
|  |                                     file.Delete(); | |||
|  |                                 } | |||
|  |                             } | |||
|  |                             this.labelFilesCount.Text = this.listBoxList.Items.Count.ToString(); | |||
|  | 
 | |||
|  |                             splash.Finish(); | |||
|  |                         } | |||
|  |                         catch | |||
|  |                         { | |||
|  |                             splash.Finish(); | |||
|  | 
 | |||
|  |                             DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.ParentForm.SystemConfig1.Language); | |||
|  |                             msg.ShowDialog(); | |||
|  |                             return; | |||
|  |                         } | |||
|  |                         #endregion | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         #region ListBox 선택되었을 때 | |||
|  |                         try | |||
|  |                         { | |||
|  |                             if (this.listBoxList.SelectedIndex >= 0) | |||
|  |                             { | |||
|  |                                 FileInfo[] files = dir.GetFiles(); | |||
|  | 
 | |||
|  |                                 foreach (FileInfo file in files) | |||
|  |                                 { | |||
|  |                                     if (file.Name.Contains(this.listBoxList.SelectedItem.ToString()) == true) | |||
|  |                                     { | |||
|  |                                         this.listBoxList.Items.Remove(file.Name); | |||
|  |                                         file.Delete(); | |||
|  |                                         break; | |||
|  |                                     } | |||
|  |                                 } | |||
|  |                                 this.labelFilesCount.Text = this.listBoxList.Items.Count.ToString(); | |||
|  | 
 | |||
|  |                                 splash.Finish(); | |||
|  |                             } | |||
|  |                         } | |||
|  |                         catch | |||
|  |                         { | |||
|  |                             splash.Finish(); | |||
|  | 
 | |||
|  |                             DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.ParentForm.SystemConfig1.Language); | |||
|  |                             msg.ShowDialog(); | |||
|  |                             return; | |||
|  |                         } | |||
|  |                         #endregion | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             catch (Exception ex) | |||
|  |             { | |||
|  |                 FormMain.Exception(ex); | |||
|  | 
 | |||
|  |                 directoryCheck = dir.Exists; | |||
|  |                 // 폴더 체크 | |||
|  |                 if (directoryCheck == false) | |||
|  |                     dir.Create(); | |||
|  | 
 | |||
|  |                 FileInfo[] files = dir.GetFiles(); | |||
|  | 
 | |||
|  |                 this.listBoxList.SelectedIndex = -1; | |||
|  |                 this.listBoxList.Items.Clear(); | |||
|  | 
 | |||
|  |                 foreach (FileInfo file in files) | |||
|  |                 { | |||
|  |                     if (file.Name.Contains("Data") != true && file.Name.Contains("Stat") != true && file.Name.Contains(".jpg") != true) | |||
|  |                         this.listBoxList.Items.Add(file.Name); | |||
|  |                 } | |||
|  | 
 | |||
|  |                 this.labelFilesCount.Text = this.listBoxList.Items.Count.ToString(); | |||
|  |                 this.buttonFileView.Enabled = false; | |||
|  |             } | |||
|  |             this.listBoxContents.Items.Clear(); | |||
|  |             this.listBoxList.SelectedIndexChanged += new EventHandler(this.listBoxList_SelectedIndexChanged); | |||
|  |         } | |||
|  |         #endregion | |||
|  |     } | |||
|  | } |