Files
ATV_STDLabelAttach/Handler/Sub/UIControl/CItem.cs
ChiKyun Kim 9a7d1d27c7 프로젝트 구조 개선 및 README.md 추가
- UIControl 프로젝트 구조 변경 (CapCleaningControl → Sub/UIControl)
- arAjinextek 라이브러리 통합 및 구조 개선
- 새로운 arAjinextek_Union 프로젝트 추가
- 솔루션 파일에 README.md 추가
- QR 모드에서 WMS RCV 태그 인식 기능 강화
- 데이터베이스 스키마 업데이트 및 관련 클래스 수정
- 프린터 및 바코드 장치 연동 로직 개선

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-07 08:35:56 +09:00

159 lines
5.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
namespace UIControl
{
[Serializable]
public class CItem
{
public Boolean Delete { get; set; }
/// <summary>
/// 어떠한 포트에서 픽업 되었는지
/// </summary>
public int iPort { get; set; }
/// <summary>
/// 출력 포트
/// </summary>
public int oPort { get; set; }
/// <summary>
/// 배출여부
/// </summary>
public int ErrorOut { get; set; }
/// <summary>
/// 크기는 어떠한지(7 or 13)
/// </summary>
public string Size { get; set; }
/// <summary>
/// 존번호 0~10
/// </summary>
public int index { get; set; }
/// <summary>
/// 피커에의해서 드랍된 시간
/// </summary>
public DateTime DropTime { get; set; }
/// <summary>
/// 차수별 일련번호
/// </summary>
public UInt16 Seq { get; set; }
public DateTime BarcodeStart { get; set; }
public DateTime BarcodeEnd { get; set; }
public DateTime PlcStartTime { get; set; }
public DateTime PlcEndTime { get; set; }
public DateTime ZoneIntime { get; set; }
/// <summary>
/// 컨베이어에 들어온 시간
/// 피커에서 드랍되면 dropTime 과 동일하며, 외부에서 들어오면 센서가 최초 감지한 시간이 된다
/// </summary>
public DateTime InTime { get; set; }
public DateTime OutTime { get; set; }
public Rectangle Rect { get; set; }
/// <summary>
/// jobhistory에 연결되는 데이터 키
/// </summary>
public string JGUID { get; set; }
/// <summary>
/// 바코드 데이터와 연결되는 키값
/// </summary>
public string Tag { get; set; }
public string RID { get; set; }
public string SID { get; set; }
public string BarcodeRaw { get; set; }
public string BarcodeMsg { get; set; }
public Boolean Processing { get; set; }
public string GUID { get; private set; }
public int Qty { get; set; }
public List<string> UnloaderMsg { get; set; }
/// <summary>
/// 바코드의 완료여부, timeout 혻은 설정 되었을때 적용
/// </summary>
public Boolean BarcodeDone { get; set; }
public Boolean hasBarcode
{
get
{
return !string.IsNullOrEmpty(RID);
}
}
public void AddMessage(string msg)
{
if (this.UnloaderMsg.Contains(msg) == false)
UnloaderMsg.Add(msg);
}
public CItem()
{
Qty = 0;
UnloaderMsg = new List<string>();
ErrorOut = 0;
this.GUID = Guid.NewGuid().ToString();
Tag = string.Empty;
JGUID = string.Empty;
Seq = 0;
SID = string.Empty;
BarcodeRaw = string.Empty;
BarcodeMsg = string.Empty;
RID = string.Empty;
Rect = Rectangle.Empty;
Delete = false;
Processing = false;
DropTime = DateTime.Parse("1982-11-23");
BarcodeStart = DateTime.Parse("1982-11-23");
BarcodeEnd = DateTime.Parse("1982-11-23");
PlcStartTime = DateTime.Parse("1982-11-23");
PlcEndTime = DateTime.Parse("1982-11-23");
InTime = DateTime.Parse("1982-11-23");
OutTime = DateTime.Parse("1982-11-23");
ZoneIntime = DateTime.Parse("1982-11-23");
index = -1;
oPort = -1;
iPort = -1;
Size = string.Empty;
}
public CItem Clone()
{
var item = new CItem();
item.Qty = Qty;
item.Seq = Seq;//0;
item.SID =SID;// string.Empty;
item.BarcodeRaw = BarcodeRaw;//string.Empty;
item.BarcodeMsg = BarcodeMsg;//string.Empty;
item.RID = RID;//string.Empty;
item.Rect = Rect;//Rectangle.Empty;
item.Delete = Delete;//DropTime;//;
item.DropTime =DropTime;// DateTime.Parse("1982-11-23");
item.BarcodeStart =BarcodeStart;// DateTime.Parse("1982-11-23");
item.BarcodeEnd = BarcodeEnd;//DropTime;//.Parse("1982-11-23");
item.PlcStartTime = PlcStartTime;//DateTime.Parse("1982-11-23");
item.PlcEndTime =PlcEndTime;// DateTime.Parse("1982-11-23");
item.InTime = InTime;//DropTime;//.Parse("1982-11-23");
item.OutTime = OutTime;//DateTime.Parse("1982-11-23");
item.ZoneIntime = ZoneIntime;//DateTime.Parse("1982-11-23");
item.index = index;
item.oPort = oPort;
item.iPort = iPort;
item.Size = Size;
return item;
}
}
}