|
|
@@ -288,7 +288,7 @@ namespace UAS_MES_NEW.Packing
|
|
|
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 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("select nvl(pr_Singlelevelqty,1)pr_Singlelevelqty,nvl(ms_iostatus,0) ms_iostatus,pr_code,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");
|
|
|
@@ -297,9 +297,9 @@ namespace UAS_MES_NEW.Packing
|
|
|
string ms_iostatus = "";
|
|
|
string ms_outno = "";
|
|
|
string ms_salecode_text = "";
|
|
|
-
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
+ pr_code.Text = dt.Rows[0]["pr_code"].ToString();
|
|
|
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();
|
|
|
@@ -415,6 +415,11 @@ namespace UAS_MES_NEW.Packing
|
|
|
return;
|
|
|
}
|
|
|
////箱号不存在的情况
|
|
|
+ if (!CheckRow())
|
|
|
+ {
|
|
|
+ OperateResult.AppendText(">>采集后层数超出,不允许采集\n", Color.Red);
|
|
|
+ return;
|
|
|
+ }
|
|
|
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))
|
|
|
{
|
|
|
//提示正确返回时传递的信息
|
|
|
@@ -978,23 +983,74 @@ namespace UAS_MES_NEW.Packing
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void RefreshWeight()
|
|
|
+ private bool CheckRow()
|
|
|
+ {
|
|
|
+ int packageqty = dh.getRowCount("makeserial", "ms_outboxcode='" + pa_outboxcode.Text + "'") + 1;
|
|
|
+ string pc_level = dh.getFieldDataByCondition("product left join PRODUCTCONSUMABLES on pc_prid=pr_id", "nvl(max(pc_level),0)", "pr_code='" + pr_code.Text + "'").ToString();
|
|
|
+ int rowcount = 0;
|
|
|
+ if (packageqty % int.Parse(pr_Singlelevelqty) == 0)
|
|
|
+ {
|
|
|
+ rowcount = packageqty / int.Parse(pr_Singlelevelqty);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ rowcount = packageqty / int.Parse(pr_Singlelevelqty) + 1;
|
|
|
+ }
|
|
|
+ if (int.Parse(pc_level) < rowcount)
|
|
|
+ {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ private string RefreshWeight()
|
|
|
{
|
|
|
- string boxweight = dh.getFieldDataByCondition("makeserial", "sum(nvl(MS_MIDBOXWEIGHT,0))", "ms_outboxcode='" + pa_outboxcode.Text + "'").ToString();
|
|
|
+ string boxweight = dh.getFieldDataByCondition("makeserial", "nvl(sum(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++)
|
|
|
+ int rowcount = 0;
|
|
|
+ if (packageqty % int.Parse(pr_Singlelevelqty) == 0)
|
|
|
+ {
|
|
|
+ rowcount = packageqty / int.Parse(pr_Singlelevelqty);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ rowcount = packageqty / int.Parse(pr_Singlelevelqty) + 1;
|
|
|
+ }
|
|
|
+ //获取维护的层数信息
|
|
|
+ DataTable dt = (DataTable)dh.ExecuteSql("select nvl(pc_level,0)pc_level,nvl(pc_weight,0)pc_weight from product left join PRODUCTCONSUMABLES on pc_prid=pr_id where pr_code='" + pr_code.Text + "' order by pc_level ", "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
- string pc_level = dt.Rows[0]["pc_level"].ToString();
|
|
|
+ string pc_level = dt.Rows[dt.Rows.Count - 1]["pc_level"].ToString();
|
|
|
if (int.Parse(pc_level) < rowcount)
|
|
|
{
|
|
|
-
|
|
|
+ return "栈板维护最大层数" + pc_level + ",超出层数不允许采集";
|
|
|
+ }
|
|
|
+ double attach_weight = 0;
|
|
|
+ for (int i = 0; i < rowcount; i++)
|
|
|
+ {
|
|
|
+ if (rowcount == i + 1)
|
|
|
+ {
|
|
|
+ //如果当前层满层了
|
|
|
+ if (packageqty % int.Parse(pr_Singlelevelqty) == 0)
|
|
|
+ {
|
|
|
+ attach_weight += (int.Parse(pr_Singlelevelqty)) * double.Parse(dt.Rows[i]["pc_weight"].ToString());
|
|
|
+ }
|
|
|
+ //没满层的话
|
|
|
+ else
|
|
|
+ {
|
|
|
+ attach_weight += (packageqty % int.Parse(pr_Singlelevelqty)) * double.Parse(dt.Rows[i]["pc_weight"].ToString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ attach_weight += (int.Parse(pr_Singlelevelqty)) * double.Parse(dt.Rows[i]["pc_weight"].ToString());
|
|
|
+ }
|
|
|
}
|
|
|
+ sumpalletweight.Text = (double.Parse(boxweight) + attach_weight).ToString();
|
|
|
}
|
|
|
+ return "";
|
|
|
}
|
|
|
|
|
|
|