INT69DC_7C/INT69DC_7C/Forms/FormDataStatistics.cs

1160 lines
56 KiB
C#

using System;
using System.Linq;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing.Imaging;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using SmartX;
using INT69DC_ImageDll;
using INT69DC_7C.DialogForms;
using INT69DC_7C.Controls;
namespace INT69DC_7C.Forms
{
public partial class FormDataStatistics : Form
{
#region Field
private int FileIndex;
public string SelectFilePath;
private FormMain m_ParentForm;
public DataCommonList CurrentDataCommonList;
private Collection<string[]> CollectionWeightData; //파일에서 읽은 데이터
private Collection<DataCollector> CollectionLaneData; //파일에서 읽은 데이터를 통계 계산 처리된 데이터
private Collection<SmartLabel> CollectionCommonLabel;
private Collection<SmartLabel> CollectionLane;
private Collection<SmartLabel> CollectionPassCount;
private Collection<SmartLabel> CollectionPassAverage;
private Collection<SmartLabel> CollectionPassPercentage;
private Collection<SmartLabel> CollectionPassSD;
private Collection<SmartLabel> CollectionPassMinWeight;
private Collection<SmartLabel> CollectionPassMaxWeight;
private Collection<SmartLabel> CollectionOverCount;
private Collection<SmartLabel> CollectionOverSumWeight;
private Collection<SmartLabel> CollectionOverPercentage;
private Collection<SmartLabel> CollectionUnderCount;
private Collection<SmartLabel> CollectionUnderSumWeight;
private Collection<SmartLabel> CollectionUnderPercentage;
private Collection<SmartLabel> CollectionExNgCount;
private Collection<SmartLabel> CollectionExNgPercentage;
private Collection<SmartLabel> CollectionTotalCount;
private Collection<SmartLabel> CollectionTotalNGCount;
#endregion
#region Constructor
public FormDataStatistics(FormMain parent)
{
InitializeComponent();
this.ParentForm = parent;
this.InitializeDesign();
this.DefaultSetting();
this.InitializeControl();
}
#endregion
#region Property
public FormMain ParentForm
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
}
#endregion
#region Method
private void InitializeDesign()
{
ImageDll images = new ImageDll();
if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Korean)
{
this.labelTitleInformation.Text = "정보";
this.labelTitleStartTime.Text = "시작시간";
this.labelTitleEndTime.Text = "종료시간";
this.labelTitleRange.Text = "범위[g]";
this.labelTitleRangeOver.Text = "상한";
this.labelTitleRangePass.Text = "기준";
this.labelTitleRangeUnder.Text = "하한";
this.labelTitleRangeTare.Text = "용기";
this.labelTitleAllCnt.Text = "수량[ea/%]";
this.labelTitleAllCntOver.Text = "상한";
this.labelTitleAllCntPass.Text = "정상";
this.labelTitleAllCntUnder.Text = "하한";
this.labelTitleAllCntExng.Text = "기타불량";
this.labelTitleAllCntTotalNg.Text = "전체불량";
this.labelTitleAllCntTotal.Text = "전체수량";
this.labelTitleAllSumWeight.Text = "누적 중량[kg]";
this.labelTitleAllSumWeightOver.Text = "상한";
this.labelTitleAllSumWeightUnder.Text = "하한";
this.labelTitleAllPass.Text = "정상[g]";
this.labelTitleAllPassAverage.Text = "평균";
this.labelTitleAllPassSd.Text = "표준편차";
this.labelTitlePassCnt.Text = "정상/수량[ea]";
this.labelTitlePassAverage.Text = "평균[g]";
this.labelTitlePassPercentage.Text = "백분율[%]";
this.labelTitlePassSd.Text = "표준편차[g]";
this.labelTitlePassMinWeight.Text = "최소중량[g]";
this.labelTitlePassMaxWeight.Text = "최대중량[g]";
this.labelTitleOverCnt.Text = "상한/수량[ea]";
this.labelTitleOverSumWeight.Text = "누적중량[kg]";
this.labelTitleOverPercentage.Text = "백분율[%]";
this.labelTitleUnderCnt.Text = "하한/수량[ea]";
this.labelTitleUnderSumWeight.Text = "누적중량[kg]";
this.labelTitleUnderPercentage.Text = "백분율[%]";
this.labelTitleExngCnt.Text = "기타불량/수량[ea]";
this.labelTitleExngPercentage.Text = "백분율[%]";
this.labelTitleTotalCnt.Text = "전체수량[ea]";
this.labelTitleTotalNgCnt.Text = "전체불량[ea]";
this.labelTitleExngCnt.Font = new Font("New Gulim", 9F, FontStyle.Bold);
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.English)
{
this.labelTitle.Text = "Data Statistics";
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
{
this.labelTitle.Text = "Data Statistics";
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackupDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackupDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackupUp));
this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFileSelectDisable));
this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFileSelectDown));
this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFileSelectUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
{
this.labelTitle.Text = "Data Statistics";
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupUp));
this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFileSelectDisable));
this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFileSelectDown));
this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFileSelectUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackUp));
}
else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
{
this.labelTitle.Text = "Data Statistics";
this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupDisable));
this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupDown));
this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupUp));
this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerFileSelectDisable));
this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerFileSelectDown));
this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerFileSelectUp));
this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDisable));
this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDown));
this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackUp));
}
else
{
}
}
private void InitializeControl()
{
int locationX = 0;
#region Label Visible
for (int i = this.ParentForm.SystemConfig.EquipmentColumns; i < 12; i++)
{
this.CollectionLane[i].Visible = false;
this.CollectionPassCount[i].Visible = false;
this.CollectionPassAverage[i].Visible = false;
this.CollectionPassPercentage[i].Visible = false;
this.CollectionPassSD[i].Visible = false;
this.CollectionPassMinWeight[i].Visible = false;
this.CollectionPassMaxWeight[i].Visible = false;
this.CollectionOverCount[i].Visible = false;
this.CollectionOverSumWeight[i].Visible = false;
this.CollectionOverPercentage[i].Visible = false;
this.CollectionUnderCount[i].Visible = false;
this.CollectionUnderSumWeight[i].Visible = false;
this.CollectionUnderPercentage[i].Visible = false;
this.CollectionExNgCount[i].Visible = false;
this.CollectionExNgPercentage[i].Visible = false;
this.CollectionTotalCount[i].Visible = false;
this.CollectionTotalNGCount[i].Visible = false;
}
#endregion
#region Label Location
if (this.ParentForm.SystemConfig.EquipmentColumns == 7)
locationX = 50;
else if (this.ParentForm.SystemConfig.EquipmentColumns == 8)
locationX = 40;
else if (this.ParentForm.SystemConfig.EquipmentColumns == 10)
locationX = 16;
for (int i = 1; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
{
this.CollectionLane[i].Location = new Point(this.CollectionLane[i].Location.X + locationX * i, this.CollectionLane[i].Location.Y);
this.CollectionPassCount[i].Location = new Point(this.CollectionPassCount[i].Location.X + locationX * i, this.CollectionPassCount[i].Location.Y);
this.CollectionPassAverage[i].Location = new Point(this.CollectionPassAverage[i].Location.X + locationX * i, this.CollectionPassAverage[i].Location.Y);
this.CollectionPassPercentage[i].Location = new Point(this.CollectionPassPercentage[i].Location.X + locationX * i, this.CollectionPassPercentage[i].Location.Y);
this.CollectionPassSD[i].Location = new Point(this.CollectionPassSD[i].Location.X + locationX * i, this.CollectionPassSD[i].Location.Y);
this.CollectionPassMinWeight[i].Location = new Point(this.CollectionPassMinWeight[i].Location.X + locationX * i, this.CollectionPassMinWeight[i].Location.Y);
this.CollectionPassMaxWeight[i].Location = new Point(this.CollectionPassMaxWeight[i].Location.X + locationX * i, this.CollectionPassMaxWeight[i].Location.Y);
this.CollectionOverCount[i].Location = new Point(this.CollectionOverCount[i].Location.X + locationX * i, this.CollectionOverCount[i].Location.Y);
this.CollectionOverSumWeight[i].Location = new Point(this.CollectionOverSumWeight[i].Location.X + locationX * i, this.CollectionOverSumWeight[i].Location.Y);
this.CollectionOverPercentage[i].Location = new Point(this.CollectionOverPercentage[i].Location.X + locationX * i, this.CollectionOverPercentage[i].Location.Y);
this.CollectionUnderCount[i].Location = new Point(this.CollectionUnderCount[i].Location.X + locationX * i, this.CollectionUnderCount[i].Location.Y);
this.CollectionUnderSumWeight[i].Location = new Point(this.CollectionUnderSumWeight[i].Location.X + locationX * i, this.CollectionUnderSumWeight[i].Location.Y);
this.CollectionUnderPercentage[i].Location = new Point(this.CollectionUnderPercentage[i].Location.X + locationX * i, this.CollectionUnderPercentage[i].Location.Y);
this.CollectionExNgCount[i].Location = new Point(this.CollectionExNgCount[i].Location.X + locationX * i, this.CollectionExNgCount[i].Location.Y);
this.CollectionExNgPercentage[i].Location = new Point(this.CollectionExNgPercentage[i].Location.X + locationX * i, this.CollectionExNgPercentage[i].Location.Y);
this.CollectionTotalCount[i].Location = new Point(this.CollectionTotalCount[i].Location.X + locationX * i, this.CollectionTotalCount[i].Location.Y);
this.CollectionTotalNGCount[i].Location = new Point(this.CollectionTotalNGCount[i].Location.X + locationX * i, this.CollectionTotalNGCount[i].Location.Y);
}
#endregion
}
private void DefaultSetting()
{
this.FileIndex = 0;
this.SelectFilePath = "";
this.CurrentDataCommonList = new DataCommonList();
this.CollectionWeightData = new Collection<string[]>();
this.CollectionLaneData = new Collection<DataCollector>();
this.CollectionCommonLabel = new Collection<SmartLabel>();
this.CollectionLane = new Collection<SmartLabel>();
this.CollectionPassCount = new Collection<SmartLabel>();
this.CollectionPassAverage = new Collection<SmartLabel>();
this.CollectionPassPercentage = new Collection<SmartLabel>();
this.CollectionPassSD = new Collection<SmartLabel>();
this.CollectionPassMinWeight = new Collection<SmartLabel>();
this.CollectionPassMaxWeight = new Collection<SmartLabel>();
this.CollectionOverCount = new Collection<SmartLabel>();
this.CollectionOverSumWeight = new Collection<SmartLabel>();
this.CollectionOverPercentage = new Collection<SmartLabel>();
this.CollectionUnderCount = new Collection<SmartLabel>();
this.CollectionUnderSumWeight = new Collection<SmartLabel>();
this.CollectionUnderPercentage = new Collection<SmartLabel>();
this.CollectionExNgCount = new Collection<SmartLabel>();
this.CollectionExNgPercentage = new Collection<SmartLabel>();
this.CollectionTotalCount = new Collection<SmartLabel>();
this.CollectionTotalNGCount = new Collection<SmartLabel>();
this.CollectionCommonLabel.Add(this.labelProductName);
this.CollectionCommonLabel.Add(this.labelLot);
this.CollectionCommonLabel.Add(this.labelStartTime);
this.CollectionCommonLabel.Add(this.labelEndTime);
this.CollectionCommonLabel.Add(this.labelOverRange);
this.CollectionCommonLabel.Add(this.labelPassRange);
this.CollectionCommonLabel.Add(this.labelUnderRange);
this.CollectionCommonLabel.Add(this.labelTareRange);
this.CollectionCommonLabel.Add(this.labelTotalCount);
this.CollectionCommonLabel.Add(this.labelTotalNGCount);
this.CollectionCommonLabel.Add(this.labelTotalPassCount);
this.CollectionCommonLabel.Add(this.labelTotalOverCount);
this.CollectionCommonLabel.Add(this.labelTotalUnderCount);
this.CollectionCommonLabel.Add(this.labelTotalExNgCount);
this.CollectionCommonLabel.Add(this.labelTotalPassAverage);
this.CollectionCommonLabel.Add(this.labelTotalPassStandardDeviation);
this.CollectionCommonLabel.Add(this.labelTotalOverSumWeight);
this.CollectionCommonLabel.Add(this.labelTotalUnderSumWeight);
for (int i = 1; i <= 12; i++)
{
this.CollectionLane.Add(FindByNameUtil.SmartLabel("labelLane" + i, this));
this.CollectionPassCount.Add(FindByNameUtil.SmartLabel("labelPassCount" + i, this));
this.CollectionPassAverage.Add(FindByNameUtil.SmartLabel("labelPassAverage" + i, this));
this.CollectionPassPercentage.Add(FindByNameUtil.SmartLabel("labelPassPercentage" + i, this));
this.CollectionPassSD.Add(FindByNameUtil.SmartLabel("labelPassStandardDeviation" + i, this));
this.CollectionPassMinWeight.Add(FindByNameUtil.SmartLabel("labelPassMinWeight" + i, this));
this.CollectionPassMaxWeight.Add(FindByNameUtil.SmartLabel("labelPassMaxWeight" + i, this));
this.CollectionOverCount.Add(FindByNameUtil.SmartLabel("labelOverCount" + i, this));
this.CollectionOverSumWeight.Add(FindByNameUtil.SmartLabel("labelOverSumWeight" + i, this));
this.CollectionOverPercentage.Add(FindByNameUtil.SmartLabel("labelOverPercentage" + i, this));
this.CollectionUnderCount.Add(FindByNameUtil.SmartLabel("labelUnderCount" + i, this));
this.CollectionUnderSumWeight.Add(FindByNameUtil.SmartLabel("labelUnderSumWeight" + i, this));
this.CollectionUnderPercentage.Add(FindByNameUtil.SmartLabel("labelUnderPercentage" + i, this));
this.CollectionExNgCount.Add(FindByNameUtil.SmartLabel("labelExNgCount" + i, this));
this.CollectionExNgPercentage.Add(FindByNameUtil.SmartLabel("labelExNgPercentage" + i, this));
this.CollectionTotalCount.Add(FindByNameUtil.SmartLabel("labelTotalCount" + i, this));
this.CollectionTotalNGCount.Add(FindByNameUtil.SmartLabel("labelTotalNGCount" + i, this));
}
for (int i = 0; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
this.CollectionLaneData.Add(new DataCollector());
this.InitializeLabels();
}
private void InitializeLabels()
{
foreach (SmartLabel label in this.CollectionCommonLabel)
label.Text = "-";
for (int i = 0; i < 12; i++)
{
this.CollectionPassCount[i].Text = "0";
this.CollectionPassAverage[i].Text = "0";
this.CollectionPassPercentage[i].Text = "0";
this.CollectionPassSD[i].Text = "0";
this.CollectionPassMinWeight[i].Text = "0";
this.CollectionPassMaxWeight[i].Text = "0";
this.CollectionOverCount[i].Text = "0";
this.CollectionOverSumWeight[i].Text = "0";
this.CollectionOverPercentage[i].Text = "0";
this.CollectionUnderCount[i].Text = "0";
this.CollectionUnderSumWeight[i].Text = "0";
this.CollectionUnderPercentage[i].Text = "0";
this.CollectionExNgCount[i].Text = "0";
this.CollectionExNgPercentage[i].Text = "0";
this.CollectionTotalCount[i].Text = "0";
this.CollectionTotalNGCount[i].Text = "0";
}
}
private void SetCommonData(Collection<string[]> datas, Collection<DataCollector> laneDatas)
{
double dValue1 = 0.0, dValue2 = 0.0, passSumWeight = 0.0, overSumWeight = 0.0, underSumWeight = 0.0, passAverageWeight = 0.0, passVariance = 0.0;
string sValue = "";
int underCount = 0, passCount = 0, overCount = 0, exNGCount = 0;
this.CurrentDataCommonList.ProductName = datas[datas.Count - 1][3];
this.CurrentDataCommonList.Lot = datas[datas.Count - 1][4];
this.CurrentDataCommonList.StartTime = string.Format("{0} {1}", datas[0][0], datas[0][1]);
this.CurrentDataCommonList.EndTime = string.Format("{0} {1}", datas[datas.Count - 1][0], datas[datas.Count - 1][1]);
dValue1 = double.Parse(datas[datas.Count - 1][5]);
sValue = Helper.DoubleToString(dValue1, 1);
this.CurrentDataCommonList.UnderRange = sValue;
dValue1 = double.Parse(datas[datas.Count - 1][6]);
sValue = Helper.DoubleToString(dValue1, 1);
this.CurrentDataCommonList.PassRange = sValue;
dValue1 = double.Parse(datas[datas.Count - 1][7]);
sValue = Helper.DoubleToString(dValue1, 1);
this.CurrentDataCommonList.OverRange = sValue;
dValue1 = double.Parse(datas[datas.Count - 1][8]);
sValue = Helper.DoubleToString(dValue1, 1);
this.CurrentDataCommonList.TareRange = sValue;
for (int i = 0; i < laneDatas.Count; i++)
{
underCount += laneDatas[i].UnderTotalCount;
passCount += laneDatas[i].PassTotalCount;
overCount += laneDatas[i].OverTotalCount;
exNGCount += laneDatas[i].ExNgTotalCount;
passSumWeight += laneDatas[i].PassSumWeight;
overSumWeight += laneDatas[i].OverSumWeight;
underSumWeight += laneDatas[i].UnderSumWeight;
}
// 전체 정량 평균
passAverageWeight = passSumWeight / passCount;
// 전체 정량 분산
for (int i = 0; i < laneDatas.Count; i++)
{
for (int j = 0; j < laneDatas[i].PassWeightData.Count; j++)
{
dValue1 = passAverageWeight - laneDatas[i].PassWeightData[j];
dValue2 += dValue1 * dValue1;
}
}
passVariance = dValue2 / passCount;
this.CurrentDataCommonList.TotalUnderCount = underCount;
this.CurrentDataCommonList.TotalPassCount = passCount;
this.CurrentDataCommonList.TotalOverCount = overCount;
this.CurrentDataCommonList.TotalExNgCount = exNGCount;
this.CurrentDataCommonList.TotalPassSumWeight = passSumWeight;
this.CurrentDataCommonList.TotalOverSumWeight = overSumWeight;
this.CurrentDataCommonList.TotalUnderSumWeight = underSumWeight;
this.CurrentDataCommonList.TotalPassAverageWeight = passAverageWeight;
this.CurrentDataCommonList.TotalPassVariance = passVariance;
}
private void SetData(DataCollector data, string weight, DataStore.JudgmentStatus grade)
{
if (grade == DataStore.JudgmentStatus.Pass)
data.AddPassWeight(double.Parse(weight));
else if (grade == DataStore.JudgmentStatus.Over)
data.AddOverWeight(double.Parse(weight));
else if (grade == DataStore.JudgmentStatus.Under)
data.AddUnderWeight(double.Parse(weight));
else
data.AddExNgWeight(double.Parse(weight));
}
private void UpdateDisplay(DataCommonList commonList, Collection<DataCollector> datas)
{
this.SetLabelText(this.labelProductName, commonList.ProductName);
this.SetLabelText(this.labelLot, commonList.Lot);
this.SetLabelText(this.labelStartTime, commonList.StartTime);
this.SetLabelText(this.labelEndTime, commonList.EndTime);
this.SetLabelText(this.labelUnderRange, commonList.UnderRange);
this.SetLabelText(this.labelPassRange, commonList.PassRange);
this.SetLabelText(this.labelOverRange, commonList.OverRange);
this.SetLabelText(this.labelTareRange, commonList.TareRange);
this.SetLabelText(this.labelTotalCount, string.Format("{0}", commonList.TotalCount.ToString()));
this.SetLabelText(this.labelTotalUnderCount, string.Format("{0} / {1}", commonList.TotalUnderCount, commonList.TotalUnderPercentage));
this.SetLabelText(this.labelTotalPassCount, string.Format("{0} / {1}", commonList.TotalPassCount, commonList.TotalPassPercentage));
this.SetLabelText(this.labelTotalOverCount, string.Format("{0} / {1}", commonList.TotalOverCount, commonList.TotalOverPercentage));
this.SetLabelText(this.labelTotalExNgCount, string.Format("{0} / {1}", commonList.TotalExNgCount, commonList.TotalExNgPercentage));
this.SetLabelText(this.labelTotalNGCount, string.Format("{0}", commonList.TotalNGCount.ToString()));
this.SetLabelText(this.labelTotalPassAverage, string.Format("{0:0.000}", commonList.TotalPassAverageWeight));
this.SetLabelText(this.labelTotalPassStandardDeviation, string.Format("{0:0.00}", commonList.TotalPassStandardDeviation));
this.SetLabelText(this.labelTotalOverSumWeight, string.Format("{0}", Helper.DoubleToString(commonList.TotalOverSumWeight / 1000, 3)));
this.SetLabelText(this.labelTotalUnderSumWeight, string.Format("{0}", Helper.DoubleToString(commonList.TotalUnderSumWeight / 1000, 3)));
for (int i = 0; i < datas.Count; i++)
{
this.SetLabelText(this.CollectionPassCount[i], datas[i].PassTotalCount.ToString());
this.SetLabelText(this.CollectionPassAverage[i], string.Format("{0:0.000}", datas[i].PassAverage));
this.SetLabelText(this.CollectionPassPercentage[i], datas[i].PassPercentage.ToString());
this.SetLabelText(this.CollectionPassSD[i], string.Format("{0:0.00}", datas[i].PassStandardDeviation));
this.SetLabelText(this.CollectionPassMinWeight[i], Helper.DoubleToString(datas[i].PassMinWeight, 1));
this.SetLabelText(this.CollectionPassMaxWeight[i], Helper.DoubleToString(datas[i].PassMaxWeight, 1));
this.SetLabelText(this.CollectionOverCount[i], datas[i].OverTotalCount.ToString());
this.SetLabelText(this.CollectionOverSumWeight[i], Helper.DoubleToString(datas[i].OverSumWeight / 1000, 3));
this.SetLabelText(this.CollectionOverPercentage[i], datas[i].OverPercentage.ToString());
this.SetLabelText(this.CollectionUnderCount[i], datas[i].UnderTotalCount.ToString());
this.SetLabelText(this.CollectionUnderSumWeight[i], Helper.DoubleToString(datas[i].UnderSumWeight / 1000, 3));
this.SetLabelText(this.CollectionUnderPercentage[i], datas[i].UnderPercentage.ToString());
this.SetLabelText(this.CollectionExNgCount[i], datas[i].ExNgTotalCount.ToString());
this.SetLabelText(this.CollectionExNgPercentage[i], datas[i].ExNgPercentage.ToString());
this.SetLabelText(this.CollectionTotalCount[i], datas[i].TotalCount.ToString());
this.SetLabelText(this.CollectionTotalNGCount[i], datas[i].TotalNGCount.ToString());
}
}
private void SetLabelText(SmartLabel label, string value)
{
if (label.Text != value)
label.Text = value;
}
private void LoadDataBackupFile(ref Collection<List<string[]>> datas, string path, int index)
{
int flag = 0;
long count = 0;
this.ParentForm.smartFileIO.FilePathName = path;
this.ParentForm.smartFileIO.Open(2000000);
this.ParentForm.smartFileIO.ReadStringAllBuffer();
count = this.ParentForm.smartFileIO.GetCount();
for (int i = 0; i < count; i++)
{
if (flag == 100)
{
Thread.Sleep(5);
flag = 0;
}
datas[index].Add(this.ParentForm.smartFileIO.ReadStringBuffer(i).Split(','));
flag++;
}
this.ParentForm.smartFileIO.Close();
datas[index].RemoveAt(0);
}
private void DataAnalysis()
{
#region Set Data
if (this.ParentForm.SystemConfig.EquipmentColumns == 7)
{
for (int i = 0; i < this.CollectionWeightData.Count; i++)
{
this.SetData(this.CollectionLaneData[0], this.CollectionWeightData[i][9], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][10]));
this.SetData(this.CollectionLaneData[1], this.CollectionWeightData[i][11], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][12]));
this.SetData(this.CollectionLaneData[2], this.CollectionWeightData[i][13], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][14]));
this.SetData(this.CollectionLaneData[3], this.CollectionWeightData[i][15], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][16]));
this.SetData(this.CollectionLaneData[4], this.CollectionWeightData[i][17], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][18]));
this.SetData(this.CollectionLaneData[5], this.CollectionWeightData[i][19], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][20]));
this.SetData(this.CollectionLaneData[6], this.CollectionWeightData[i][21], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][22]));
}
}
else if (this.ParentForm.SystemConfig.EquipmentColumns == 8)
{
for (int i = 0; i < this.CollectionWeightData.Count; i++)
{
this.SetData(this.CollectionLaneData[0], this.CollectionWeightData[i][9], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][10]));
this.SetData(this.CollectionLaneData[1], this.CollectionWeightData[i][11], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][12]));
this.SetData(this.CollectionLaneData[2], this.CollectionWeightData[i][13], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][14]));
this.SetData(this.CollectionLaneData[3], this.CollectionWeightData[i][15], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][16]));
this.SetData(this.CollectionLaneData[4], this.CollectionWeightData[i][17], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][18]));
this.SetData(this.CollectionLaneData[5], this.CollectionWeightData[i][19], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][20]));
this.SetData(this.CollectionLaneData[6], this.CollectionWeightData[i][21], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][22]));
this.SetData(this.CollectionLaneData[7], this.CollectionWeightData[i][23], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][24]));
}
}
else if (this.ParentForm.SystemConfig.EquipmentColumns == 10)
{
for (int i = 0; i < this.CollectionWeightData.Count; i++)
{
this.SetData(this.CollectionLaneData[0], this.CollectionWeightData[i][9], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][10]));
this.SetData(this.CollectionLaneData[1], this.CollectionWeightData[i][11], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][12]));
this.SetData(this.CollectionLaneData[2], this.CollectionWeightData[i][13], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][14]));
this.SetData(this.CollectionLaneData[3], this.CollectionWeightData[i][15], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][16]));
this.SetData(this.CollectionLaneData[4], this.CollectionWeightData[i][17], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][18]));
this.SetData(this.CollectionLaneData[5], this.CollectionWeightData[i][19], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][20]));
this.SetData(this.CollectionLaneData[6], this.CollectionWeightData[i][21], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][22]));
this.SetData(this.CollectionLaneData[7], this.CollectionWeightData[i][23], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][24]));
this.SetData(this.CollectionLaneData[8], this.CollectionWeightData[i][25], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][26]));
this.SetData(this.CollectionLaneData[9], this.CollectionWeightData[i][27], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][28]));
}
}
else
{
for (int i = 0; i < this.CollectionWeightData.Count; i++)
{
this.SetData(this.CollectionLaneData[0], this.CollectionWeightData[i][9], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][10]));
this.SetData(this.CollectionLaneData[1], this.CollectionWeightData[i][11], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][12]));
this.SetData(this.CollectionLaneData[2], this.CollectionWeightData[i][13], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][14]));
this.SetData(this.CollectionLaneData[3], this.CollectionWeightData[i][15], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][16]));
this.SetData(this.CollectionLaneData[4], this.CollectionWeightData[i][17], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][18]));
this.SetData(this.CollectionLaneData[5], this.CollectionWeightData[i][19], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][20]));
this.SetData(this.CollectionLaneData[6], this.CollectionWeightData[i][21], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][22]));
this.SetData(this.CollectionLaneData[7], this.CollectionWeightData[i][23], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][24]));
this.SetData(this.CollectionLaneData[8], this.CollectionWeightData[i][25], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][26]));
this.SetData(this.CollectionLaneData[9], this.CollectionWeightData[i][27], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][28]));
this.SetData(this.CollectionLaneData[10], this.CollectionWeightData[i][29], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][30]));
this.SetData(this.CollectionLaneData[11], this.CollectionWeightData[i][31], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][32]));
}
}
#endregion
for (int i = 0; i < this.CollectionLaneData.Count; i++)
this.CollectionLaneData[i].StatisticalAnalysis();
this.SetCommonData(this.CollectionWeightData, this.CollectionLaneData);
this.UpdateDisplay(this.CurrentDataCommonList, this.CollectionLaneData);
}
public int DataRead()
{
int ret = 0, flag = 0;
long count = 0;
if (this.SelectFilePath == "")
return ret = -1;
SmartSplash splash = new SmartSplash();
splash.CenterPosition = true;
splash.AnimationInterval = 100;
splash.LoadingImagePathname = "SmartLoading4";
splash.Start();
this.CollectionWeightData.Clear();
this.ParentForm.smartFileIO.FilePathName = this.SelectFilePath;
this.ParentForm.smartFileIO.Open(2000000);
this.ParentForm.smartFileIO.ReadStringAllBuffer();
try
{
count = this.ParentForm.smartFileIO.GetCount();
for (int i = 0; i < count; i++)
{
if (flag == 100)
{
Thread.Sleep(5);
flag = 0;
}
this.CollectionWeightData.Add(this.ParentForm.smartFileIO.ReadStringBuffer(i).Split(','));
flag++;
}
this.ParentForm.smartFileIO.Close();
this.CollectionWeightData.RemoveAt(0);
this.DataAnalysis();
ret = 0;
splash.Finish();
}
catch
{
ret = -1;
splash.Finish();
DialogFormMessage msg = new DialogFormMessage(13, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
this.ParentForm.smartFileIO.Close();
}
return ret;
}
public void ClearData()
{
this.InitializeLabels();
for (int i = 0; i < this.CollectionLaneData.Count; i++)
this.CollectionLaneData[i].ClearDatas();
}
private void FileBackup1(string path, DateTime time, DataCommonList commonList, Collection<DataCollector> datas)
{
bool fileCheck = false;
string fullFilePath = "";
StreamWriter sw;
fullFilePath = string.Format("{0}S{1:yyyyMMdd-HHmmss}.csv", path, time);
this.ParentForm.smartFileIO.FilePathName = fullFilePath;
sw = new StreamWriter(fullFilePath, true, Encoding.UTF8);
FileInfo fileInfo = new FileInfo(fullFilePath);
fileCheck = fileInfo.Exists;
if (fileCheck == true)
{
this.ParentForm.smartFileIO.Open(this.ParentForm.BufferSmartUart);
for (int i = 0; i < 40; i++)
{
this.ParentForm.smartFileIO.WriteString("");
}
this.ParentForm.smartFileIO.Close();
}
sw.WriteLine(string.Format("Product Name,{0}", commonList.ProductName));
sw.WriteLine(string.Format("Lot,{0}", commonList.Lot));
sw.WriteLine(string.Format("Start Time,{0}", commonList.StartTime));
sw.WriteLine(string.Format("End Time,{0}", commonList.EndTime));
sw.WriteLine(string.Format("Under Range[g],{0}", commonList.UnderRange));
sw.WriteLine(string.Format("Pass Range[g],{0}", commonList.PassRange));
sw.WriteLine(string.Format("Over Range[g],{0}", commonList.OverRange));
sw.WriteLine(string.Format("Tare Range[g],{0}", commonList.TareRange));
sw.WriteLine(string.Format("Total Count[ea],{0}", commonList.TotalCount));
sw.WriteLine(string.Format("Total NG Count[ea],{0}", commonList.TotalNGCount));
sw.WriteLine(string.Format("Total Pass Count[ea],{0}", commonList.TotalPassCount));
sw.WriteLine(string.Format("Total Pass Percentage[%],{0}", commonList.TotalPassPercentage));
sw.WriteLine(string.Format("Total Pass Average[g],{0:0.000}", commonList.TotalPassAverageWeight));
sw.WriteLine(string.Format("Total Pass Standard Deviation[g],{0}", commonList.TotalPassStandardDeviation));
sw.WriteLine(string.Format("Total Under Count[ea],{0}", commonList.TotalUnderCount));
sw.WriteLine(string.Format("Total Under Percentage[%],{0}", commonList.TotalUnderPercentage));
sw.WriteLine(string.Format("Total Under Sum Weight[kg],{0:0.000}", commonList.TotalUnderSumWeight / 1000));
sw.WriteLine(string.Format("Total Over Count[ea],{0}", commonList.TotalOverCount));
sw.WriteLine(string.Format("Total Over Percentage[%],{0}", commonList.TotalOverPercentage));
sw.WriteLine(string.Format("Total Over Sum Weight[kg],{0:0.000}", commonList.TotalOverSumWeight / 1000));
sw.WriteLine(string.Format("Total ExNG count[ea],{0}", commonList.TotalExNgCount));
sw.WriteLine(string.Format("Total ExNG Percentage[%],{0}", commonList.TotalExNgPercentage));
sw.Write("");
sw.Write(",");
for (int i = 0; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
{
sw.Write(string.Format("#{0}", i + 1));
sw.Write(",");
}
sw.WriteLine();
#region Pass
sw.Write("Pass Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].PassTotalCount);
}
sw.WriteLine();
sw.Write("Pass Average[g]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(string.Format("{0:0.000}", datas[i].PassAverage));
}
sw.WriteLine();
sw.Write("Pass Percentage[%]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].PassPercentage);
}
sw.WriteLine();
sw.Write("Pass Standard Deviation[g]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(string.Format("{0:0.00}", datas[i].PassStandardDeviation));
}
sw.WriteLine();
sw.Write("Pass Min Weight[g]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(Helper.DoubleToString(datas[i].PassMinWeight, 1));
}
sw.WriteLine();
sw.Write("Pass Max Weight[g]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(Helper.DoubleToString(datas[i].PassMaxWeight, 1));
}
sw.WriteLine();
#endregion
#region Over
sw.Write("Over Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].OverTotalCount);
}
sw.WriteLine();
sw.Write("Over Sum Weight[kg]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(Helper.DoubleToString(datas[i].OverSumWeight / 1000, 3));
}
sw.WriteLine();
sw.Write("Over Percentage[%]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].OverPercentage);
}
sw.WriteLine();
#endregion
#region Under
sw.Write("Under Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].UnderTotalCount);
}
sw.WriteLine();
sw.Write("Under Sum Weight[kg]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(Helper.DoubleToString(datas[i].UnderSumWeight / 1000, 3));
}
sw.WriteLine();
sw.Write("Under Percentage[%]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].UnderPercentage);
}
sw.WriteLine();
#endregion
#region Ex
sw.Write("ExNG Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].ExNgTotalCount);
}
sw.WriteLine();
sw.Write("ExNG Percentage[%]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].ExNgPercentage);
}
sw.WriteLine();
#endregion
#region Total
sw.Write("Total Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].TotalCount);
}
sw.WriteLine();
sw.Write("Total NG Count[ea]");
for (int i = 0; i < datas.Count; i++)
{
sw.Write(",");
sw.Write(datas[i].TotalNGCount);
}
sw.WriteLine();
#endregion
sw.Close();
}
private void FileBackup2(string path, DateTime time, DataCommonList commonList, Collection<DataCollector> datas)
{
bool fileCheck = false;
string fullFilePath = "";
StreamWriter sw;
fullFilePath = string.Format("{0}S{1:yyyyMMdd-HHmmss}.csv", path, time);
this.ParentForm.smartFileIO.FilePathName = fullFilePath;
sw = new StreamWriter(fullFilePath, true, Encoding.UTF8);
FileInfo fileInfo = new FileInfo(fullFilePath);
fileCheck = fileInfo.Exists;
// 같은 파일이 있으면 초기화
if (fileCheck == true)
{
this.ParentForm.smartFileIO.Open(this.ParentForm.BufferSmartUart);
for (int i = 0; i < 40; i++)
{
this.ParentForm.smartFileIO.WriteString("");
}
this.ParentForm.smartFileIO.Close();
}
for (int i = 0; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
{
#region 데이터 출력
// Lane Number
sw.Write("{0}", i + 1);
sw.Write(",");
// ProductName
sw.Write(commonList.ProductName);
sw.Write(",");
// Lot
sw.Write(commonList.Lot);
sw.Write(",");
// StartTime
sw.Write(commonList.StartTime);
sw.Write(",");
// EndTime
sw.Write(commonList.EndTime);
sw.Write(",");
// UnderRange
sw.Write(commonList.UnderRange);
sw.Write(",");
// PassRange
sw.Write(commonList.PassRange);
sw.Write(",");
// OverRange
sw.Write(commonList.OverRange);
sw.Write(",");
// TareRange
sw.Write(commonList.TareRange);
sw.Write(",");
// TotalCount
sw.Write(commonList.TotalCount);
sw.Write(",");
// TotalNGCount
sw.Write(commonList.TotalNGCount);
sw.Write(",");
// TotalPassCount
sw.Write(commonList.TotalPassCount);
sw.Write(",");
// TotalPassPercentage
sw.Write(commonList.TotalPassPercentage);
sw.Write(",");
// TotalPassAverage
sw.Write(string.Format("{0:0.000}", commonList.TotalPassAverageWeight));
sw.Write(",");
// TotalPassSD
sw.Write(string.Format("{0:0.00}", commonList.TotalPassStandardDeviation));
sw.Write(",");
// TotalUnderCount
sw.Write(commonList.TotalUnderCount);
sw.Write(",");
// TotalUnderPercentage
sw.Write(commonList.TotalUnderPercentage);
sw.Write(",");
// TotalUnderSumWeight
sw.Write(string.Format("{0:0.0000}", commonList.TotalUnderSumWeight / 1000));
sw.Write(",");
// TotalOverCount
sw.Write(commonList.TotalOverCount);
sw.Write(",");
// TotalOverPercentage
sw.Write(commonList.TotalOverPercentage);
sw.Write(",");
// TotalOverSumWeight
sw.Write(string.Format("{0:0.0000}", commonList.TotalOverSumWeight / 1000));
sw.Write(",");
// TotalExNgCount
sw.Write(commonList.TotalExNgCount);
sw.Write(",");
// TotalExNgPercentage
sw.Write(commonList.TotalExNgPercentage);
sw.Write(",");
// Lane PassCount
sw.Write(datas[i].PassTotalCount);
sw.Write(",");
// Lane PassAverage
sw.Write(string.Format("{0:0.000}", datas[i].PassAverage));
sw.Write(",");
// Lane PassPercentage
sw.Write(datas[i].PassPercentage);
sw.Write(",");
// Lane PassSD
sw.Write(string.Format("{0:0.00}", datas[i].PassStandardDeviation));
sw.Write(",");
// Lane PassMinWeight
sw.Write(Helper.DoubleToString(datas[i].PassMinWeight, 1));
sw.Write(",");
// Lane PassMaxWeight
sw.Write(Helper.DoubleToString(datas[i].PassMaxWeight, 1));
sw.Write(",");
// Lane OverCount
sw.Write(datas[i].OverTotalCount);
sw.Write(",");
// Lane OverSumWeight
sw.Write(Helper.DoubleToString(datas[i].OverSumWeight / 1000, 3));
sw.Write(",");
// Lane OverPercentage
sw.Write(datas[i].OverPercentage);
sw.Write(",");
// Lane UnderCount
sw.Write(datas[i].UnderTotalCount);
sw.Write(",");
// Lane UnderSumWeight
sw.Write(Helper.DoubleToString(datas[i].UnderSumWeight / 1000, 3));
sw.Write(",");
// Lane UnderPercentage
sw.Write(datas[i].UnderPercentage);
sw.Write(",");
// Lane ExNgCount
sw.Write(datas[i].ExNgTotalCount);
sw.Write(",");
// Lane ExNgPercentage
sw.Write(datas[i].ExNgPercentage);
sw.Write(",");
// Lane TotalCount
sw.Write(datas[i].TotalCount);
sw.Write(",");
// Lane TotalNgCount
sw.Write(datas[i].TotalNGCount);
sw.WriteLine();
#endregion
}
sw.Close();
}
private bool CheckUSBMemory()
{
bool ret = false;
try
{
DirectoryInfo dinfo = new DirectoryInfo("하드 디스크\\");
dinfo.GetDirectories();
ret = true;
}
catch
{
ret = false;
}
return ret;
}
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);
}
}
private void CreateScreenCapture(string path, DateTime time)
{
string filePath = "";
Bitmap bitMap = new Bitmap(1024, 768);
bitMap = IntechGraphics.CopyFromScreen();
filePath = string.Format("{0}S{1:yyyyMMdd-HHmmss}.jpg", path, time);
bitMap.Save(filePath, ImageFormat.Jpeg);
}
private int Backup1()
{
int ret = 0;
string filePath = "";
bool directoryCheck = false;
DateTime time = DateTime.Now;
// 메모리 장착 체크
if (this.CheckUSBMemory() == false)
{
DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
this.buttonSave.Enabled = true;
ret = -1;
return ret;
}
#region 통계 데이터 생성
// ScreenCapture
this.CreateScreenCapture(this.ParentForm.PathDataStatisticsFolder, time);
// csv File
this.FileBackup1(this.ParentForm.PathDataStatisticsFolder, time, this.CurrentDataCommonList, this.CollectionLaneData);
#endregion
#region 메모리로 파일 복사
try
{
filePath = "하드 디스크\\";
DirectoryInfo dir = new DirectoryInfo(this.ParentForm.PathDataStatisticsFolder);
directoryCheck = dir.Exists;
// 폴더 체크
if (directoryCheck == false)
dir.Create();
FileInfo[] files = dir.GetFiles();
foreach (FileInfo file in files)
{
this.FileCopy(file, filePath + file.Name);
file.Delete();
}
DialogFormMessage msg = new DialogFormMessage("2", this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
}
catch
{
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.SystemConfig.Language);
msg.ShowDialog();
ret = -1;
return ret;
}
#endregion
return ret;
}
private int Backup2()
{
int ret = 0;
DateTime time = DateTime.Now;
// csv File
this.FileBackup2(this.ParentForm.PathDataBackupFolder, time, this.CurrentDataCommonList, this.CollectionLaneData);
return ret;
}
public void DisplayRefresh()
{
this.ParentForm.SystemConfig.CurrentForm = DataStore.FormStore.FormDataStatistics;
this.ClearData();
this.buttonSave.Enabled = false;
}
#endregion
#region Override Member
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
}
#endregion
#region Event Handler
private void buttonBack_Click(object sender, EventArgs e)
{
this.ParentForm.ChildFormMenu.DisplayRefresh();
((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormMenu);
}
private void buttonFileSelect_Click(object sender, EventArgs e)
{
DialogFormDataStatistics form = new DialogFormDataStatistics(this);
if (form.ShowDialog() == DialogResult.OK)
this.buttonSave.Enabled = true;
else
this.buttonSave.Enabled = false;
}
private void buttonSave_Click(object sender, EventArgs e)
{
if (this.SelectFilePath == "")
return;
this.buttonSave.Enabled = false;
if (this.ParentForm.SystemConfig.IsPart11 == false)
this.Backup1();
else
this.Backup2();
this.buttonSave.Enabled = true;
}
#endregion
}
}