qrmode 에서 wms rcv 태그 인식되게 함
This commit is contained in:
@@ -2,12 +2,14 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using AR;
|
||||
using SATOPrinterAPI;
|
||||
|
||||
namespace Project.Dialog
|
||||
{
|
||||
@@ -585,33 +587,9 @@ namespace Project.Dialog
|
||||
}
|
||||
|
||||
UpdateSID(auto);
|
||||
makenewId();
|
||||
|
||||
}
|
||||
|
||||
void makenewId()
|
||||
{
|
||||
//ID가 잘못되었다.
|
||||
if (VAR.BOOL[eVarBool.Opt_NewReelID] && CheckRID() == false)
|
||||
{
|
||||
//릴 아이디가 잘못되었다면 새로 갱신한다
|
||||
var yy = DateTime.Now.ToString("yy");
|
||||
var m = DateTime.Now.Month.ToString("X");
|
||||
if (TbCustCode.Text.isEmpty())
|
||||
{
|
||||
PUB.log.AddAT("Customer 값이 없어 reelid를 새로 생성하지 못했습니다");
|
||||
}
|
||||
else
|
||||
{
|
||||
var newrid = AmkorReelID.MakeReelID(TbCustCode.Text, yy + m);
|
||||
PUB.log.Add($"RID값을 자동 변경 했습니다 {tbRID.Text} -> {newrid}");
|
||||
//if(tbRID.Text.isEmpty()==false) tbri
|
||||
tbRID.Text = newrid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 데이터베이스의 정보를 UI에 반영한다
|
||||
/// </summary>
|
||||
@@ -699,181 +677,193 @@ namespace Project.Dialog
|
||||
Boolean func_CheckDateQty()
|
||||
{
|
||||
Boolean bwarn = false;
|
||||
using (var db2 = new EEEntities())
|
||||
|
||||
var sid = this.tbSID.Text.Trim();
|
||||
if (sid.isEmpty()) return false; //sid가 없다.
|
||||
|
||||
//최근 6시간안에서 동일한 데이터를 찾아서 제안 해준다
|
||||
var sd = DateTime.Now.AddHours(-1);
|
||||
var sql = "select * from K4EE_Component_Reel_Result with (no lock)" +
|
||||
" where jtype = @jtype and sid = @sid and isnull(QR,'') <> '' and stime >= @sd" +
|
||||
" order by wdate desc";
|
||||
var ps = new SqlParameter[] {
|
||||
new SqlParameter("jtype", PUB.Result.JobType2),
|
||||
new SqlParameter("sid", sid),
|
||||
new SqlParameter("sd", sd),
|
||||
};
|
||||
|
||||
DataSet1.Component_Reel_ResultRow preData = null;
|
||||
var preDatas = DBHelper.Get(sql, ps);
|
||||
if (preDatas.Rows.Count > 0) preData = preDatas.Rows[0] as DataSet1.Component_Reel_ResultRow;
|
||||
|
||||
//var preData = db2.Component_Reel_Result.AsNoTracking().Where(t =>
|
||||
//t.JTYPE == PUB.Result.JobType2 &&
|
||||
//t.SID == sid &&
|
||||
//string.IsNullOrEmpty(t.QR) == false &&
|
||||
//t.STIME >= sd).OrderByDescending(t => t.wdate).FirstOrDefault();
|
||||
|
||||
//기존자료가 없다면 취소
|
||||
if (preData == null) return false;
|
||||
var amkorid = new StdLabelPrint.CAmkorSTDBarcode(preData.QR);
|
||||
|
||||
if (preData.VNAME != tbVName.Text)
|
||||
{
|
||||
var sid = this.tbSID.Text.Trim();
|
||||
if (sid.isEmpty()) return false; //sid가 없다.
|
||||
|
||||
//최근 6시간안에서 동일한 데이터를 찾아서 제안 해준다
|
||||
var sd = DateTime.Now.AddHours(-1);
|
||||
var preData = db2.Component_Reel_Result.AsNoTracking().Where(t =>
|
||||
t.JTYPE == PUB.Result.JobType2 &&
|
||||
t.SID == sid &&
|
||||
string.IsNullOrEmpty(t.QR) == false &&
|
||||
t.STIME >= sd).OrderByDescending(t => t.wdate).FirstOrDefault();
|
||||
|
||||
//기존자료가 없다면 취소
|
||||
if (preData == null) return false;
|
||||
var amkorid = new StdLabelPrint.CAmkorSTDBarcode(preData.QR);
|
||||
|
||||
if (preData.VNAME != tbVName.Text)
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},mfgdata={1}", sid, amkorid.MFGDate));
|
||||
tbVName.Text = preData.VNAME;
|
||||
bwarn = true;
|
||||
//if (func_existbcddata(amkorid.MFGDate) == false)
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},mfgdata={1}", sid, amkorid.MFGDate));
|
||||
tbVName.Text = preData.VNAME;
|
||||
bwarn = true;
|
||||
//if (func_existbcddata(amkorid.MFGDate) == false)
|
||||
{
|
||||
AddErrorMessage("V.Name 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'V.Name' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (amkorid.MFGDate.isEmpty() == false && tbMFG.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},mfgdata={1}", sid, amkorid.MFGDate));
|
||||
tbMFG.Text = amkorid.MFGDate;
|
||||
bwarn = true;
|
||||
if (func_existbcddata(amkorid.MFGDate) == false)
|
||||
{
|
||||
AddErrorMessage("MFG 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'MFG Date' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
}
|
||||
|
||||
if (amkorid.QTY > 0 && tbQTY.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
PUB.log.Add($"수량업데이트 {tbQTY.Text}->{amkorid.QTY}");
|
||||
tbQTY.Text = amkorid.QTY.ToString();
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},qty={1}", sid, amkorid.QTY));
|
||||
bwarn = true;
|
||||
if (func_existbcddata(amkorid.QTY.ToString()) == false)
|
||||
{
|
||||
AddErrorMessage("QTY 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Qty' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (amkorid.PARTNO.isEmpty() == false && tbpartno.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
tbpartno.Text = amkorid.PARTNO;
|
||||
bwarn = true;
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},PARTNO={1}", sid, amkorid.PARTNO));
|
||||
if (func_existbcddata(amkorid.PARTNO) == false)
|
||||
{
|
||||
AddErrorMessage("PartNo 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Part No' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Customer
|
||||
if (amkorid.RID.Length > 10 && amkorid.RID.Substring(2, 4) != TbCustCode.Text.Trim())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
TbCustCode.Text = amkorid.RID.Substring(2, 4);
|
||||
bwarn = true;
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},VLOT={1}", sid, amkorid.VLOT));
|
||||
if (func_existbcddata(TbCustCode.Text) == false)
|
||||
{
|
||||
AddErrorMessage("Customer Code 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Customer Code' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
|
||||
|
||||
}
|
||||
btCustomAutoInput.PerformClick();
|
||||
}
|
||||
|
||||
|
||||
if (amkorid.VLOT.isEmpty() == false && tbVLOT.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
tbVLOT.Text = amkorid.VLOT;
|
||||
bwarn = true;
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},VLOT={1}", sid, amkorid.VLOT));
|
||||
if (func_existbcddata(amkorid.VLOT) == false)
|
||||
{
|
||||
AddErrorMessage("VLOT 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Vender LOT' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (amkorid.VENDERNAME.isEmpty() == false && tbVName.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
tbVName.Text = amkorid.VENDERNAME;
|
||||
bwarn = true;
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},VENDERNAME={1}", sid, amkorid.VENDERNAME));
|
||||
if (func_existbcddata(amkorid.VENDERNAME) == false)
|
||||
{
|
||||
AddErrorMessage("VNAME 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Vender Name' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
|
||||
AddErrorMessage("V.Name 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'V.Name' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (amkorid.MFGDate.isEmpty() == false && tbMFG.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},mfgdata={1}", sid, amkorid.MFGDate));
|
||||
tbMFG.Text = amkorid.MFGDate;
|
||||
bwarn = true;
|
||||
if (func_existbcddata(amkorid.MFGDate) == false)
|
||||
{
|
||||
AddErrorMessage("MFG 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'MFG Date' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
}
|
||||
|
||||
if (amkorid.QTY > 0 && tbQTY.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
PUB.log.Add($"수량업데이트 {tbQTY.Text}->{amkorid.QTY}");
|
||||
tbQTY.Text = amkorid.QTY.ToString();
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},qty={1}", sid, amkorid.QTY));
|
||||
bwarn = true;
|
||||
if (func_existbcddata(amkorid.QTY.ToString()) == false)
|
||||
{
|
||||
AddErrorMessage("QTY 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Qty' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (amkorid.PARTNO.isEmpty() == false && tbpartno.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
tbpartno.Text = amkorid.PARTNO;
|
||||
bwarn = true;
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},PARTNO={1}", sid, amkorid.PARTNO));
|
||||
if (func_existbcddata(amkorid.PARTNO) == false)
|
||||
{
|
||||
AddErrorMessage("PartNo 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Part No' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Customer
|
||||
if (amkorid.RID.Length > 10 && amkorid.RID.Substring(2, 4) != TbCustCode.Text.Trim())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
TbCustCode.Text = amkorid.RID.Substring(2, 4);
|
||||
bwarn = true;
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},VLOT={1}", sid, amkorid.VLOT));
|
||||
if (func_existbcddata(TbCustCode.Text) == false)
|
||||
{
|
||||
AddErrorMessage("Customer Code 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Customer Code' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
|
||||
|
||||
}
|
||||
btCustomAutoInput.PerformClick();
|
||||
}
|
||||
|
||||
|
||||
if (amkorid.VLOT.isEmpty() == false && tbVLOT.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
tbVLOT.Text = amkorid.VLOT;
|
||||
bwarn = true;
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},VLOT={1}", sid, amkorid.VLOT));
|
||||
if (func_existbcddata(amkorid.VLOT) == false)
|
||||
{
|
||||
AddErrorMessage("VLOT 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Vender LOT' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (amkorid.VENDERNAME.isEmpty() == false && tbVName.Text.isEmpty())
|
||||
{
|
||||
//해당 mfgdae 가 바코드목록에 잇다면 바로 적용
|
||||
//업다면 적용하고 적용 메세지 표시한다
|
||||
tbVName.Text = amkorid.VENDERNAME;
|
||||
bwarn = true;
|
||||
//Pub.log.Add(string.Format("이전결과에서 값 업데이트 sid:{0},VENDERNAME={1}", sid, amkorid.VENDERNAME));
|
||||
if (func_existbcddata(amkorid.VENDERNAME) == false)
|
||||
{
|
||||
AddErrorMessage("VNAME 이전 기록으로 업데이트");
|
||||
PUB.log.Add("'Vender Name' 값을 이전 기록을 통해서 입력했습니다\n" +
|
||||
"이전 작업시간 : " + ((DateTime)(preData.wdate)).ToString("yyyy-MM-dd HH:mm:ss") + "\n" +
|
||||
"SID : " + preData.SID + "\n" +
|
||||
"MFG Date : " + amkorid.MFGDate + "\n" +
|
||||
"Part No : " + amkorid.PARTNO + "\n" +
|
||||
"Vender Lot : " + amkorid.VLOT + "\n" +
|
||||
"Vender Name : " + amkorid.VENDERNAME + "\n" +
|
||||
"QTY : " + amkorid.QTY.ToString(), true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return bwarn;
|
||||
|
||||
}
|
||||
@@ -902,7 +892,8 @@ namespace Project.Dialog
|
||||
UTIL.MsgE("오프라인 모드라 사용할 수 없습니다");
|
||||
return;
|
||||
}
|
||||
var cnt = (Amkor.RestfulService.get_stock_count(rid, out msg));
|
||||
|
||||
var cnt = 0;// (Amkor.RestfulService.get_stock_count(rid, out msg));
|
||||
if (cnt > 0)
|
||||
{
|
||||
var oldCnt = int.Parse(tbQTY.Text.Replace(",", ""));
|
||||
@@ -968,15 +959,15 @@ namespace Project.Dialog
|
||||
bool NewReelId = false;
|
||||
private void btNewID_Click(object sender, EventArgs e)
|
||||
{
|
||||
var id = TbCustCode.Text; // string.Empty;
|
||||
if (id.Length != 4)
|
||||
{
|
||||
UTIL.MsgE($"올바른 고객번호를 입력하세요\n" +
|
||||
$"고객번호는 4자리여야 합니다\n" +
|
||||
$"값 : {id}\n" +
|
||||
$"길이 : {id.Length}");
|
||||
return;
|
||||
}
|
||||
//var id = TbCustCode.Text; // string.Empty;
|
||||
//if (id.Length != 4)
|
||||
//{
|
||||
// UTIL.MsgE($"올바른 고객번호를 입력하세요\n" +
|
||||
// $"고객번호는 4자리여야 합니다\n" +
|
||||
// $"값 : {id}\n" +
|
||||
// $"길이 : {id.Length}");
|
||||
// return;
|
||||
//}
|
||||
//if (tbRID.Text.Length > 4) id = tbRID.Text.Substring(0, 4);
|
||||
|
||||
//already check
|
||||
@@ -992,29 +983,29 @@ namespace Project.Dialog
|
||||
//웹서비스로 생성한다.
|
||||
if (MakeNewID)
|
||||
{
|
||||
var newid = Amkor.RestfulService.Allocation_Unique_ReelID_AmkorSTD(id, "4", "A", out string err);
|
||||
if (newid.isEmpty())
|
||||
var sid = tbSID.Text.Trim();
|
||||
if (sid.isEmpty())
|
||||
{
|
||||
UTIL.MsgE(err, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
//remain original reel id
|
||||
if (this.tbRID0.Text.isEmpty() && tbRID.Text.isEmpty() == false)
|
||||
this.tbRID0.Text = tbRID.Text.Trim();
|
||||
|
||||
this.tbRID.Text = newid;
|
||||
NewReelId = true;
|
||||
|
||||
PUB.log.AddI($"New REELID:{newid}(LoaderInfo)");
|
||||
UTIL.MsgE("No SID");
|
||||
return;
|
||||
}
|
||||
|
||||
//WMS은 DB에서 생성하낟.
|
||||
var newid = PUB.MakeNewREELID(sid);
|
||||
if (newid.success==false)
|
||||
{
|
||||
UTIL.MsgE($"No ReelID Data\n{newid.message}" , true);
|
||||
return;
|
||||
}
|
||||
|
||||
//remain original reel id
|
||||
if (this.tbRID0.Text.isEmpty() && tbRID.Text.isEmpty() == false)
|
||||
this.tbRID0.Text = tbRID.Text.Trim();
|
||||
|
||||
this.tbRID.Text = newid.newid;
|
||||
NewReelId = true;
|
||||
PUB.log.AddI($"New REELID:{newid.newid}(LoaderInfo)");
|
||||
}
|
||||
|
||||
//var f = new Dialog.fNewReelID(id);
|
||||
//if (f.ShowDialog() != DialogResult.OK) return;
|
||||
//this.tbRID.Text = f.NewID;
|
||||
|
||||
}
|
||||
|
||||
private void tbDate_Click(object sender, EventArgs e)
|
||||
@@ -1272,7 +1263,6 @@ namespace Project.Dialog
|
||||
PUB.log.Add(string.Format("amkor SId찾기 code={0},part={1},sid={2}", custcode, partno, amksid));
|
||||
tbSID.Text = amksid;
|
||||
UpdateSID();
|
||||
makenewId();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1287,7 +1277,7 @@ namespace Project.Dialog
|
||||
|
||||
}
|
||||
|
||||
private void button8_Click(object sender, EventArgs e)
|
||||
private void btIDCheck_Click(object sender, EventArgs e)
|
||||
{
|
||||
//중복검사
|
||||
var rid = tbRID.Text.Trim();
|
||||
@@ -1301,23 +1291,25 @@ namespace Project.Dialog
|
||||
UTIL.MsgE("오프라인 모드라 사용할 수 없습니다");
|
||||
return;
|
||||
}
|
||||
var result = Amkor.RestfulService.get_existed_matl_by_id(rid);
|
||||
if (result.Complete == false)
|
||||
{
|
||||
UTIL.MsgE(result.Message);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (result.Result == true)
|
||||
{
|
||||
UTIL.MsgE($"해당 ID는 중복된 ID 입니다\n값:{rid}");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
UTIL.MsgI($"해당 ID는 중복되지 않았습니다\n{rid}");
|
||||
}
|
||||
}
|
||||
|
||||
UTIL.MsgE("WMS 기능 없음");
|
||||
//var result = Amkor.RestfulService.get_existed_matl_by_id(rid);
|
||||
//if (result.Complete == false)
|
||||
//{
|
||||
// UTIL.MsgE(result.Message);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// if (result.Result == true)
|
||||
// {
|
||||
// UTIL.MsgE($"해당 ID는 중복된 ID 입니다\n값:{rid}");
|
||||
// return;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// UTIL.MsgI($"해당 ID는 중복되지 않았습니다\n{rid}");
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
private void button9_Click(object sender, EventArgs e)
|
||||
@@ -1683,6 +1675,11 @@ namespace Project.Dialog
|
||||
{
|
||||
InsertTarget.Add(col.Key, col.Value);
|
||||
}
|
||||
foreach (var item in wheres)
|
||||
{
|
||||
if (InsertTarget.ContainsKey(item.Key) == false)
|
||||
InsertTarget.Add(item.Key, item.Value);
|
||||
}
|
||||
}
|
||||
|
||||
if (UpdateTarget.Count > 0) //if update target
|
||||
@@ -1741,17 +1738,13 @@ namespace Project.Dialog
|
||||
var dlgMsg = $"다음 값을 서버에 저장 하시겠습니까?\n";
|
||||
foreach (var item in InsertTarget)
|
||||
dlgMsg += $"항목:{item.Key} => {item.Value}\n";
|
||||
foreach (var item in wheres)
|
||||
dlgMsg += $"항목:{item.Key} => {item.Value}\n";
|
||||
|
||||
var dlg = UTIL.MsgQ(dlgMsg);
|
||||
if (dlg == DialogResult.Yes)
|
||||
{
|
||||
var ISQL = $"insert into Component_Reel_SID_Information ([MC],wdate," +
|
||||
string.Join(",", wheres.Select(t => "[" + t.Key + "]")) + "," +
|
||||
string.Join(",", InsertTarget.Select(t => "[" + t.Key + "]")) + ") values(" +
|
||||
$"'{PUB.MCCode}',getdate()," +
|
||||
string.Join(",", wheres.Select(t => "'" + t.Value.Replace("'", "''") + "'")) + "," +
|
||||
string.Join(",", InsertTarget.Select(t => "'" + t.Value.Replace("'", "''") + "'")) + ")";
|
||||
|
||||
//ISQL += WSQL;
|
||||
@@ -1826,6 +1819,11 @@ namespace Project.Dialog
|
||||
{
|
||||
InsertTarget.Add(col.Key, col.Value);
|
||||
}
|
||||
foreach (var item in wheres)
|
||||
{
|
||||
if (InsertTarget.ContainsKey(item.Key) == false)
|
||||
InsertTarget.Add(item.Key, item.Value);
|
||||
}
|
||||
}
|
||||
|
||||
if (UpdateTarget.Count > 0) //if update target
|
||||
@@ -1884,17 +1882,14 @@ namespace Project.Dialog
|
||||
var dlgMsg = $"다음 변환값을 서버에 추가 하시겠습니까?\n";
|
||||
foreach (var item in InsertTarget)
|
||||
dlgMsg += $"항목:{item.Key} => {item.Value}\n";
|
||||
foreach (var item in wheres)
|
||||
dlgMsg += $"항목:{item.Key} => {item.Value}\n";
|
||||
|
||||
|
||||
var dlg = UTIL.MsgQ(dlgMsg);
|
||||
if (dlg == DialogResult.Yes)
|
||||
{
|
||||
var ISQL = $"insert into {tableName} ([MC]," +
|
||||
string.Join(",", wheres.Select(t => "[" + t.Key + "]")) + "," +
|
||||
string.Join(",", InsertTarget.Select(t => "[" + t.Key + "]")) + ") values(" +
|
||||
$"'{PUB.MCCode}'," +
|
||||
string.Join(",", wheres.Select(t => "'" + t.Value.Replace("'", "''") + "'")) + "," +
|
||||
string.Join(",", InsertTarget.Select(t => "'" + t.Value.Replace("'", "''") + "'")) + ")";
|
||||
|
||||
//ISQL += WSQL;
|
||||
@@ -1973,6 +1968,11 @@ namespace Project.Dialog
|
||||
{
|
||||
InsertTarget.Add(col.Key, col.Value);
|
||||
}
|
||||
foreach (var item in wheres)
|
||||
{
|
||||
if (InsertTarget.ContainsKey(item.Key) == false)
|
||||
InsertTarget.Add(item.Key, item.Value);
|
||||
}
|
||||
}
|
||||
|
||||
if (UpdateTarget.Count > 0) //if update target
|
||||
@@ -2031,17 +2031,14 @@ namespace Project.Dialog
|
||||
var dlgMsg = $"다음 값을 서버(변환정보)에 저장 하시겠습니까?\n";
|
||||
foreach (var item in InsertTarget)
|
||||
dlgMsg += $"항목:{item.Key} => {item.Value}\n";
|
||||
foreach (var item in wheres)
|
||||
dlgMsg += $"항목:{item.Key} => {item.Value}\n";
|
||||
|
||||
|
||||
var dlg = UTIL.MsgQ(dlgMsg);
|
||||
if (dlg == DialogResult.Yes)
|
||||
{
|
||||
var ISQL = $"insert into Component_Reel_SID_Convert ([MC],wdate," +
|
||||
string.Join(",", wheres.Select(t => "[" + t.Key + "]")) + "," +
|
||||
string.Join(",", InsertTarget.Select(t => "[" + t.Key + "]")) + ") values(" +
|
||||
$"null,getdate()," +
|
||||
string.Join(",", wheres.Select(t => "'" + t.Value.Replace("'", "''") + "'")) + "," +
|
||||
string.Join(",", InsertTarget.Select(t => "'" + t.Value.Replace("'", "''") + "'")) + ")";
|
||||
|
||||
//ISQL += WSQL;
|
||||
@@ -2090,49 +2087,51 @@ namespace Project.Dialog
|
||||
private void button1_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
//데이터베이스 결과에서 자료를 추가한다.
|
||||
var result = new DataSet1.Component_Reel_ResultDataTable();// new List<Component_Reel_Result>();
|
||||
|
||||
List<Component_Reel_Result> result = new List<Component_Reel_Result>();
|
||||
var tabName = "K4EE_Component_Reel_Result with (no lock)";
|
||||
|
||||
using (var db = new EEEntities())
|
||||
//1.sid sid를 먼저 검색한다. 이것이 확률이 제일 높음
|
||||
if (this.tbSID.Text.isEmpty() == false)
|
||||
{
|
||||
//1.sid sid를 먼저 검색한다. 이것이 확률이 제일 높음
|
||||
if (this.tbSID.Text.isEmpty() == false)
|
||||
{
|
||||
var list = db.Component_Reel_Result.AsNoTracking().
|
||||
OrderByDescending(t => t.wdate).
|
||||
Where(t => t.SID == tbSID.Text.Trim()).Take(5).ToList();
|
||||
if (list != null && list.Count > 0) result.AddRange(list);
|
||||
}
|
||||
//2.파트번호
|
||||
if (result.Count == 0 && this.tbpartno.Text.isEmpty() == false)
|
||||
{
|
||||
var list = db.Component_Reel_Result.AsNoTracking().
|
||||
OrderByDescending(t => t.wdate).
|
||||
Where(t => t.QR.Contains(";" + tbpartno.Text)).Take(5).ToList();
|
||||
if (list != null && list.Count > 0) result.AddRange(list);
|
||||
}
|
||||
//3.벤더LOT
|
||||
if (result.Count == 0 && this.tbVLOT.Text.isEmpty() == false)
|
||||
{
|
||||
var list = db.Component_Reel_Result.AsNoTracking().
|
||||
OrderByDescending(t => t.wdate).
|
||||
Where(t => t.QR.Contains(";" + tbVLOT.Text + ";")).Take(5).ToList();
|
||||
if (list != null && list.Count > 0) result.AddRange(list);
|
||||
}
|
||||
var sql = $"select top 5 * from {tabName} where sid = @sid order by wdate desc";
|
||||
var list = DBHelper.Get(sql, new SqlParameter("sid", $"{tbSID.Text}"));
|
||||
//sql = sql.Replace("@sid", tbSID.Text.Trim());
|
||||
if (list.Rows.Count > 0) result.Merge(list);
|
||||
}
|
||||
//2.파트번호
|
||||
if (result.Count == 0 && this.tbpartno.Text.isEmpty() == false)
|
||||
{
|
||||
var sql = $"select top 5 * from {tabName} where QR like @search order by wdate desc";
|
||||
var list = DBHelper.Get(sql, new SqlParameter("search", $"%;{tbpartno.Text}%"));
|
||||
if (list.Rows.Count > 0) result.Merge(list);
|
||||
}
|
||||
//3.벤더LOT
|
||||
if (result.Count == 0 && this.tbVLOT.Text.isEmpty() == false)
|
||||
{
|
||||
var sql = $"select top 5 * from {tabName} where QR like @search order by wdate desc";
|
||||
var list = DBHelper.Get(sql, new SqlParameter("search", $"%;{tbVLOT.Text}%"));
|
||||
if (list.Rows.Count > 0) result.Merge(list);
|
||||
//var list = db.Component_Reel_Result.AsNoTracking().
|
||||
// OrderByDescending(t => t.wdate).
|
||||
// Where(t => t.QR.Contains(";" + tbVLOT.Text + ";")).Take(5).ToList();
|
||||
///if (list != null && list.Count > 0) result.AddRange(list);
|
||||
}
|
||||
|
||||
//4.벤더이름
|
||||
if (result.Count == 0 && this.tbVName.Text.isEmpty() == false)
|
||||
{
|
||||
var list = db.Component_Reel_Result.AsNoTracking().
|
||||
OrderByDescending(t => t.wdate).
|
||||
Where(t => t.QR.Contains(";" + tbVName.Text + ";")).Take(5).ToList();
|
||||
if (list != null && list.Count > 0) result.AddRange(list);
|
||||
}
|
||||
//4.벤더이름
|
||||
if (result.Count == 0 && this.tbVName.Text.isEmpty() == false)
|
||||
{
|
||||
var sql = $"select top 5 * from {tabName} where QR like @search order by wdate desc";
|
||||
var list = DBHelper.Get(sql, new SqlParameter("search", $"%;{tbVName.Text}%"));
|
||||
if (list.Rows.Count > 0) result.Merge(list);
|
||||
|
||||
//var list = db.Component_Reel_Result.AsNoTracking().
|
||||
// OrderByDescending(t => t.wdate).
|
||||
// Where(t => t.QR.Contains(";" + tbVName.Text + ";")).Take(5).ToList();
|
||||
//if (list != null && list.Count > 0) result.AddRange(list);
|
||||
}
|
||||
|
||||
//customer code
|
||||
|
||||
if (result.Count < 1)
|
||||
{
|
||||
UTIL.MsgE("검색된 결과가 없습니다\n검색 아이템\n" +
|
||||
|
||||
Reference in New Issue
Block a user