|
|
@@ -215,25 +215,27 @@ namespace UAS_MES.Make
|
|
|
string sp_id = dt1.Rows[RemainIndex]["sp_id"].ToString();
|
|
|
string sp_ifforsn = dt1.Rows[RemainIndex]["sp_ifforsn"].ToString();
|
|
|
string sp_tracekind = dt1.Rows[RemainIndex]["sp_tracekind"].ToString();
|
|
|
- int sp_length = int.Parse(length != "" ? length : "0");
|
|
|
- if (dt1.Rows[RemainIndex]["sp_type"].ToString() == "物料")
|
|
|
+ string sp_barcoderule = dt1.Rows[RemainIndex]["sp_barcoderule"].ToString();
|
|
|
+ switch (sp_barcoderule)
|
|
|
{
|
|
|
- //序列号用作条码
|
|
|
- if (sp_ifforsn != "0")
|
|
|
- {
|
|
|
- dt = (DataTable)dh.ExecuteSql("select count(1) from makeserial where ms_sncode='" + code.Text + "' and ms_status=2 and ms_prodcode='" + sp_soncode + "'", "select");
|
|
|
+ case "TSN":
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select ms_id from makeserial where ms_sncode='" + code.Text + "' order by ms_id desc", "select");
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
- if (dh.getRowCount("craftmaterial", "cm_sncode='" + sn_code.Text + "' and cm_barcode='" + code.Text + "' and cm_soncode='" + sp_soncode + "'") > 0)
|
|
|
- OperateResult.AppendText(">>条码" + code.Text + "已经上料\n", Color.Red);
|
|
|
+ if (sp_soncode != dt.Rows[0]["ms_prodcode"].ToString())
|
|
|
+ OperateResult.AppendText(">>序列号对应的物料不是:" + sp_soncode + "\n");
|
|
|
else
|
|
|
- Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
|
|
|
+ {
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select cm_id from craftmaterial where cm_soncode='" + sp_soncode + "' and cm_barcode='" + code.Text + "'", "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
+ OperateResult.AppendText(">>序列号" + code.Text + "已采集过\n", Color.Red, code);
|
|
|
+ else
|
|
|
+ Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
|
|
|
+ }
|
|
|
}
|
|
|
- else OperateResult.AppendText(">>序列号不存在\n", Color.Red);
|
|
|
- }
|
|
|
- //单件管控物料
|
|
|
- else if (sp_tracekind == "1")
|
|
|
- {
|
|
|
+ else OperateResult.AppendText(">>序列号" + code.Text + "不存在\n");
|
|
|
+ break;
|
|
|
+ case "BARCODE":
|
|
|
dt = (DataTable)dh.ExecuteSql("select bar_prodcode,bar_code from barcode where bar_code='" + code.Text + "'", "select");
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
@@ -248,12 +250,10 @@ namespace UAS_MES.Make
|
|
|
Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
|
|
|
}
|
|
|
}
|
|
|
- else OperateResult.AppendText(">>条码不存在\n", Color.Red, code);
|
|
|
- }
|
|
|
- //不管控
|
|
|
- else if (sp_tracekind == "0")
|
|
|
- {
|
|
|
- //进行前缀匹配
|
|
|
+ else OperateResult.AppendText(">>条码" + code.Text + "不存在\n", Color.Red, code);
|
|
|
+ break;
|
|
|
+ case "RULE":
|
|
|
+ int sp_length = int.Parse(length != "" ? length : "0");
|
|
|
if (code.Text.Substring(0, sp_prefix.Length) == sp_prefix || sp_prefix == "")
|
|
|
{
|
|
|
//进行长度匹配
|
|
|
@@ -272,33 +272,9 @@ namespace UAS_MES.Make
|
|
|
else OperateResult.AppendText(">>长度不匹配\n", Color.Red);
|
|
|
}
|
|
|
else OperateResult.AppendText(">>前缀不匹配\n", Color.Red);
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //如果sp_type!='物料'的话
|
|
|
- //Wifi和蓝牙公用一个字段
|
|
|
- switch (dt1.Rows[RemainIndex]["sp_type"].ToString())
|
|
|
- {
|
|
|
- case "MAC":
|
|
|
- dh.UpdateByCondition("makeserial", "ms_mac='" + code.Text + "'", "ms_id=" + ms_id);
|
|
|
- break;
|
|
|
- case "BT":
|
|
|
- dh.UpdateByCondition("makeserial", "ms_bt='" + code.Text + "'", "ms_id=" + ms_id);
|
|
|
- break;
|
|
|
- case "WIFI":
|
|
|
- dh.UpdateByCondition("makeserial", "ms_bt='" + code.Text + "'", "ms_id=" + ms_id);
|
|
|
- break;
|
|
|
- case "IMEI1":
|
|
|
- dh.UpdateByCondition("makeserial", "ms_imei1='" + code.Text + "'", "ms_id=" + ms_id);
|
|
|
- break;
|
|
|
- case "IMEI2":
|
|
|
- dh.UpdateByCondition("makeserial", "ms_imei2='" + code.Text + "'", "ms_id=" + ms_id);
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- Save_OtherCode(sp_soncode, make_code, sn_code.Text, sp_id);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -307,34 +283,22 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, code.Text, User.UserCode, out oMakeCode, out oMsid, out ErrorMessage))
|
|
|
{
|
|
|
- if (sn_code.Text != "")
|
|
|
- {
|
|
|
- dt = (DataTable)dh.ExecuteSql("select cm_id,cm_stepcode,ms_makecode,cm_mccode from craftmaterial left join makeserial on cm_makecode=ms_makecode and cm_sncode=ms_sncode where ms_sncode='" + sn_code.Text + "' and cm_barcode='" + code.Text + "'", "select");
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
- {
|
|
|
- string cm_id = dt.Rows[0]["cm_id"].ToString();
|
|
|
- string ms_macode = dt.Rows[0]["ms_makecode"].ToString();
|
|
|
- string cm_stepcode = dt.Rows[0]["cm_stepcode"].ToString();
|
|
|
- string cm_mccode = dt.Rows[0]["cm_mccode"].ToString();
|
|
|
- dh.ExecuteSql("delete from Craftmaterial where cm_id=" + cm_id, "delete");
|
|
|
- LogicHandler.InsertMakeProcess(ms_macode, sn_code.Text, User.UserSourceCode, "上料采集操作", "下料成功", User.UserName);
|
|
|
- int count = dh.getRowCount("craftMaterial", "cm_mccode='" + cm_mccode + "' and cm_stepcode='" + cm_stepcode + "' and cm_sncode='" + sn_code.Text + "'");
|
|
|
- if (count == 0)
|
|
|
- dh.UpdateByCondition("makecraftdetail ", "mcd_inqty=mcd_inqty-1,mcd_outqty=mcd_outqty-1,mcd_okqty = mcd_okqty - 1", "mcd_mccode='" + cm_mccode + "' and mcd_stepcode='" + cm_stepcode + "'");
|
|
|
- OperateResult.AppendText(">>下料成功\n", Color.Green, code);
|
|
|
- }
|
|
|
- }
|
|
|
- else if (sn_code.Text == "")
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select cm_id,cm_stepcode,ms_makecode,cm_mccode from craftmaterial left join makeserial on cm_makecode=ms_makecode and cm_sncode=ms_sncode where ms_sncode='" + code.Text + "' and cm_makecode='" + ma_code.Text + "'", "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
- dt = (DataTable)dh.ExecuteSql("select cm_id from craftmaterial where cm_sncode='" + sn_code.Text + "'", "select");
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>请采集需要下料的序列号\n", Color.Black, code);
|
|
|
- sn_code.Text = code.Text;
|
|
|
- }
|
|
|
- else OperateResult.AppendText(">>该序列号未上料,无需下料\n", Color.Red, code);
|
|
|
+ string ms_macode = dt.Rows[0]["ms_makecode"].ToString();
|
|
|
+ string cm_stepcode = dt.Rows[0]["cm_stepcode"].ToString();
|
|
|
+ string cm_mccode = dt.Rows[0]["cm_mccode"].ToString();
|
|
|
+ dh.ExecuteSql("delete from craftmaterial where cm_sncode='" + code.Text + "' and cm_makecode='" + ma_code.Text + "'", "delete");
|
|
|
+ LogicHandler.InsertMakeProcess(ms_macode, code.Text, User.UserSourceCode, "上料采集操作", "下料成功", User.UserCode);
|
|
|
+ int count = dh.getRowCount("craftMaterial", "cm_mccode='" + cm_mccode + "' and cm_stepcode='" + cm_stepcode + "' and cm_sncode='" + code.Text + "'");
|
|
|
+ if (count == 0)
|
|
|
+ dh.UpdateByCondition("makecraftdetail ", "mcd_inqty=mcd_inqty-1,mcd_outqty=mcd_outqty-1,mcd_okqty = mcd_okqty - 1", "mcd_mccode='" + cm_mccode + "' and mcd_stepcode='" + cm_stepcode + "'");
|
|
|
+ OperateResult.AppendText(">>序列号" + code.Text + "下料成功\n", Color.Green, code);
|
|
|
}
|
|
|
+ else OperateResult.AppendText(">>该序列号未上料,无需下料\n", Color.Red, code);
|
|
|
}
|
|
|
+ else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
|
|
|
}
|
|
|
}
|
|
|
else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
|
|
|
@@ -360,6 +324,7 @@ namespace UAS_MES.Make
|
|
|
nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
|
|
|
ms_status = dt.Rows[0]["ms_status"].ToString();
|
|
|
BaseUtil.SetFormValue(this.Controls, dt);
|
|
|
+ LockMakeCode.Checked = true;
|
|
|
string oMakeCode = "";
|
|
|
string oMsID = "";
|
|
|
if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out ErrorMessage))
|
|
|
@@ -369,8 +334,8 @@ namespace UAS_MES.Make
|
|
|
//单独用一个DataTable存储一个
|
|
|
dt1 = new DataTable();
|
|
|
sql.Clear();
|
|
|
- sql.Append("select sp_id,sp_tracekind,sp_prefix,sp_ifuseregex,sp_ifforsn,sp_length,sp_description,sp_soncode,pr_detail,pr_spec,sp_repcode,pr_id,");
|
|
|
- sql.Append("sp_type,case when (sp_type='物料' and sp_soncode=pr_code) then '已采集' else '未采集' end sp_ifpick ,sp_prefix,");
|
|
|
+ sql.Append("select sp_id,sp_tracekind,sp_barcoderule,sp_prefix,sp_ifuseregex,sp_ifforsn,sp_length,sp_description,sp_soncode,pr_detail,pr_spec,");
|
|
|
+ sql.Append("sp_repcode,pr_id,sp_type,case when (sp_type='物料' and sp_soncode=pr_code) then '已采集' else '未采集' end sp_ifpick ,sp_prefix,");
|
|
|
sql.Append("sp_length,sp_regex,sp_ifforsn from stepproduct left join product on pr_code=sp_soncode where sp_bomversion='" + ma_bomversion + "' and ");
|
|
|
sql.Append("sp_craftcode='" + ms_craftcode + "' and sp_stepcode='" + User.CurrentStepCode + "' And sp_mothercode ='" + make_prodcode + "' ");
|
|
|
sql.Append("and((sp_type = '物料' and( sp_tracekind <> 2 or sp_tracekind is null))or sp_type <> '物料') order by SP_DETNO asc");
|
|
|
@@ -473,6 +438,7 @@ namespace UAS_MES.Make
|
|
|
CollectDataSonCode.Clear();
|
|
|
BaseUtil.CleanDataTableData(dt1);
|
|
|
RemainIndex = 0;
|
|
|
+ OperateResult.AppendText(">>请采集序列号\n",Color.Black);
|
|
|
}
|
|
|
|
|
|
private void ma_code_UserControlTextChanged(object sender, EventArgs e)
|