|
|
@@ -76,7 +76,7 @@ namespace UAS_MES.Warehouse
|
|
|
BaseUtil.SetFormValue(this.Controls, dtpi);
|
|
|
}
|
|
|
sql.Clear();
|
|
|
- sql.Append("select nvl((select sum(pd_outqty) from prodiodetail where pd_piid='"+pi_id.Text+"'),0)outqty,nvl((select count(1)cn from prodiomac where pim_inoutno=pd_inoutno),0) getqty , ");
|
|
|
+ sql.Append("select nvl((select sum(pd_outqty) from prodiodetail where pd_piid="+pi_id.Text+"),0)outqty,nvl((select count(1)cn from prodiomac where pim_inoutno=pd_inoutno),0) getqty , ");
|
|
|
sql.Append("nvl((select sum(CASE WHEN pim_type='BOX' then 1 else nvl((select pa_packageqty from package where pa_outboxcode=pim_outboxcode),0)end) from prodiomac ");
|
|
|
sql.Append("where pim_inoutno='" + pi_inoutno.Text + "' and NVL(PIM_OUTBOXCODE,' ')<>' ' AND pim_type in('BOX','PALLET')),0) boxqty from prodiodetail where pd_piid='" + pi_id.Text + "' ");
|
|
|
dtform = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
@@ -211,7 +211,8 @@ namespace UAS_MES.Warehouse
|
|
|
OperateResult.AppendText("栈板号" + input.Text + "不存在,请重新输入\n", Color.Red, input);
|
|
|
return;
|
|
|
}
|
|
|
- checkinsertprodiomac("栈板号");
|
|
|
+ if (!checkinsertprodiomac("栈板号"))
|
|
|
+ return;
|
|
|
}
|
|
|
else if (bigboxBtn.Checked)
|
|
|
{
|
|
|
@@ -238,7 +239,8 @@ namespace UAS_MES.Warehouse
|
|
|
OperateResult.AppendText("箱号" + input.Text + "不存在,请重新输入\n", Color.Red, input);
|
|
|
return;
|
|
|
}
|
|
|
- checkinsertprodiomac("箱号");
|
|
|
+ if (!checkinsertprodiomac("箱号"))
|
|
|
+ return;
|
|
|
//更新箱号对应的出货单号
|
|
|
dh.UpdateByCondition("package", "pa_outno = '" + pi_inoutno.Text + "'", "pa_outboxcode = '" + input.Text + "'");
|
|
|
}
|
|
|
@@ -279,7 +281,7 @@ namespace UAS_MES.Warehouse
|
|
|
{
|
|
|
sql.Clear();
|
|
|
sql.Append("select cn,outqty,outqty-nvl((select count(1) from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and pim_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "'),0)ungetqty from");
|
|
|
- sql.Append("(select nvl(sum(pd_outqty),0) outqty ,count(1)cn from prodiodetail where pd_piid='" + pi_id.Text + "' and pd_ordercode='" + dtms.Rows[0]["ms_salecode"].ToString() + "' and pd_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "')");
|
|
|
+ sql.Append("(select nvl(sum(pd_outqty),0) outqty ,count(1)cn from prodiodetail where pd_piid=" + pi_id.Text + " and pd_ordercode='" + dtms.Rows[0]["ms_salecode"].ToString() + "' and pd_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "')");
|
|
|
dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
if (dt.Rows[0]["cn"].ToString() == "0")
|
|
|
{
|
|
|
@@ -446,7 +448,7 @@ namespace UAS_MES.Warehouse
|
|
|
}
|
|
|
|
|
|
|
|
|
- private void checkinsertprodiomac(string type)
|
|
|
+ private Boolean checkinsertprodiomac(string type)
|
|
|
{
|
|
|
sql.Clear();
|
|
|
sql.Append("select wm_concat(v_barcode)data,count(1)cn from mes_package_view left join makeserial on ms_sncode=v_barcode and ms_makecode=v_makecode where v_outboxcode='" + input.Text + "' and nvl(ms_status,0)<>2 and rownum<20");
|
|
|
@@ -454,30 +456,33 @@ namespace UAS_MES.Warehouse
|
|
|
if (dt.Rows[0]["data"].ToString() != "" && int.Parse(dt.Rows[0]["cn"].ToString()) > 0)
|
|
|
{
|
|
|
OperateResult.AppendText(type + input.Text + "内序列号未完工,序列号:" + dt.Rows[0]["data"].ToString() + "\n", Color.Red, input);
|
|
|
- return;
|
|
|
+ return false;
|
|
|
}
|
|
|
if (dta.Rows[0]["pi_type"].ToString() == "按订单出货")
|
|
|
{
|
|
|
sql.Clear();
|
|
|
sql.Append("select ms_prodcode,ms_salecode,cn from (select ms_prodcode,ms_salecode,count(1)cn from mes_package_view left join makeserial on ms_sncode=v_barcode and ms_makecode=v_makecode where v_outboxcode='" + input.Text + "' ");
|
|
|
sql.Append(" group by ms_prodcode,ms_salecode) left join (select pd_ordercode,pd_prodcode,outqty-nvl((select count(1) from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and pim_prodcode=pd_prodcode),0)ungetqty");
|
|
|
- sql.Append(" from (select pd_ordercode,pd_prodcode,sum(pd_outqty)outqty from prodiodetail where pd_piid='" + pi_inoutno.Text + "' group by pd_prodcode,pd_ordercode)) on ms_prodcode=pd_prodcode and ms_salecode=pd_ordercode where nvl(pd_prodcode,' ')<>' ' or nvl(pd_ordercode,' ')<>' ' or cn>nvl(ungetqty,0)");
|
|
|
+ sql.Append(" from (select pd_ordercode,pd_prodcode,sum(pd_outqty)outqty from prodiodetail where pd_piid=" + pi_id.Text + " group by pd_prodcode,pd_ordercode)) on ms_prodcode=pd_prodcode and ms_salecode=pd_ordercode where nvl(pd_prodcode,' ')<>' ' or nvl(pd_ordercode,' ')<>' ' or cn>nvl(ungetqty,0)");
|
|
|
dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- if (int.Parse(dt.Rows[0]["cn"].ToString()) > 0)
|
|
|
+ if (!(int.Parse(dt.Rows[0]["cn"].ToString()) > 0))
|
|
|
{
|
|
|
OperateResult.AppendText(type + input.Text + "内的序列号中的物料+订单不在出货单中或者栈板内中序列号的数量大于剩余出货数,栈板内物料号:" + dt.Rows[0]["ms_prodcode"].ToString() + ",订单号:" + dt.Rows[0]["ms_salecode"].ToString() + ",数量:" + dt.Rows[0]["cn"].ToString() + "\n", Color.Red, input);
|
|
|
- return;
|
|
|
+ return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//插入prodiomac表
|
|
|
insertprodiomac(type);
|
|
|
+ return true;
|
|
|
}
|
|
|
}
|
|
|
else if (dta.Rows[0]["pi_type"].ToString() == "自由出货")
|
|
|
{
|
|
|
insertprodiomac(type);
|
|
|
+ return true;
|
|
|
}
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
private Boolean checkinput(DataTable dt, string type)
|