|
|
@@ -35,6 +35,8 @@ namespace UAS_MES.Make
|
|
|
string macode;
|
|
|
//当前提示的索引
|
|
|
int RemainIndex = 0;
|
|
|
+ //保存TSN编号
|
|
|
+ string ms_id = null;
|
|
|
|
|
|
Thread InitPrint;
|
|
|
ApplicationClass lbl;
|
|
|
@@ -67,12 +69,30 @@ namespace UAS_MES.Make
|
|
|
ma_code.SetValueField = new string[] { "ma_code", "pr_code", "pr_detail" };
|
|
|
ma_code.Condition = "ma_statuscode='STARTED'";
|
|
|
ma_code.DbChange += Ma_code_DbChange;
|
|
|
+
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
}
|
|
|
|
|
|
private void Ma_code_DbChange(object sender, EventArgs e)
|
|
|
{
|
|
|
Dbfind = ma_code.ReturnData;
|
|
|
BaseUtil.SetFormValue(this.Controls, Dbfind);
|
|
|
+ //获取工单的其他信息
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select ma_code,nvl(mcd_okqty,0) mcd_okqty,ma_prodcode as pr_code ,pr_detail,");
|
|
|
+ sql.Append("pr_spec,ma_qty - nvl(mcd_inqty, 0) mcd_remainqty from make left join makecraftdetail on ");
|
|
|
+ sql.Append("mcd_maid=ma_id left join product on pr_code=ma_prodcode where ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
+ {
|
|
|
+ BaseUtil.SetFormValue(this.Controls, dt);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sncode.Text = "";
|
|
|
+ OperateResult.AppendText(">>无工单号" + ma_code.Text + "对应工单信息\n", Color.Red);
|
|
|
+ BaseUtil.CleanForm(this);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void InPrint()
|
|
|
@@ -84,11 +104,55 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
if (e.KeyCode == Keys.Enter)
|
|
|
{
|
|
|
+ if (CheckTSN.Checked == true && ms_id == null)
|
|
|
+ {
|
|
|
+ if (sncode.Text == "")
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>TSN不能为空\n", Color.Red);
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select max(ms_id) ms_id from makeserial where ms_sncode ='"+sncode.Text+"' or exists (select 1 from");
|
|
|
+ sql.Append(" makesnrelation where beforesn= '"+ sncode.Text + "'and ms_makecode=makecode)");
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dt.Rows[0][0].ToString() != "")
|
|
|
+ {
|
|
|
+ ms_id = dt.Rows[0][0].ToString();
|
|
|
+ sncode.Text = "";
|
|
|
+ sncode.Focus();
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ sncode.Text = "";
|
|
|
+ OperateResult.AppendText(">>TSN错误,不存在\n", Color.Red);
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
if (sncode.Text == "")
|
|
|
{
|
|
|
OperateResult.AppendText(">>序列号不能为空\n", Color.Red);
|
|
|
return;
|
|
|
}
|
|
|
+ if (CheckTSN.Checked == true && ms_id != null) {
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select * from makeserial where ms_id='"+ms_id+"' and ms_sncode= '"+sncode.Text+"' ");
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>TSN和SN一致\n", Color.Green);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sncode.Text = "";
|
|
|
+ OperateResult.AppendText(">>TSN和SN不一致\n", Color.Red);
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
+ ms_id = null;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
string oMsID;
|
|
|
string ErrorMessage2;
|
|
|
string oMakeCode;
|
|
|
@@ -97,55 +161,55 @@ namespace UAS_MES.Make
|
|
|
// 获取工单归属工单下一工序是否正确
|
|
|
if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, sncode.Text, User.UserCode, out oMakeCode, out oMsID, out ErrorMessage2))
|
|
|
{
|
|
|
- //获取工单的其他信息
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select ma_code,nvl(mcd_okqty,0) mcd_okqty,ma_prodcode as pr_code ,pr_detail,");
|
|
|
- sql.Append("pr_spec,ma_qty - nvl(mcd_inqty, 0) mcd_remainqty from make left join makecraftdetail on ");
|
|
|
- sql.Append("mcd_maid=ma_id left join product on pr_code=ma_prodcode where ma_code='" + oMakeCode + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
|
|
|
- dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
- {
|
|
|
- BaseUtil.SetFormValue(this.Controls, dt);
|
|
|
- //提示用户“<<工单号:取ma_makecode”
|
|
|
- OperateResult.AppendText("<<工单号:" + ma_code.Text + "\n", Color.Green);
|
|
|
- //提示用户“<< 序列号:XXXX”
|
|
|
- OperateResult.AppendText("<<序列号:" + sncode.Text + "\n", Color.Green);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- sncode.Text = "";
|
|
|
- OperateResult.AppendText(">>无序列号" + sncode.Text + "对应工单信息\n", Color.Red);
|
|
|
- }
|
|
|
- string ErrorMessage = "";
|
|
|
- string result = "";
|
|
|
- if (int.Parse(mcd_remainqty.Text) <= 0)
|
|
|
+ if (LogicHandler.SetStepResult(oMakeCode, User.UserSourceCode, sncode.Text, "彩盒打印", "彩盒打印成功", User.UserCode, out ErrorMessage2))
|
|
|
{
|
|
|
- macode = ma_code.Text;
|
|
|
- BaseUtil.CleanForm(this);
|
|
|
- ErrorMessage = "工单" + macode + "打印结束>>>请输入SN";
|
|
|
- OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Green);
|
|
|
- sncode.Focus();
|
|
|
- return;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //所选标签不为空
|
|
|
- if (PrintLabel.SelectedValue != null)
|
|
|
+ //获取工单的其他信息
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select ma_code,nvl(mcd_okqty,0) mcd_okqty,ma_prodcode as pr_code ,pr_detail,");
|
|
|
+ sql.Append("pr_spec,ma_qty - nvl(mcd_inqty, 0) mcd_remainqty from make left join makecraftdetail on ");
|
|
|
+ sql.Append("mcd_maid=ma_id left join product on pr_code=ma_prodcode where ma_code='" + oMakeCode + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
- //如果打印张数为空,返回
|
|
|
- if (PrintNum.Text == "" || int.Parse(PrintNum.Text) == 0)
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>打印张数不可空或者为0\n", Color.Red);
|
|
|
- //清空输入框的值,聚焦
|
|
|
- sncode.Text = "";
|
|
|
- sncode.Focus();
|
|
|
- //提示用户“>>请输入SN”
|
|
|
- OperateResult.AppendText(">>请输入SN\n", Color.Green);
|
|
|
- return;
|
|
|
- }
|
|
|
- Print.CodeSoft(lbl, PrintLabel.Text.Split(':')[1], PrintLabel.SelectedValue.ToString(), Printer.Text, sncode.Text, int.Parse(PrintNum.Text), indate[PrintLabel.SelectedIndex]);
|
|
|
- if (LogicHandler.UpdateMakeMessage(sncode.Text, ma_code.Text, "彩盒打印", User.UserSourceCode, User.UserCode, "彩盒打印成功", out ErrorMessage))
|
|
|
+ BaseUtil.SetFormValue(this.Controls, dt);
|
|
|
+ //提示用户“<<工单号:取ma_makecode”
|
|
|
+ OperateResult.AppendText("<<工单号:" + ma_code.Text + "\n", Color.Green);
|
|
|
+ //提示用户“<< 序列号:XXXX”
|
|
|
+ OperateResult.AppendText("<<序列号:" + sncode.Text + "\n", Color.Green);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sncode.Text = "";
|
|
|
+ OperateResult.AppendText(">>无序列号" + sncode.Text + "对应工单信息\n", Color.Red);
|
|
|
+ }
|
|
|
+ string ErrorMessage = "";
|
|
|
+ string result = "";
|
|
|
+ if (int.Parse(mcd_remainqty.Text) <= 0)
|
|
|
+ {
|
|
|
+ macode = ma_code.Text;
|
|
|
+ BaseUtil.CleanForm(this);
|
|
|
+ ErrorMessage = "工单" + macode + "打印结束>>>请输入SN";
|
|
|
+ OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Green);
|
|
|
+ sncode.Focus();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //所选标签不为空
|
|
|
+ if (PrintLabel.SelectedValue != null)
|
|
|
{
|
|
|
+ //如果打印张数为空,返回
|
|
|
+ if (PrintNum.Text == "" || int.Parse(PrintNum.Text) == 0)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>打印张数不可空或者为0\n", Color.Red);
|
|
|
+ //清空输入框的值,聚焦
|
|
|
+ sncode.Text = "";
|
|
|
+ sncode.Focus();
|
|
|
+ //提示用户“>>请输入SN”
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Print.CodeSoft(lbl, PrintLabel.Text.Split(':')[1], PrintLabel.SelectedValue.ToString(), Printer.Text, sncode.Text, int.Parse(PrintNum.Text), indate[PrintLabel.SelectedIndex]);
|
|
|
//提示用户打印成功
|
|
|
OperateResult.AppendText(">>序列号:" + sncode.Text + "打印成功\n", Color.Green);
|
|
|
//刷新打印数量和剩余数量
|
|
|
@@ -153,34 +217,58 @@ namespace UAS_MES.Make
|
|
|
BaseUtil.SetFormValue(Controls, dt);
|
|
|
mcd_okqty.Text = int.Parse(mcd_okqty.Text) + 1 + "";
|
|
|
sncode.Text = "";
|
|
|
- sncode.Focus();
|
|
|
+ ms_id = null;
|
|
|
+ sncode.Focus();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- sncode.Text = "";
|
|
|
- sncode.Focus();
|
|
|
- OperateResult.AppendText(">>更新工序失败" + ErrorMessage + "\n", Color.Red);
|
|
|
+ OperateResult.AppendText(">>产品编号:" + pr_code.Text + "未维护机身标签\n", Color.Red);
|
|
|
+ OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
|
|
|
+ return;
|
|
|
}
|
|
|
+ if (CheckTSN.Checked == true)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
+ ms_id = null;
|
|
|
+ }else
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green);
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>产品编号:" + pr_code.Text + "未维护机身标签\n", Color.Red);
|
|
|
- OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
|
|
|
- return;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ sncode.Text = "";
|
|
|
+ OperateResult.AppendText(ErrorMessage2 + "\n", Color.Red);
|
|
|
+ if (CheckTSN.Checked == true) {
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
+ ms_id = null;
|
|
|
}
|
|
|
- OperateResult.AppendText(">>请输入SN\n", Color.Green);
|
|
|
+ else
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green);
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
+ else {
|
|
|
sncode.Text = "";
|
|
|
OperateResult.AppendText(ErrorMessage2 + "\n", Color.Red);
|
|
|
+ if (CheckTSN.Checked == true)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
+ ms_id = null;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
sncode.Text = "";
|
|
|
OperateResult.AppendText(ErrorMessage2 + "\n", Color.Red);
|
|
|
+ if (CheckTSN.Checked == true)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
+ ms_id = null;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -232,10 +320,28 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- sncode.Text = "";
|
|
|
- OperateResult.AppendText(">>无工单号" + ma_code.Text + "对应工单信息\n", Color.Red);
|
|
|
+ sncode.Text = "";
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void CheckTSN_CheckedChanged(object sender, EventArgs e)
|
|
|
+ {
|
|
|
+ if (CheckTSN.Checked == true)
|
|
|
+ {
|
|
|
+ ms_id = null;
|
|
|
+ OperateResult.AppendText(">>切换至检查TSN\n", Color.Green);
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
+ sncode.Text = "";
|
|
|
+ sncode.Focus();
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ ms_id = null;
|
|
|
+ OperateResult.AppendText(">>切换至不检查TSN\n", Color.Green);
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green);
|
|
|
+ sncode.Text = "";
|
|
|
+ sncode.Focus();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|