|
|
@@ -31,9 +31,7 @@ namespace UAS_MES_NEW.Packing
|
|
|
decimal StandardQTY = 0;
|
|
|
string LastSncode;
|
|
|
string PR_CHECKCARTONW = "0";
|
|
|
-
|
|
|
- ModeBusTCPServer md;
|
|
|
-
|
|
|
+ string pr_Singlelevelqty = "";
|
|
|
public Packing_PackageCollectionPallet()
|
|
|
{
|
|
|
|
|
|
@@ -73,7 +71,6 @@ namespace UAS_MES_NEW.Packing
|
|
|
thread = new Thread(NewPrint);
|
|
|
SetLoadingWindow stw = new SetLoadingWindow(thread, "初始化打印程序");
|
|
|
BaseUtil.SetFormCenter(stw);
|
|
|
- md = new ModeBusTCPServer();
|
|
|
stw.ShowDialog();
|
|
|
try
|
|
|
{
|
|
|
@@ -286,16 +283,12 @@ namespace UAS_MES_NEW.Packing
|
|
|
if (nextstepcode != "" && nextstepcode != User.CurrentStepCode)
|
|
|
{
|
|
|
OperateResult.AppendText("当前序列号下一道工序" + nextstepcode + ",当前资源不允许采集\n", Color.Red);
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M502_ON");
|
|
|
- }
|
|
|
return;
|
|
|
}
|
|
|
PR_CHECKCARTONW = dh.getFieldDataByCondition("craftdetail left join craft on cr_id=cd_crid left join makeserial on ms_craftcode =cr_code and cr_prodcode = ms_prodcode", "nvl(cd_ifweigh,'0') cd_ifweigh", "ms_sncode='" + sn_code.Text + "' and ms_makecode='" + oMakeCode + "' and cd_stepcode = '" + User.CurrentStepCode + "'").ToString();
|
|
|
//获取序列号信息
|
|
|
sql.Clear();
|
|
|
- sql.Append("select pr_Singlelevelqty,nvl(ms_iostatus,0) ms_iostatus,pa_salecode,ms_salecode,ms_outno,ms_makecode,ms_prodcode,nvl(pa_downstatus,0) pa_downstatus,pa_sccode,pa_checkno,pr_packrule,");
|
|
|
+ sql.Append("select nvl(pr_Singlelevelqty,1)pr_Singlelevelqty,nvl(ms_iostatus,0) ms_iostatus,pa_salecode,ms_salecode,ms_outno,ms_makecode,ms_prodcode,nvl(pa_downstatus,0) pa_downstatus,pa_sccode,pa_checkno,pr_packrule,");
|
|
|
sql.Append("nvl(pr_outboxinnerqty,0)pr_outboxinnerqty,nvl(pr_sendchecktype,'LineCode')pr_sendchecktype 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");
|
|
|
@@ -304,9 +297,10 @@ namespace UAS_MES_NEW.Packing
|
|
|
string ms_iostatus = "";
|
|
|
string ms_outno = "";
|
|
|
string ms_salecode_text = "";
|
|
|
- string pr_Singlelevelqty = "";
|
|
|
+
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
+ pr_Singlelevelqty = dt.Rows[0]["pr_Singlelevelqty"].ToString();
|
|
|
StandardQTY = decimal.Parse(dt.Rows[0]["pr_outboxinnerqty"].ToString());
|
|
|
ms_makecode = dt.Rows[0]["ms_makecode"].ToString();
|
|
|
ms_prodcode = dt.Rows[0]["ms_prodcode"].ToString();
|
|
|
@@ -316,10 +310,6 @@ namespace UAS_MES_NEW.Packing
|
|
|
if (locksalecode.Checked && ms_salecode.Text != "" && ms_salecode.Text != ms_salecode_text)
|
|
|
{
|
|
|
OperateResult.AppendText(">>序列号" + sn_code.Text + "所属订单号" + ms_salecode_text + "与界面订单号" + ms_salecode.Text + "不同,无法采集\n", Color.Red, sn_code);
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M502_ON");
|
|
|
- }
|
|
|
return;
|
|
|
}
|
|
|
BaseUtil.SetFormValue(this.Controls, dt);
|
|
|
@@ -327,19 +317,11 @@ namespace UAS_MES_NEW.Packing
|
|
|
if (dt.Rows[0]["ms_outno"].ToString() != "")
|
|
|
{
|
|
|
OperateResult.AppendText(">>序列号" + sn_code.Text + "已被出货单" + dt.Rows[0]["ms_outno"].ToString() + "采集,不允许操作\n", Color.Red, sn_code);
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M502_ON");
|
|
|
- }
|
|
|
return;
|
|
|
}
|
|
|
if (dt.Rows[0]["ms_iostatus"].ToString() != "0")
|
|
|
{
|
|
|
OperateResult.AppendText(">>序列号" + sn_code.Text + "已入库不允许采集\n", Color.Red, sn_code);
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M502_ON");
|
|
|
- }
|
|
|
return;
|
|
|
}
|
|
|
//保证箱内容量不会被重置
|
|
|
@@ -391,19 +373,11 @@ namespace UAS_MES_NEW.Packing
|
|
|
if (dt.Rows[0]["pa_outno"].ToString() != "")
|
|
|
{
|
|
|
OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "已被出货单" + dt.Rows[0]["pa_outno"].ToString() + "采集,不允许操作\n", Color.Red, sn_code);
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M502_ON");
|
|
|
- }
|
|
|
return;
|
|
|
}
|
|
|
if (dt.Rows[0]["pa_iostatus"].ToString() != "0")
|
|
|
{
|
|
|
OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "处于入库状态,不允许操作\n", Color.Red, sn_code);
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M502_ON");
|
|
|
- }
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
@@ -416,18 +390,10 @@ namespace UAS_MES_NEW.Packing
|
|
|
{
|
|
|
if (ms_outboxcode == pa_outboxcode.Text)
|
|
|
{
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M501_ON");
|
|
|
- }
|
|
|
OperateResult.AppendText(">>序列号" + sn_code.Text + "已在本箱内\n", Color.Red, sn_code);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M502_ON");
|
|
|
- }
|
|
|
OperateResult.AppendText(">>序列号" + sn_code.Text + "已采集至箱" + ms_outboxcode + "\n", Color.Red, sn_code);
|
|
|
}
|
|
|
LoadData();
|
|
|
@@ -451,15 +417,13 @@ namespace UAS_MES_NEW.Packing
|
|
|
////箱号不存在的情况
|
|
|
if (LogicHandler.Packing_Pallet(sn_code.Text, pa_outboxcode.Text, AutoGenBoxCode.Checked, "标准", User.UserSourceCode, User.UserCode, pr_outboxinnerqty.Text, Cancel.Checked, out oOutBoxCode, out ErrorMessage))
|
|
|
{
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M501_ON");
|
|
|
- }
|
|
|
//提示正确返回时传递的信息
|
|
|
if (ErrorMessage.Contains("AFTERSUCCESS"))
|
|
|
OperateResult.AppendText(">>" + ErrorMessage + "\n");
|
|
|
LastSncode = sn_code.Text;
|
|
|
OperateResult.AppendText(">>序列号" + sn_code.Text + "采集成功!\n", Color.Green);
|
|
|
+
|
|
|
+ RefreshWeight();
|
|
|
LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "卡通箱采集", "卡通箱" + pa_outboxcode.Text + "采集成功", sn_code.Text, "");
|
|
|
//满箱更新状态为1
|
|
|
LoadData();
|
|
|
@@ -502,6 +466,11 @@ namespace UAS_MES_NEW.Packing
|
|
|
OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "满箱处于称重工序,请在卡通箱称重界面进行称重打印\n", Color.Black, sn_code);
|
|
|
return;
|
|
|
}
|
|
|
+ if (dh.getFieldDataByCondition("package", "PA_PALLETNO", "pa_outboxcode='" + pa_outboxcode.Text + "'").ToString() == "")
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "未绑定卡板号,不允许封箱\n", Color.Black, sn_code);
|
|
|
+ return;
|
|
|
+ }
|
|
|
dh.UpdateByCondition("package", "pa_status=1,pa_packageqty=pa_currentqty,pa_totalqty=pa_currentqty", "pa_outboxcode='" + pa_outboxcode.Text + "'");
|
|
|
OperateResult.AppendText(">>箱号" + pa_outboxcode.Text + "满箱采集完成,封箱成功\n", Color.Green);
|
|
|
pa_status.Text = "1";
|
|
|
@@ -531,6 +500,7 @@ namespace UAS_MES_NEW.Packing
|
|
|
{
|
|
|
if (LogicHandler.Packing_Pallet(sn_code.Text, pa_outboxcode.Text, AutoGenBoxCode.Checked, "标准", User.UserSourceCode, User.UserCode, pr_outboxinnerqty.Text, Cancel.Checked, out oOutBoxCode, out ErrorMessage))
|
|
|
{
|
|
|
+ RefreshWeight();
|
|
|
dh.UpdateByCondition("makeserial", "ms_outboxcode=''", "ms_id='" + oMsID + "'");
|
|
|
dh.ExecuteSql("update packagedetail set pd_innerqty=(select pa_packageqty from package where pa_outboxcode='" + pa_outboxcode.Text + "') where pd_innerboxcode='" + pa_outboxcode.Text + "'", "update");
|
|
|
//如果母箱号不为空,需要更新总数
|
|
|
@@ -565,20 +535,12 @@ namespace UAS_MES_NEW.Packing
|
|
|
else
|
|
|
{
|
|
|
OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, sn_code);
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M502_ON");
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, sn_code);
|
|
|
- if (md.IsOpen)
|
|
|
- {
|
|
|
- md.SendOrder("M502_ON");
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
else OperateResult.AppendText(">>" + ErrorMessage + "\n", Color.Red, sn_code);
|
|
|
@@ -621,6 +583,11 @@ namespace UAS_MES_NEW.Packing
|
|
|
{
|
|
|
if (dh.CheckExist("package", "pa_outboxcode='" + pa_outboxcode.Text + "' and nvl(pa_status,0)=0"))
|
|
|
{
|
|
|
+ if (dh.getFieldDataByCondition("package", "PA_PALLETNO", "pa_outboxcode='" + pa_outboxcode.Text + "'").ToString() == "")
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>卡通箱" + pa_outboxcode.Text + "未绑定卡板号,不允许封箱\n", Color.Black, sn_code);
|
|
|
+ return;
|
|
|
+ }
|
|
|
string Seal = MessageBox.Show(this.ParentForm, "是否确认封箱?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
|
|
|
if (Seal == "Yes")
|
|
|
{
|
|
|
@@ -1011,6 +978,25 @@ namespace UAS_MES_NEW.Packing
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void RefreshWeight()
|
|
|
+ {
|
|
|
+ string boxweight = dh.getFieldDataByCondition("makeserial", "sum(nvl(MS_MIDBOXWEIGHT,0))", "ms_outboxcode='" + pa_outboxcode.Text + "'").ToString();
|
|
|
+ sumpalletweight.Text = (double.Parse(boxweight)).ToString();
|
|
|
+ int packageqty = dh.getRowCount("makeserial", "ms_outboxcode='" + pa_outboxcode.Text + "'");
|
|
|
+ //获取维护的层数信息
|
|
|
+ DataTable dt = (DataTable)dh.ExecuteSql("select pc_level,pc_weight from product left join PRODUCTCONSUMABLES on pc_prid=pr_id where pr_code='" + pr_code.Text + "'", "select");
|
|
|
+ //根据单层装的数量,自动计算栈板装的层数
|
|
|
+ int rowcount = packageqty / int.Parse(pr_Singlelevelqty);
|
|
|
+ for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
+ {
|
|
|
+ string pc_level = dt.Rows[0]["pc_level"].ToString();
|
|
|
+ if (int.Parse(pc_level) < rowcount)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private void Remark_PreFix_KeyDown(object sender, KeyEventArgs e)
|
|
|
{
|