262 lines
8.0 KiB
C#
262 lines
8.0 KiB
C#
using AR;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Project.Dialog
|
|
{
|
|
public partial class fNewReelID : Form
|
|
{
|
|
public string NewID { get; set; }
|
|
public fNewReelID(string custcode)
|
|
{
|
|
InitializeComponent();
|
|
this.NewID = string.Empty;
|
|
tbCustCode.Text = custcode;
|
|
|
|
if (PUB.Result.JobType2 == "RET")
|
|
radReturn.Checked = true;
|
|
else
|
|
radNormal.Checked = false;
|
|
|
|
|
|
tbRID.TextChanged += (s1, e1) =>
|
|
{
|
|
lbLen.Text = $"길이({tbRID.Text.Length})";
|
|
lbLen.BackColor = tbRID.Text.Length == 15 ? Color.Lime : Color.Tomato;
|
|
};
|
|
}
|
|
private void fNewReelID_Load(object sender, EventArgs e)
|
|
{
|
|
tbtype.Text = "C";
|
|
tbLoca.Text = AR.SETTING.Data.ReelIdDeviceLoc;
|
|
tbDiv.Text = AR.SETTING.Data.ReelIdDeviceID;
|
|
tbYear.Text = DateTime.Now.Year.ToString().Substring(2);
|
|
tbMon.Text = DateTime.Now.Month.ToString("X");
|
|
this.radNormal.Checked = true;
|
|
RefreshID();
|
|
}
|
|
|
|
private void btOK_Click(object sender, EventArgs e)
|
|
{
|
|
var codelen = 15;
|
|
this.NewID = tbRID.Text;
|
|
if (this.NewID.Length != codelen)
|
|
{
|
|
UTIL.MsgE($"Reel ID는 {codelen}자리 입니다");
|
|
return;
|
|
}
|
|
|
|
//db에서도 검색한다
|
|
var db = new EEEntities();
|
|
if (db.Component_Reel_Result.Where(t => t.RID == NewID).Any())
|
|
{
|
|
UTIL.MsgE($"해당 ID는 발행 기록이 있는 ID 입니다\n값:{NewID}");
|
|
return;
|
|
}
|
|
|
|
//서버에서 중복검사실행
|
|
if (AR.SETTING.Data.OnlineMode == false)
|
|
{
|
|
UTIL.MsgE("오프라인 모드라 사용할 수 없습니다");
|
|
return;
|
|
}
|
|
|
|
var rlt = Amkor.RestfulService.get_existed_matl_by_id(NewID);
|
|
if (rlt.Complete == false)
|
|
{
|
|
UTIL.MsgE("중복검사 실패\n" + rlt.Message);
|
|
return;
|
|
}
|
|
else if (rlt.Result == true)
|
|
{
|
|
UTIL.MsgE("REEL ID 가 중복되었습니다\n새로고침 하세요");
|
|
return;
|
|
}
|
|
|
|
////데이터를 추가해준다.
|
|
//var db = new EEEntities();
|
|
//db.Component_Reel_NewAssign.Add(new Component_Reel_NewAssign()
|
|
//{
|
|
// bPrint = false,
|
|
// CUST = tbCustCode.Text.Trim(),
|
|
// TIME = tbYear.Text.Trim(),
|
|
// DIV = tbDiv.Text.Trim(),
|
|
// SEQ = tbSeq.Text,
|
|
// RID = tbRID.Text.Trim(),
|
|
// wdate = DateTime.Now,
|
|
// wuid = COMM.SETTING.Data.Asset,
|
|
//});
|
|
//db.SaveChanges();
|
|
|
|
DialogResult = DialogResult.OK;
|
|
}
|
|
void UpdateRID()
|
|
{
|
|
var data = tb1.Text.Trim();
|
|
data += tbtype.Text.Trim();
|
|
data += tbCustCode.Text.Trim();
|
|
data += tbLoca.Text.Trim();
|
|
data += tbDiv.Text.Trim();
|
|
data += tbYear.Text.Trim();
|
|
data += tbMon.Text.Trim();
|
|
data += tbSeq.Text.Trim();
|
|
this.tbRID.Text = data;
|
|
}
|
|
|
|
private void tbCustCode_TextChanged(object sender, EventArgs e)
|
|
{
|
|
UpdateRID();
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
RefreshID();
|
|
}
|
|
void RefreshID()
|
|
{
|
|
if (tbCustCode.Text.Length != 4)
|
|
{
|
|
tbCustCode.Focus();
|
|
tbCustCode.SelectAll();
|
|
}
|
|
|
|
|
|
//시간정보업데이트
|
|
tbYear.Text = DateTime.Now.ToString("yy");
|
|
tbDiv.Text = AR.SETTING.Data.ReelIdDeviceID; //라벨어태치용
|
|
|
|
UpdateSN();
|
|
UpdateRID();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 일련번호 업데이트
|
|
/// </summary>
|
|
void UpdateSN()
|
|
{
|
|
var datestr = this.tbYear.Text + this.tbMon.Text;
|
|
if (datestr.Length != 3)
|
|
{
|
|
UTIL.MsgE("년도/월 값이 입력되지 않았습니다");
|
|
return;
|
|
}
|
|
|
|
var newsn = string.Empty;
|
|
|
|
if (this.radReturn.Checked)
|
|
newsn = AmkorReelID.GetNextSNbyYM_Return(datestr);
|
|
else if (this.radDup.Checked)
|
|
newsn = AmkorReelID.GetNextSNbyYM_Dup(datestr);
|
|
else
|
|
newsn = AmkorReelID.GetNextSNbyYM(datestr);
|
|
|
|
tbSeq.Text = newsn;
|
|
}
|
|
|
|
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
UTIL.TouchKeyShow(tbCustCode, "고객코드를 입력하세요");
|
|
}
|
|
|
|
private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
UTIL.TouchKeyShow(tbDiv, "장치 분류를 입력(L:Logistic/M:Manufacture,A:AutoLabel Attach)");
|
|
}
|
|
|
|
private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
UTIL.TouchKeyShow(tbSeq, "일련번호입력(001~999)");
|
|
}
|
|
|
|
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
UTIL.TouchKeyShow(tbYear, "년도(2자리)");
|
|
}
|
|
|
|
private void linkLabel5_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
UTIL.TouchKeyShow(tb1, "예약됨(R)");
|
|
}
|
|
|
|
private void linkLabel6_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
UTIL.TouchKeyShow(tbtype, "예약됨(C/I)");
|
|
}
|
|
|
|
private void linkLabel7_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
UTIL.TouchKeyShow(tbLoca, "발행처(3/4/5)");
|
|
}
|
|
|
|
private void linkLabel8_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
UTIL.TouchKeyShow(tbMon, "월(1자리 10월=A,11월=B,12월=C");
|
|
}
|
|
|
|
private void button8_Click(object sender, EventArgs e)
|
|
{
|
|
//중복검사
|
|
var rid = tbRID.Text.Trim();
|
|
if (rid.isEmpty())
|
|
{
|
|
UTIL.MsgE("Reel Id 값이 없습니다");
|
|
return;
|
|
}
|
|
|
|
//db에서도 검색한다
|
|
if (AR.SETTING.Data.OnlineMode)
|
|
{
|
|
var db = new EEEntities();
|
|
if (db.Component_Reel_Result.Where(t => t.RID == rid).Any())
|
|
{
|
|
UTIL.MsgE($"해당 ID는 발행 기록이 있는 ID 입니다\n값:{rid}");
|
|
return;
|
|
}
|
|
|
|
var result = Amkor.RestfulService.get_existed_matl_by_id(rid);
|
|
if (result.Complete == false)
|
|
{
|
|
UTIL.MsgE("중복검사 서버 오류\n" + result.Message);
|
|
}
|
|
else
|
|
{
|
|
if (result.Result == true)
|
|
{
|
|
UTIL.MsgE($"해당 ID는 중복된 ID 입니다\n값:{rid}");
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
UTIL.MsgI($"해당 ID는 중복되지 않았습니다\n{rid}");
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
private void chkReturn_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
UpdateSN();
|
|
UpdateRID();
|
|
}
|
|
|
|
private void button1_Click_1(object sender, EventArgs e)
|
|
{
|
|
UpdateSN();
|
|
}
|
|
|
|
private void radNormal_Click(object sender, EventArgs e)
|
|
{
|
|
UpdateSN();
|
|
UpdateRID();
|
|
}
|
|
}
|
|
}
|