|
|
@@ -66,7 +66,7 @@ namespace UAS_MES_NEW.Warehouse
|
|
|
pi_inoutno.SelectField = "pi_id # ID,pi_title # 客户名称,pi_inoutno # 出货单号,pi_type # 出货类型,pi_palletnum # 栈板数量 ,pi_boxnum # 散箱数量 ";
|
|
|
pi_inoutno.SetValueField = new string[] { "pi_title", "pi_inoutno", "pi_id", "pi_type", "pi_palletnum", "pi_boxnum" };
|
|
|
pi_inoutno.FormName = Name;
|
|
|
- pi_inoutno.Condition = "nvl(pi_pdastatus,' ')<>'已出库' and pi_class='其它出库单' and pi_type='销售出货'";
|
|
|
+ pi_inoutno.Condition = "nvl(pi_pdastatus,' ')<>'已出库' and pi_class='其它出库单'";
|
|
|
pi_inoutno.DbChange += Pi_inoutno_DbChange;
|
|
|
asc.controllInitializeSize(this);
|
|
|
dh = SystemInf.dh;
|
|
|
@@ -218,42 +218,21 @@ namespace UAS_MES_NEW.Warehouse
|
|
|
{
|
|
|
BaseUtil.SetFormValue(this.Controls, dtpi);
|
|
|
}
|
|
|
-
|
|
|
- if (pi_type.Text == "销售出货")
|
|
|
- {
|
|
|
- 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(" from prodiodetail where pd_piid='" + pi_id.Text + "' ");
|
|
|
- dtform = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- if (dtform.Rows.Count > 0)
|
|
|
- {
|
|
|
- int boxqtycount = 0;
|
|
|
- BaseUtil.SetFormValue(this.Controls, dtform);
|
|
|
- ungetqty.Text = (int.Parse(dtform.Rows[0]["outqty"].ToString()) - int.Parse(dtform.Rows[0]["getqty"].ToString())).ToString();
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select pim_type,pim_outboxcode from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and NVL(PIM_OUTBOXCODE,' ')<>' ' AND pim_type ='BOX' GROUP BY pim_outboxcode,pim_type");
|
|
|
- DataTable dtout = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- boxqtycount += dtout.Rows.Count;
|
|
|
- boxqtycount += int.Parse(dh.getFieldDataByCondition("package left join PACKAGEDETAIL on pd_outboxcode = pa_outboxcode left join prodiomac on pim_mac =pd_barcode and pim_prodcode = pd_prodcode and pa_mothercode = pim_outboxcode", "count(DISTINCT pa_outboxcode)", " pim_inoutno='" + pi_inoutno.Text + "' and NVL(PIM_OUTBOXCODE,' ')<>' ' AND pim_type ='PALLET'").ToString());
|
|
|
- boxqty.Text = boxqtycount.ToString();
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
+ 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(" from prodiodetail where pd_piid='" + pi_id.Text + "' ");
|
|
|
+ dtform = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dtform.Rows.Count > 0)
|
|
|
+ {
|
|
|
+ int boxqtycount = 0;
|
|
|
+ BaseUtil.SetFormValue(this.Controls, dtform);
|
|
|
+ ungetqty.Text = (int.Parse(dtform.Rows[0]["outqty"].ToString()) - int.Parse(dtform.Rows[0]["getqty"].ToString())).ToString();
|
|
|
sql.Clear();
|
|
|
- sql.Append("select count(1)getqty from prodiomac where pim_inoutno = '" + pi_inoutno.Text + "'");
|
|
|
- dtform = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- if (dtform.Rows.Count > 0)
|
|
|
- {
|
|
|
- int boxqtycount = 0;
|
|
|
- BaseUtil.SetFormValue(this.Controls, dtform);
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select pim_type,pim_outboxcode from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and NVL(PIM_OUTBOXCODE,' ')<>' ' AND pim_type ='BOX' GROUP BY pim_outboxcode,pim_type");
|
|
|
- DataTable dtout = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- boxqtycount += dtout.Rows.Count;
|
|
|
- boxqtycount += int.Parse(dh.getFieldDataByCondition("package left join PACKAGEDETAIL on pd_outboxcode = pa_outboxcode left join prodiomac on pim_mac =pd_barcode and pim_prodcode = pd_prodcode and pa_mothercode = pim_outboxcode", "count(DISTINCT pa_outboxcode)", " pim_inoutno='" + pi_inoutno.Text + "' and NVL(PIM_OUTBOXCODE,' ')<>' ' AND pim_type ='PALLET'").ToString());
|
|
|
- boxqty.Text = boxqtycount.ToString();
|
|
|
- }
|
|
|
+ sql.Append("select pim_type,pim_outboxcode from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and NVL(PIM_OUTBOXCODE,' ')<>' ' AND pim_type ='BOX' GROUP BY pim_outboxcode,pim_type");
|
|
|
+ DataTable dtout = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ boxqtycount += dtout.Rows.Count;
|
|
|
+ boxqtycount += int.Parse(dh.getFieldDataByCondition("package left join PACKAGEDETAIL on pd_outboxcode = pa_outboxcode left join prodiomac on pim_mac =pd_barcode and pim_prodcode = pd_prodcode and pa_mothercode = pim_outboxcode", "count(DISTINCT pa_outboxcode)", " pim_inoutno='" + pi_inoutno.Text + "' and NVL(PIM_OUTBOXCODE,' ')<>' ' AND pim_type ='PALLET'").ToString());
|
|
|
+ boxqty.Text = boxqtycount.ToString();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -513,26 +492,18 @@ namespace UAS_MES_NEW.Warehouse
|
|
|
return;
|
|
|
}
|
|
|
LoadFormData();
|
|
|
- LoadGridData();
|
|
|
- if (dta.Rows[0]["pi_type"].ToString() == "销售出货")
|
|
|
- {
|
|
|
- if (int.Parse(dtform.Rows[0]["outqty"].ToString()) > int.Parse(dtform.Rows[0]["getqty"].ToString()))
|
|
|
- {
|
|
|
- dh.UpdateByCondition("prodinout", "pi_pdastatus='备货中'", "pi_inoutno='" + pi_inoutno.Text + "'");
|
|
|
- OperateResult.AppendText("出货单" + pi_inoutno.Text + "备货成功,备货数据:" + input.Text + "\n", Color.Black, input);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- dh.UpdateByCondition("prodinout", "pi_pdastatus='已备货'", "pi_inoutno='" + pi_inoutno.Text + "'");
|
|
|
- OperateResult.AppendText("出货单" + pi_inoutno.Text + "已完成备货,备货数据:" + input.Text + "\n", Color.Black, input);
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- else if (dta.Rows[0]["pi_type"].ToString() == "自由出货")
|
|
|
+ //LoadGridData();
|
|
|
+ if (int.Parse(dtform.Rows[0]["outqty"].ToString()) > int.Parse(dtform.Rows[0]["getqty"].ToString()))
|
|
|
{
|
|
|
dh.UpdateByCondition("prodinout", "pi_pdastatus='备货中'", "pi_inoutno='" + pi_inoutno.Text + "'");
|
|
|
OperateResult.AppendText("出货单" + pi_inoutno.Text + "备货成功,备货数据:" + input.Text + "\n", Color.Black, input);
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ dh.UpdateByCondition("prodinout", "pi_pdastatus='已备货'", "pi_inoutno='" + pi_inoutno.Text + "'");
|
|
|
+ OperateResult.AppendText("出货单" + pi_inoutno.Text + "已完成备货,备货数据:" + input.Text + "\n", Color.Black, input);
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -658,7 +629,7 @@ namespace UAS_MES_NEW.Warehouse
|
|
|
return;
|
|
|
}
|
|
|
LoadFormData();
|
|
|
- LoadGridData();
|
|
|
+ //LoadGridData();
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
@@ -698,37 +669,29 @@ namespace UAS_MES_NEW.Warehouse
|
|
|
// OperateResult.AppendText(type + input.Text + "内序列号未完工,序列号:" + dt.Rows[0]["data"].ToString() + "\n", Color.Red, input);
|
|
|
// return false;
|
|
|
//}
|
|
|
- if (dta.Rows[0]["pi_type"].ToString() == "销售出货")
|
|
|
+
|
|
|
+ //获取进行出库的产品的包装规则
|
|
|
+ string pr_packrule = dh.getFieldDataByCondition("product left join package on pr_code = pa_prodcode", "pr_packrule", "pa_outboxcode = '" + input.Text + "'").ToString();
|
|
|
+ if (pr_packrule == "SALE")
|
|
|
{
|
|
|
- //获取进行出库的产品的包装规则
|
|
|
- string pr_packrule = dh.getFieldDataByCondition("product left join package on pr_code = pa_prodcode", "pr_packrule", "pa_outboxcode = '" + input.Text + "'").ToString();
|
|
|
- if (pr_packrule == "SALE")
|
|
|
- {
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select ms_prodcode,ms_salecode,cn from (select nvl(ms_prodcode,' ') ms_prodcode,nvl(ms_salecode,' ') 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("and ms_outno is null 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_id.Text + " group by pd_prodcode,pd_ordercode)) on 1=1 where ms_prodcode<>pd_prodcode or ms_salecode<>pd_ordercode or (cn>nvl(ungetqty,0))");
|
|
|
- DataTable dtAA = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- insertprodiomac(type, iBox);
|
|
|
- return true;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select ms_prodcode,cn from (select nvl(ms_prodcode,' ') ms_prodcode,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("and ms_outno is null group by ms_prodcode) left join (select 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_prodcode,sum(pd_outqty)outqty from prodiodetail where pd_piid=" + pi_id.Text + " group by pd_prodcode)) on 1=1 where ms_prodcode<>pd_prodcode or (cn>nvl(ungetqty,0))");
|
|
|
- DataTable dtAA = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- insertprodiomac(type, iBox);
|
|
|
- return true;
|
|
|
- }
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select ms_prodcode,ms_salecode,cn from (select nvl(ms_prodcode,' ') ms_prodcode,nvl(ms_salecode,' ') 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("and ms_outno is null 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_id.Text + " group by pd_prodcode,pd_ordercode)) on 1=1 where ms_prodcode<>pd_prodcode or ms_salecode<>pd_ordercode or (cn>nvl(ungetqty,0))");
|
|
|
+ DataTable dtAA = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ insertprodiomac(type, iBox);
|
|
|
+ return true;
|
|
|
}
|
|
|
- else if (dta.Rows[0]["pi_type"].ToString() == "自由出货")
|
|
|
+ else
|
|
|
{
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select ms_prodcode,cn from (select nvl(ms_prodcode,' ') ms_prodcode,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("and ms_outno is null group by ms_prodcode) left join (select 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_prodcode,sum(pd_outqty)outqty from prodiodetail where pd_piid=" + pi_id.Text + " group by pd_prodcode)) on 1=1 where ms_prodcode<>pd_prodcode or (cn>nvl(ungetqty,0))");
|
|
|
+ DataTable dtAA = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
insertprodiomac(type, iBox);
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
return true;
|
|
|
}
|
|
|
|