119 lines
3.3 KiB
C#
119 lines
3.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Project.Class
|
|
{
|
|
public class JobData
|
|
{
|
|
public enum ErrorCode
|
|
{
|
|
None = 0,
|
|
BarcodeRead,
|
|
Print,
|
|
Camera,
|
|
}
|
|
public ErrorCode error = ErrorCode.None;
|
|
public int No { get; set; }
|
|
public VisionData VisionData;
|
|
|
|
public DateTime JobStart
|
|
{
|
|
get
|
|
{
|
|
if (this.VisionData == null) return new DateTime(1982, 11, 23);
|
|
else return VisionData.STime;
|
|
}
|
|
}
|
|
public DateTime JobEnd;
|
|
public TimeSpan JobRun
|
|
{
|
|
get
|
|
{
|
|
if (JobEnd.Year == 1982) return new TimeSpan(0);
|
|
else if (JobStart.Year == 1982) return new TimeSpan(0);
|
|
else return JobEnd - JobStart;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 프린터에 명령을 전송한 시간
|
|
/// </summary>
|
|
public DateTime PrintTime { get; set; }
|
|
|
|
/// <summary>
|
|
/// 라벨을 추가한 시간
|
|
/// </summary>
|
|
public DateTime Attachtime { get; set; }
|
|
|
|
//작업데이터의 GUID(자료식별)
|
|
public string guid { get; private set; }
|
|
|
|
//언로더포트위치(L/R)
|
|
public string PortPos;
|
|
|
|
|
|
//동작관련 메세지
|
|
public string Message;
|
|
|
|
int idx;
|
|
|
|
|
|
|
|
public JobData(int idx_)
|
|
{
|
|
this.idx = idx_;
|
|
Clear("INIT");
|
|
}
|
|
|
|
public bool PrintAttach { get; set; }
|
|
public bool PrintQRValid { get; set; }
|
|
public string PrintQRValidResult { get; set; }
|
|
public void Clear(string source)
|
|
{
|
|
|
|
|
|
No = 0;
|
|
//JobStart = new DateTime(1982, 11, 23);
|
|
JobEnd = new DateTime(1982, 11, 23);
|
|
Attachtime = new DateTime(1982, 11, 23);
|
|
PortPos = string.Empty;
|
|
guid = Guid.NewGuid().ToString();
|
|
Message = string.Empty;
|
|
if (VisionData == null)
|
|
VisionData = new VisionData(source);
|
|
else
|
|
VisionData.Clear(source, false);
|
|
PrintAttach = false;
|
|
PrintQRValid = false;
|
|
PrintQRValidResult = string.Empty;
|
|
PrintTime = new DateTime(1982, 11, 23);
|
|
PUB.AddDebugLog($"item data {idx} clear by {source} guid={guid}");
|
|
}
|
|
|
|
public void CopyTo(ref JobData obj)
|
|
{
|
|
if (obj == null) return;
|
|
obj.No = this.No;
|
|
obj.error = this.error;
|
|
obj.JobEnd = this.JobEnd;
|
|
obj.guid = this.guid;
|
|
obj.PortPos = this.PortPos;
|
|
obj.Message = this.Message;
|
|
obj.PrintAttach = this.PrintAttach;
|
|
obj.PrintQRValid = this.PrintQRValid;
|
|
obj.PrintQRValidResult = this.PrintQRValidResult;
|
|
obj.Attachtime = this.Attachtime;
|
|
obj.PrintTime = this.PrintTime;
|
|
PUB.AddDebugLog("Before item copy rid:" + this.VisionData.RID);
|
|
this.VisionData.CopyTo(ref obj.VisionData);
|
|
PUB.AddDebugLog($"After item copy target rid : {obj.VisionData.RID}, guid={obj.guid}");
|
|
}
|
|
|
|
|
|
}
|
|
}
|