|
|
@@ -32,6 +32,8 @@ namespace UAS_MES.Make
|
|
|
|
|
|
System.DateTime[] indate;
|
|
|
|
|
|
+ string ms_firstsn = "";
|
|
|
+
|
|
|
ApplicationClass lbl;
|
|
|
|
|
|
Document doc;
|
|
|
@@ -102,11 +104,10 @@ namespace UAS_MES.Make
|
|
|
if (LogicHandler.CheckStepAttribute(Tag.ToString(), User.UserSourceCode, out ErrorMessage))
|
|
|
{
|
|
|
string Msid;
|
|
|
- if (ListA.Rows.Count == 0)
|
|
|
+ if (ListA.Rows.Count == 0 && load.Checked)
|
|
|
{
|
|
|
if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, code.Text, User.UserCode, out macode, out Msid, out ErrorMessage) || ListA.Rows.Count > 0)
|
|
|
{
|
|
|
- string ms_firstsn = "";
|
|
|
sql.Clear();
|
|
|
sql.Append("select ma_code,ma_craftcode,ms_sncode,ma_qty,pr_detail,pr_code,ma_bomversion,ms_firstsn from makeserial left join make on ");
|
|
|
sql.Append("ms_makecode=ma_code left join product on ms_prodcode=pr_code where ms_id='" + Msid + "'");
|
|
|
@@ -126,68 +127,61 @@ namespace UAS_MES.Make
|
|
|
ms_sncode.Text = code.Text;
|
|
|
code.Text = "";
|
|
|
}
|
|
|
- //判断当前的执行状态 ,Loading表示执行上料操作,UnLoading表示执行下料操作
|
|
|
- if (load.Checked == true)
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select sp_id,sp_tracekind,sp_barcoderule,sp_ifuseregex,sp_ifforsn,sp_length,sp_soncode,sp_repcode");
|
|
|
+ sql.Append(",pr_id,sp_type,sp_prefix,sp_regex from stepproduct left join product on pr_code=sp_soncode where ");
|
|
|
+ sql.Append("sp_bomversion='" + ma_bomversion.Text + "' and sp_craftcode='" + ma_craftcode.Text + "' and sp_stepcode='" + User.CurrentStepCode + "'");
|
|
|
+ sql.Append("And sp_mothercode ='" + pr_code.Text + "' and((sp_type = '物料' and( sp_tracekind <> 2 or sp_tracekind is null))or sp_type <> '物料')");
|
|
|
+ sql.Append("and not exists(select 1 from craftmaterial where (cm_sncode='" + ms_firstsn + "' or cm_sncode in (select sn from makesnrelation where firstsn='" + ms_firstsn + "')) and cm_makecode='" + ma_code.Text + "' and cm_soncode=");
|
|
|
+ sql.Append("sp_soncode and cm_status=0) order by SP_DETNO asc");
|
|
|
+ ListA = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ //获取对应 产品的机身标的打印模板
|
|
|
+ if (ListA.Rows.Count > 0)
|
|
|
{
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select sp_id,sp_tracekind,sp_barcoderule,sp_ifuseregex,sp_ifforsn,sp_length,sp_soncode,sp_repcode");
|
|
|
- sql.Append(",pr_id,sp_type,sp_prefix,sp_regex from stepproduct left join product on pr_code=sp_soncode where ");
|
|
|
- sql.Append("sp_bomversion='" + ma_bomversion.Text + "' and sp_craftcode='" + ma_craftcode.Text + "' and sp_stepcode='" + User.CurrentStepCode + "'");
|
|
|
- sql.Append("And sp_mothercode ='" + pr_code.Text + "' and((sp_type = '物料' and( sp_tracekind <> 2 or sp_tracekind is null))or sp_type <> '物料')");
|
|
|
- sql.Append("and not exists(select 1 from craftmaterial where (cm_sncode='" + ms_firstsn + "' or cm_sncode in (select sn from makesnrelation where firstsn='" + ms_firstsn + "')) and cm_makecode='" + ma_code.Text + "' and cm_soncode=");
|
|
|
- sql.Append("sp_soncode and cm_status=0) order by SP_DETNO asc");
|
|
|
- ListA = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- //获取对应 产品的机身标的打印模板
|
|
|
- if (ListA.Rows.Count > 0)
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>请采集" + ListA.Rows[RemainIndex]["sp_soncode"].ToString() + "的条码\n");
|
|
|
- code.Clear();
|
|
|
- }
|
|
|
+ OperateResult.AppendText(">>请采集" + ListA.Rows[RemainIndex]["sp_soncode"].ToString() + "的条码\n");
|
|
|
+ code.Clear();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>当前序列号" + ms_sncode.Text + "没有需要采集的内容,请采集其他序列号\n", Color.Red);
|
|
|
+ if (!LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, ms_sncode.Text, "上料采集", "上料成功", User.UserCode, out ErrorMessage))
|
|
|
+ OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
|
|
|
else
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>当前序列号" + ms_sncode.Text + "没有需要采集的内容,请采集其他序列号\n", Color.Red);
|
|
|
- if (!LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, ms_sncode.Text, "上料采集", "上料成功", User.UserCode, out ErrorMessage))
|
|
|
- OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red);
|
|
|
- else
|
|
|
- OperateResult.AppendText(">>序列号" + ms_sncode.Text + "上料采集完成!\n", Color.Green);
|
|
|
- return;
|
|
|
- }
|
|
|
+ OperateResult.AppendText(">>序列号" + ms_sncode.Text + "上料采集完成!\n", Color.Green);
|
|
|
+ return;
|
|
|
}
|
|
|
- else if (unload.Checked == true)
|
|
|
+ }
|
|
|
+ else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
|
|
|
+ }
|
|
|
+ else if (unload.Checked == true)
|
|
|
+ {
|
|
|
+ if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, code.Text, User.UserCode, out macode, out Msid, out ErrorMessage))
|
|
|
+ {
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select ms_firstsn,cm_id,cm_stepcode,ms_makecode,cm_mccode,cm_makecode,cm_craftcode from craftmaterial left join makeserial on cm_makecode=ms_makecode and cm_sncode=ms_sncode where ms_sncode='" + code.Text + "' and cm_makecode='" + macode + "'", "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
- if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, code.Text, User.UserCode, out macode, out Msid, out ErrorMessage))
|
|
|
- {
|
|
|
- dt = (DataTable)dh.ExecuteSql("select ms_firstsn,cm_id,cm_stepcode,ms_makecode,cm_mccode,cm_makecode,cm_craftcode from craftmaterial left join makeserial on cm_makecode=ms_makecode and cm_sncode=ms_sncode where ms_sncode='" + code.Text + "' and cm_makecode='" + macode + "'", "select");
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
- {
|
|
|
- string ms_macode = dt.Rows[0]["ms_makecode"].ToString();
|
|
|
- ms_firstsn = dt.Rows[0]["ms_firstsn"].ToString();
|
|
|
- string cm_stepcode = dt.Rows[0]["cm_stepcode"].ToString();
|
|
|
- string cm_mccode = dt.Rows[0]["cm_mccode"].ToString();
|
|
|
- string cm_makecode = dt.Rows[0]["cm_makecode"].ToString();
|
|
|
- string cm_craftcode = dt.Rows[0]["cm_craftcode"].ToString();
|
|
|
- //进行下料
|
|
|
- sql.Clear();
|
|
|
- sql.Append("delete from craftmaterial where (cm_sncode in (select sn from makesnrelation where firstsn");
|
|
|
- sql.Append("='" + ms_firstsn + "') or cm_sncode = '" + ms_firstsn + "') and cm_makecode = '" + ma_code.Text + "' ");
|
|
|
- sql.Append("and cm_status = 0 and cm_stepcode='" + User.CurrentStepCode + "'");
|
|
|
- dh.ExecuteSql(sql.GetString(), "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 + "'");
|
|
|
- sql.Clear();
|
|
|
- sql.Append("update makeserial set ms_nextmacode='' where ms_sncode in(select cm_barcode from craftmaterial where ");
|
|
|
- sql.Append("cm_makecode='" + cm_makecode + "' and cm_stepcode='" + cm_stepcode + "' and cm_craftcode='" + cm_craftcode + "' ");
|
|
|
- sql.Append("and cm_materialtype=1 and nvl(cm_status,0) =0) and ms_nextmacode='" + ma_code.Text + "'");
|
|
|
- dh.ExecuteSql(sql.GetString(), "update");
|
|
|
- LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "上料采集", "下料成功", code.Text, "");
|
|
|
- OperateResult.AppendText(">>序列号" + code.Text + "下料成功\n", Color.Green, code);
|
|
|
- }
|
|
|
- else OperateResult.AppendText(">>该序列号未上料,无需下料\n", Color.Red, code);
|
|
|
- }
|
|
|
- else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
|
|
|
+ string ms_macode = dt.Rows[0]["ms_makecode"].ToString();
|
|
|
+ ms_firstsn = dt.Rows[0]["ms_firstsn"].ToString();
|
|
|
+ string cm_stepcode = dt.Rows[0]["cm_stepcode"].ToString();
|
|
|
+ string cm_mccode = dt.Rows[0]["cm_mccode"].ToString();
|
|
|
+ string cm_makecode = dt.Rows[0]["cm_makecode"].ToString();
|
|
|
+ string cm_craftcode = dt.Rows[0]["cm_craftcode"].ToString();
|
|
|
+ //进行下料
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("delete from craftmaterial where (cm_sncode in (select sn from makesnrelation where firstsn");
|
|
|
+ sql.Append("='" + ms_firstsn + "') or cm_sncode = '" + ms_firstsn + "') and cm_makecode = '" + macode + "' ");
|
|
|
+ sql.Append("and cm_status = 0 and cm_stepcode='" + User.CurrentStepCode + "' and cm_materialtype=1");
|
|
|
+ dh.ExecuteSql(sql.GetString(), "delete");
|
|
|
+ LogicHandler.InsertMakeProcess(macode, code.Text, User.UserSourceCode, "上料采集操作", "下料成功", User.UserCode);
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("update makeserial set ms_nextmacode='' where ms_sncode in(select cm_barcode from craftmaterial where ");
|
|
|
+ sql.Append("cm_makecode='" + cm_makecode + "' and cm_stepcode='" + cm_stepcode + "' and cm_craftcode='" + cm_craftcode + "' ");
|
|
|
+ sql.Append("and cm_materialtype=1 and nvl(cm_status,0) =0) and ms_nextmacode='" + macode + "'");
|
|
|
+ dh.ExecuteSql(sql.GetString(), "update");
|
|
|
+ LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ma_code.Text, User.UserLineCode, User.UserSourceCode, "上料采集", "下料成功", code.Text, "");
|
|
|
+ OperateResult.AppendText(">>序列号" + code.Text + "下料成功\n", Color.Green, code);
|
|
|
}
|
|
|
+ else OperateResult.AppendText(">>该序列号未上料,无需下料\n", Color.Red, code);
|
|
|
}
|
|
|
else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, code);
|
|
|
}
|
|
|
@@ -231,7 +225,7 @@ namespace UAS_MES.Make
|
|
|
//更新半成品SN已被工单使用
|
|
|
dh.ExecuteSql("update makeserial set ms_nextmacode='" + ma_code.Text + "' where ms_id=(select max(ms_id) from makeserial where ms_sncode='" + ms_sncode.Text + "' and ms_makecode<>'" + ma_code.Text + "')", "update");
|
|
|
OperateResult.AppendText(">>序列号" + ms_sncode.Text + "对应的物料已经采集完成\n", Color.Green);
|
|
|
- doc = lbl.Documents.Open(ftpOperater.DownLoadTo+ PrintLabel.Text);
|
|
|
+ doc = lbl.Documents.Open(ftpOperater.DownLoadTo + PrintLabel.Text);
|
|
|
Print.CodeSoft(Tag.ToString(), doc, PrintLabel.Text, PrintLabel.SelectedValue.ToString(), Printer.Text, ms_sncode.Text, int.Parse(PrintNum.Text), indate[PrintLabel.SelectedIndex]);
|
|
|
RemainIndex = 0;
|
|
|
CollectData.Clear();
|