|
|
@@ -19,7 +19,7 @@ namespace UAS_MES.Make
|
|
|
//保存StepProduct查询出来的数据
|
|
|
DataTable ListA = new DataTable();
|
|
|
//保存make left join makecraftdetail left join product的数据
|
|
|
- // DataTable ListB;
|
|
|
+ DataTable mapB;
|
|
|
//保存ProductLabel数据
|
|
|
DataTable ListC;
|
|
|
//工序编号
|
|
|
@@ -31,24 +31,26 @@ namespace UAS_MES.Make
|
|
|
//制造单号
|
|
|
string ma_code;
|
|
|
//当前工单的序列号
|
|
|
- string sn_code;
|
|
|
+ //string sn_code;
|
|
|
//当前提示的索引
|
|
|
int RemainIndex = 0;
|
|
|
|
|
|
- string Step = "Loading";
|
|
|
+ //string Step = "Loading";
|
|
|
|
|
|
ApplicationClass lbl;
|
|
|
|
|
|
public Make_ColorBoxLoadPrint()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
+ //默认选中上料
|
|
|
+ load.Checked = true;
|
|
|
}
|
|
|
|
|
|
private void 标签打印_Load(object sender, EventArgs e)
|
|
|
{
|
|
|
dh = new DataHelper();
|
|
|
lbl = new ApplicationClass();
|
|
|
- sncode.Focus();
|
|
|
+ code.Focus();
|
|
|
asc.controllInitializeSize(this);
|
|
|
}
|
|
|
|
|
|
@@ -56,28 +58,26 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
if (e.KeyCode == Keys.Enter)
|
|
|
{
|
|
|
- if (sncode.Text == "")
|
|
|
+ if (code.Text == "")
|
|
|
{
|
|
|
- OperateResult.AppendText(">>序列号不能为空\n", Color.Red);
|
|
|
+ OperateResult.AppendText(">>输入内容不能为空\n", Color.Red);
|
|
|
return;
|
|
|
}
|
|
|
+ //string Omakecode;
|
|
|
+ //string Omsid;
|
|
|
+ //string Oerrormessage;
|
|
|
+ //LogicHandler.CheckStepSNAndMacode(ms_makecode.Text, User.UserSourceCode, code.Text, User.UserCode, out Omakecode, out Omsid, out Oerrormessage)
|
|
|
//通过输入指定字符来设置当前执行的步骤
|
|
|
- if (sncode.Text == "L")
|
|
|
+ if (load.Checked=true)
|
|
|
{
|
|
|
- Step = " ";
|
|
|
OperateResult.AppendText(">>开始执行上料工序\n", Color.Green);
|
|
|
- sncode.Text = "";
|
|
|
- return;
|
|
|
}
|
|
|
- else if (sncode.Text == "R")
|
|
|
+ else if (unload.Checked=true)
|
|
|
{
|
|
|
- Step = "UnLoading";
|
|
|
OperateResult.AppendText(">>开始执行下料工序\n", Color.Green);
|
|
|
- sncode.Text = "";
|
|
|
- return;
|
|
|
}
|
|
|
//判断如果该序列号的归属工单和之前查询的是一致的话,就不进行重复数据的查询
|
|
|
- ma_code = dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode='" + sncode.Text + "'").ToString();
|
|
|
+ ma_code = dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_sncode='" + code.Text + "'").ToString();
|
|
|
if (ms_makecode.Text != ma_code || ma_code == "")
|
|
|
{
|
|
|
//ma_code不为空的时候表示不是第一次加载,提示用户切换工单
|
|
|
@@ -86,41 +86,43 @@ namespace UAS_MES.Make
|
|
|
OperateResult.AppendText(">>切换工单至工单号" + ma_code + "\n", Color.Red);
|
|
|
}
|
|
|
sql.Clear();
|
|
|
- sql.Append("select ma_code,mcd_okqty,ma_qty,ma_qty-mcd_inqty as mcd_remainqty,pr_detail,pr_code ");
|
|
|
+ sql.Append("select ma_code as ms_makecode,mcd_okqty,ma_qty,ma_qty-mcd_inqty as mcd_remainqty,pr_detail,pr_code ");
|
|
|
sql.Append("from makeserial left join make on ms_makecode=ma_code left join product on ");
|
|
|
sql.Append("ms_prodcode=pr_code left join makecraftdetail on ms_makecode=mcd_macode where ms_sncode=:sncode");
|
|
|
- dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", sncode.Text);
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", code.Text);
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
BaseUtil.SetFormValue(this.Controls, dt);
|
|
|
- sn_code = sncode.Text;
|
|
|
+ sncode.Text = code.Text;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText(">>序列号" + sncode.Text + "不存在\n", Color.Red);
|
|
|
+ OperateResult.AppendText(">>序列号" + code.Text + "不存在\n", Color.Red);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
//判断当前的执行状态 ,Loading表示执行上料操作,UnLoading表示执行下料操作
|
|
|
- if (Step == "Loading")
|
|
|
+ if (load.Checked=true)
|
|
|
{
|
|
|
sql.Clear();
|
|
|
sql.Append("select ma_code,ma_craftcode,ms_nextstepcode, ms_status,ms_stepcode from makeserial ");
|
|
|
sql.Append("left join make on ma_code=ms_makecode where ms_sncode=:sncode or ms_psn=:sncode");
|
|
|
- dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", sncode.Text, sncode.Text);
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", code.Text, code.Text);
|
|
|
//记录一些变量
|
|
|
stepcode = dt.Rows[0]["ms_stepcode"].ToString();
|
|
|
nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
|
|
|
craftcode = dt.Rows[0]["ma_craftcode"].ToString();
|
|
|
string ErrorMessage;
|
|
|
- bool ifFirst;
|
|
|
+ string Omakecode;
|
|
|
+ string Omsid;
|
|
|
+ //string Oerrormessage;
|
|
|
//检测当前序列号和岗位资源是否对应
|
|
|
- if (LogicHandler.CheckCurrentStepAndIfFirst(sncode.Text, ms_makecode.Text, User.UserSourceCode, Tag.ToString(), out ifFirst, out ErrorMessage))
|
|
|
+ if (LogicHandler.CheckStepSNAndMacode(ms_makecode.Text, User.UserSourceCode, code.Text, User.UserCode, out Omakecode, out Omsid, out ErrorMessage))
|
|
|
{
|
|
|
//判断当前工序是否是上料工序cd_ifinput或者是否是测试工序cd_iftest
|
|
|
sql.Clear();
|
|
|
sql.Append("select cr_code,cd_stepcode,cd_ifinput,cd_iftest from makeserial left join craft on ms_craftcode=cr_code left join craftdetail on cd_crid=cr_id and ");
|
|
|
- sql.Append("cd_stepcode=ms_nextstepcode where ms_sncode='" + sncode.Text + "' and ms_makecode='" + ms_makecode.Text + "'");
|
|
|
+ sql.Append("cd_stepcode=ms_nextstepcode where ms_sncode='" + code.Text + "' and ms_makecode='" + ms_makecode.Text + "'");
|
|
|
dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
@@ -155,17 +157,17 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- Print.CodeSoft(lbl, PrintLabel.Text, PrintLabel.SelectedValue.ToString(), Printer.Text, sncode.Text);
|
|
|
+ Print.CodeSoft(lbl, PrintLabel.Text, PrintLabel.SelectedValue.ToString(), Printer.Text, code.Text);
|
|
|
OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
|
|
|
}
|
|
|
}
|
|
|
//如果执行的是下料操作
|
|
|
- else if (Step == "UnLoading")
|
|
|
+ else if (unload.Checked=true)
|
|
|
{
|
|
|
string ErrorMessage1 = "";
|
|
|
- if (LogicHandler.SetMaterialDown(sn_code, sncode.Text,User.UserSourceCode, User.CurrentStepCode, User.UserName, out ErrorMessage1))
|
|
|
+ if (LogicHandler.SetMaterialDown(sncode.Text, code.Text,User.UserSourceCode, User.CurrentStepCode, User.UserName, out ErrorMessage1))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>条码" + sncode.Text + "下料成功\n", Color.Green);
|
|
|
+ OperateResult.AppendText(">>条码" + code.Text + "下料成功\n", Color.Green);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -187,7 +189,7 @@ namespace UAS_MES.Make
|
|
|
if (RemainIndex == ListA.Rows.Count - 1)
|
|
|
{
|
|
|
OperateResult.AppendText(">>序列号对应的工单已经采集完成\n", Color.Green);
|
|
|
- sn_code = "";
|
|
|
+ sncode.Text = "";
|
|
|
return;
|
|
|
}
|
|
|
string ErrorMessage;
|
|
|
@@ -195,7 +197,7 @@ namespace UAS_MES.Make
|
|
|
string soncode = ListA.Rows[RemainIndex]["sp_soncode"].ToString();
|
|
|
string sonID = ListA.Rows[RemainIndex]["sp_id"].ToString();
|
|
|
//执行上料
|
|
|
- if (LogicHandler.SetMaterialUp(sn_code, ms_makecode.Text, sncode.Text, soncode, User.UserSourceCode, User.UserName, sonID, out ErrorMessage))
|
|
|
+ if (LogicHandler.SetMaterialUp(sncode.Text, ms_makecode.Text, code.Text, soncode, User.UserSourceCode, User.UserName, sonID, out ErrorMessage))
|
|
|
{
|
|
|
RemainIndex = RemainIndex + 1;
|
|
|
OperateResult.AppendText(">>请采集物料编号为" + ListA.Rows[RemainIndex]["sp_soncode"].ToString() + "的条码\n", Color.Green);
|
|
|
@@ -220,7 +222,7 @@ namespace UAS_MES.Make
|
|
|
//局部变量ErrorMessage1
|
|
|
string ErrorMessage1;
|
|
|
//由于打印驱动暂时不可用,暂时注释打印方法
|
|
|
- if (LogicHandler.SetCollectionFinish(sncode.Text, ms_makecode.Text, User.UserName, User.UserSourceCode, out ErrorMessage1))
|
|
|
+ if (LogicHandler.SetCollectionFinish(code.Text, ms_makecode.Text, User.UserName, User.UserSourceCode, out ErrorMessage1))
|
|
|
{
|
|
|
sncode.Text = "";
|
|
|
//如果值为空默认设置为0
|
|
|
@@ -255,7 +257,7 @@ namespace UAS_MES.Make
|
|
|
|
|
|
private void pr_code_TextChanged(object sender, EventArgs e)
|
|
|
{
|
|
|
- dt = (DataTable)dh.ExecuteSql("select pl_labelname,pl_labelcode from productlabel where pl_prodcode='" + pr_code.Text + "'", "select");
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select pl_labelname,pl_labelcode from productlabel where pl_prodcode='" + pr_code.Text + "' order by pl_isdefault desc", "select");
|
|
|
PrintLabel.DataSource = dt;
|
|
|
PrintLabel.DisplayMember = "pl_labelname";
|
|
|
PrintLabel.ValueMember = "pl_labelcode";
|