/// <summary> /// 保存今日数据 /// </summary> public void Refresh() { if (this.Reoprt != null) { var now = DateTime.Now; if (this.Reoprt.Date.Day != now.Day) { // 保存上一天的 this.Reoprt.Stop(); Common.SerializableHelper <DayReprot> helper = new Common.SerializableHelper <DayReprot>(this.Reoprt); helper.JsonSerialize(RecordPath); DayChange(now); TimeDefine temp = this.Reoprt.CurRecordTime; this.Reoprt = new DayReprot(); this.Reoprt.Date = now; this.Reoprt.Start(temp, "日期更换"); } else { if (this.Reoprt.Date.Hour != now.Hour) { this.Reoprt.HourChange(this.Reoprt.Date, now); } Common.SerializableHelper <DayReprot> helper = new Common.SerializableHelper <DayReprot>(this.Reoprt); helper.JsonSerialize(RecordPath + "today.json"); this.SaveTotal(this.Reoprt.Total, RecordPath, this.Reoprt.Date.Hour); this.Reoprt.Date = now; } } }
/// <summary> /// 开始计时 /// </summary> /// <param name="define">计时类别</param> /// <param name="opterName">附加名称</param> public void Start(TimeDefine define, string opterName) { if (define != this.CurRecordTime || define == TimeDefine.ChangeLineTime) { // 如果 上一次为换线,且这一次不是换线,且换线没有完成 if (CurRecordTime == TimeDefine.ChangeLineTime && define != TimeDefine.ChangeLineTime && !ChangeLineFinished) { return; } if (define == TimeDefine.ChangeLineTime) { ControusPCBCount = 0; ChangeLineFinished = false; } if (CurRecordTime != TimeDefine.NULL) { Times[CurRecordTime].Stop(DateTime.Now); } CurRecordTime = define; Times[CurRecordTime].Start(opterName, DateTime.Now); } }
private TimeClassification GetRecord(string name, TimeDefine define, int startTime, int endTime) { TimeClassification classification = new TimeClassification(name); classification.Items = this.Times[define].Items.FindAll(delegate(TimeRecorder t) { return(t.StartTime.Hour >= startTime && t.StartTime.Hour < endTime && t.EndTime.Hour < endTime); }); return(classification); }
/// <summary> /// 开始计时 /// </summary> /// <param name="define">计时类别</param> /// <param name="opterName">附加名称</param> public void Start(TimeDefine define, string opterName) { if (define != this.CurRecordTime || define == TimeDefine.ChangeLineTime) { // 如果 上一次为换线,且这一次不是换线,且换线没有完成 if (CurRecordTime == TimeDefine.ChangeLineTime && define != TimeDefine.ChangeLineTime && !ChangeLineFinished) { return; } if (define == TimeDefine.ChangeLineTime) { ControusPCBCount = 0; ChangeLineFinished = false; } if (CurRecordTime != TimeDefine.NULL) { Times[CurRecordTime].Stop(DateTime.Now); } //if (this.CurRecordTime == TimeDefine.DTTime) // DT 5分钟不计算在内 //{ // var item = Times[CurRecordTime].Items.Last(); // if ((item.EndTime - item.StartTime).TotalMinutes < 5) // { // Times[CurRecordTime].Items.Remove(item); // Times[TimeDefine.PauseTime].Items.Add(item); // } //} CurRecordTime = define; Times[CurRecordTime].Start(opterName, DateTime.Now); } }
/// <summary> /// /// </summary> /// <param name="wd"></param> /// <param name="td"></param> /// <returns></returns> private K.UC.UCTimeDefine CreateTimeDefineControl(WorkDefine wd, TimeDefine td) { UC.UCTimeDefine ucTd = new K.UC.UCTimeDefine(); ucTd.WorkDefine = wd; ucTd.TimeDefine = td; return ucTd; }