|
|
@@ -143,23 +143,11 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
//加载表单数据
|
|
|
string Err = "";
|
|
|
- if (pa_outboxcode.Text != "")
|
|
|
- {
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select pr_cartonmaxw,pa_makecode,pr_cartonunit,pr_cartonminw,pr_cartongw,pa_outboxcode,pa_sccode,nvl(pa_downstatus,0) pa_downstatus,pa_checkno,");
|
|
|
- sql.Append("pa_status,pr_packrule,pr_detail,pa_packageqty,nvl(pa_standardqty,pr_outboxinnerqty)pr_outboxinnerqty,pa_currentqty from package left join ");
|
|
|
- sql.Append("product on pa_prodcode=pr_code where pa_outboxcode='" + pa_outboxcode.Text + "'");
|
|
|
- Err = "箱号";
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select pr_cartonmaxw,pa_makecode,pr_cartonunit,pr_cartonminw,pr_cartongw,ms_makecode,pa_status,nvl(pa_downstatus,0) pa_downstatus,pa_sccode,");
|
|
|
- sql.Append("pa_checkno,pr_packrule,pr_code,pr_detail,nvl(pa_standardqty,pr_outboxinnerqty) pr_outboxinnerqty,pa_packageqty,pa_currentqty,");
|
|
|
- sql.Append("pa_outboxcode from makeserial left join product on ms_prodcode=pr_code left join packagedetail ");
|
|
|
- sql.Append("on pd_barcode=ms_sncode left join package on pa_id =pd_paid where ms_id='" + oMsID + "'");
|
|
|
- Err = "序列号";
|
|
|
- }
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select pr_cartonmaxw,pa_makecode,pr_cartonunit,pr_cartonminw,pr_cartongw,pa_outboxcode,pa_sccode,nvl(pa_downstatus,0) pa_downstatus,pa_checkno,");
|
|
|
+ sql.Append("pa_status,pr_packrule,pr_detail,pa_packageqty,nvl(pa_standardqty,pr_outboxinnerqty)pr_outboxinnerqty,pa_currentqty from package left join ");
|
|
|
+ sql.Append("product on pa_prodcode=pr_code where pa_outboxcode='" + pa_outboxcode.Text + "'");
|
|
|
+ Err = "箱号";
|
|
|
DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
@@ -225,17 +213,31 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
if (LogicHandler.CheckStepSNAndMacode("", User.UserSourceCode, sn_code.Text, User.UserCode, out oMakeCode, out oMsID, out ErrorMessage))
|
|
|
{
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select ms_makecode,pr_code,nvl(pa_downstatus,0) pa_downstatus,pa_sccode,pa_checkno,pr_packrule,pr_code,pr_detail,nvl(pa_standardqty,pr_outboxinnerqty) ");
|
|
|
+ sql.Append("pr_outboxinnerqty from makeserial left join product on ms_prodcode=pr_code left join packagedetail ");
|
|
|
+ sql.Append("on pd_barcode=ms_sncode left join package on pa_id =pd_paid where ms_id='" + oMsID + "'");
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
+ {
|
|
|
+ StandardQTY = decimal.Parse(dt.Rows[0]["pr_outboxinnerqty"].ToString());
|
|
|
+ BaseUtil.SetFormValue(this.Controls, dt);
|
|
|
+ }
|
|
|
+ if (pa_standardqty.Text != "0")
|
|
|
+ {
|
|
|
+ pr_outboxinnerqty.Text = pa_standardqty.Text;
|
|
|
+ }
|
|
|
if (pa_outboxcode.Text == "")
|
|
|
{
|
|
|
- LoadData();
|
|
|
- if (dh.getFieldDataByCondition("makeserial", "ms_outboxcode", "ms_id='" + oMsID + "'").ToString() != "")
|
|
|
+ string boxcode = dh.getFieldDataByCondition("makeserial", "ms_outboxcode", "ms_id='" + oMsID + "'").ToString();
|
|
|
+ if (boxcode != "")
|
|
|
+ {
|
|
|
+ pa_outboxcode.Text = boxcode;
|
|
|
LoadGridData();
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
- pa_outboxcode.MakeCode = pa_makecode.Text;
|
|
|
- pa_outboxcode.ProdCode = pr_code.Text;
|
|
|
- pa_outboxcode.Caller = "PACKAGE";
|
|
|
- if (AutoGenBoxCode.Checked)
|
|
|
+ if (AutoGenBoxCode.Checked && (pa_status.Text == "1" || pa_status.Text == ""))
|
|
|
pa_outboxcode.GeneratePaCode_Click(new object(), new EventArgs());
|
|
|
}
|
|
|
}
|
|
|
@@ -244,41 +246,44 @@ namespace UAS_MES.Make
|
|
|
OperateResult.AppendText(">>箱号不能为空\n", Color.Red, sn_code);
|
|
|
return;
|
|
|
}
|
|
|
- //按工单核对装箱
|
|
|
- switch (pr_packrule.Text.ToUpper())
|
|
|
+ if (pa_status.Text != "1")
|
|
|
{
|
|
|
- case "MAKE":
|
|
|
- if (dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_id='" + oMsID + "'").ToString() != pa_makecode.Text)
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>序列号" + sn_code.Text + "所属工单和当前箱号工单不相等\n", Color.Red, sn_code);
|
|
|
- return;
|
|
|
- }
|
|
|
- break;
|
|
|
- case "SALE":
|
|
|
- if (dh.CheckExist("package", "pa_outboxcode='" + pa_outboxcode.Text + "'"))
|
|
|
- {
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select 1 from package left join make on pa_salecode=ma_salecode left join makeserial ");
|
|
|
- sql.Append("on ma_code=ms_makecode where pa_outboxcode='" + pa_outboxcode.Text + "' and ms_id='" + oMsID + "'");
|
|
|
- DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- if (dt.Rows.Count == 0)
|
|
|
+ //按工单核对装箱
|
|
|
+ switch (pr_packrule.Text.ToUpper())
|
|
|
+ {
|
|
|
+ case "MAKE":
|
|
|
+ if (dh.getFieldDataByCondition("makeserial", "ms_makecode", "ms_id='" + oMsID + "'").ToString() != pa_makecode.Text)
|
|
|
{
|
|
|
- OperateResult.AppendText(">>序列号" + sn_code.Text + "所属订单号和当前箱号订单不相等\n", Color.Red, sn_code);
|
|
|
+ OperateResult.AppendText(">>序列号" + sn_code.Text + "所属工单和当前箱号工单不相等\n", Color.Red, sn_code);
|
|
|
return;
|
|
|
}
|
|
|
- }
|
|
|
- break;
|
|
|
- case "PROD":
|
|
|
- if (dh.getFieldDataByCondition("makeserial", "ms_prodcode", "ms_id='" + oMsID + "'").ToString() != pr_code.Text)
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>序列号" + sn_code.Text + "对应物料和该箱所装物料不同\n", Color.Red, sn_code);
|
|
|
- return;
|
|
|
- }
|
|
|
- break;
|
|
|
- case "MIX":
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
+ break;
|
|
|
+ case "SALE":
|
|
|
+ if (dh.CheckExist("package", "pa_outboxcode='" + pa_outboxcode.Text + "'"))
|
|
|
+ {
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select 1 from package left join make on pa_salecode=ma_salecode left join makeserial ");
|
|
|
+ sql.Append("on ma_code=ms_makecode where pa_outboxcode='" + pa_outboxcode.Text + "' and ms_id='" + oMsID + "'");
|
|
|
+ DataTable dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dt.Rows.Count == 0)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>序列号" + sn_code.Text + "所属订单号和当前箱号订单不相等\n", Color.Red, sn_code);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "PROD":
|
|
|
+ if (dh.getFieldDataByCondition("makeserial", "ms_prodcode", "ms_id='" + oMsID + "'").ToString() != pr_code.Text)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>序列号" + sn_code.Text + "对应物料和该箱所装物料不同\n", Color.Red, sn_code);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "MIX":
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
//判断箱内总数必须大于0
|
|
|
if (pr_outboxinnerqty.Text == "" || pr_outboxinnerqty.Text == "0")
|
|
|
@@ -339,6 +344,7 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "装箱采集", "取消采集成功", sn_code.Text, "");
|
|
|
LoadGridData();
|
|
|
+ pa_status.Text = "0";
|
|
|
OperateResult.AppendText(">>已从该箱中移除序列号" + sn_code.Text + "\n", Color.Green, sn_code);
|
|
|
}
|
|
|
else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, sn_code);
|
|
|
@@ -393,6 +399,7 @@ namespace UAS_MES.Make
|
|
|
{
|
|
|
dh.UpdateByCondition("package", "pa_status=1,pa_totalqty=pa_currentqty,pa_packageqty=pa_currentqty", "pa_outboxcode='" + pa_outboxcode.Text + "'");
|
|
|
pa_status.Text = "1";
|
|
|
+ LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "装箱采集", "封箱成功", pa_outboxcode.Text, "");
|
|
|
OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "封箱成功\n", Color.Green);
|
|
|
}
|
|
|
else OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "错误或者已封箱\n", Color.Red);
|