|
|
@@ -811,6 +811,46 @@ namespace UAS_MES_NEW.Warehouse
|
|
|
LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, pa_makecode, User.UserLineCode, User.UserSourceCode, "箱号" + input.Text + "出货备货", "箱号" + input.Text + "出货备货成功", input.Text, "");
|
|
|
}
|
|
|
}
|
|
|
+ else if (spareBtn.Checked)
|
|
|
+ {
|
|
|
+ //备品出货:扫一个序列号记一个,料号取明细中点选的行,只卡控数量
|
|
|
+ if (pi_inoutno.Text == "")
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("请先选择出货单\n", Color.Red, input);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (PDID == "0" || pdprodcode == "")
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("请先在出货明细中点选备品对应的料号行\n", Color.Red, input);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //同一出货单下不重复采集
|
|
|
+ if (dh.getFieldDataByCondition("prodiomac", "count(1)", "pim_inoutno='" + pi_inoutno.Text + "' and pim_mac='" + input.Text + "'").ToString() != "0")
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("序列号" + input.Text + "已采集过,不允许重复采集\n", Color.Red, input);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //数量卡控:该明细行已扫数达到出货数则不允许继续扫
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select nvl(pd_outqty,0)pd_outqty,(select count(1) from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and pim_pdid='" + PDID + "')getqty from prodiodetail where pd_id='" + PDID + "'");
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dt.Rows.Count == 0)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("所选明细已被清除,请重新点选料号行\n", Color.Red, input);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (int.Parse(dt.Rows[0]["getqty"].ToString()) >= int.Parse(dt.Rows[0]["pd_outqty"].ToString()))
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("料号" + pdprodcode + "已扫" + dt.Rows[0]["getqty"].ToString() + ",达到出货数" + dt.Rows[0]["pd_outqty"].ToString() + ",不允许继续采集\n", Color.Red, input);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ dh.ExecuteSql("insert into prodiomac(pim_id,pim_inoutno,pim_piid,pim_prodcode,pim_mac,pim_indate,pim_inman,pim_type,pim_outboxcode,pim_inorout,pim_class,pim_custpo,pim_custdetno,pim_pdid,pim_custprodcode)" +
|
|
|
+ "values(prodiomac_seq.nextval,'" + pi_inoutno.Text + "','" + pi_id.Text + "','" + pdprodcode + "','" + input.Text + "',sysdate,'" + User.UserCode + "','SN','','OUT','出货','" + custpo + "','" + custpodetno + "','" + PDID + "','" + pdcustprodcode + "')", "insert");
|
|
|
+ //序列号在系统内则记出货单号,不在也不影响记录
|
|
|
+ dh.ExecuteSql("update makeserial set ms_outno='" + pi_inoutno.Text + "' where ms_sncode='" + input.Text + "' and ms_outno is null", "update");
|
|
|
+ LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, "", User.UserLineCode, User.UserSourceCode, "备品序列号" + input.Text + "出货备货", "备品序列号" + input.Text + "出货备货成功,料号" + pdprodcode, input.Text, "");
|
|
|
+ OperateResult.AppendText("序列号" + input.Text + "备品出货采集成功,料号" + pdprodcode + "\n", Color.Green, input);
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
OperateResult.AppendText("未选择录入数据类型\n", Color.Red, input);
|
|
|
@@ -948,6 +988,20 @@ namespace UAS_MES_NEW.Warehouse
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
+ else if (spareBtn.Checked)
|
|
|
+ {
|
|
|
+ //取消备品:按序列号删除该出货单下的备品采集记录
|
|
|
+ DataTable dtSpare = (DataTable)dh.ExecuteSql("select pim_prodcode from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and pim_mac='" + input.Text + "' and pim_type='SN' and pim_inorout='OUT' and pim_class='出货'", "select");
|
|
|
+ if (dtSpare.Rows.Count == 0)
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("序列号" + input.Text + "不在出货单" + pi_inoutno.Text + "的备货数据中,无法取消\n", Color.Red, input);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ dh.ExecuteSql("delete from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and pim_mac='" + input.Text + "' and pim_type='SN' and pim_inorout='OUT' and pim_class='出货'", "delete");
|
|
|
+ //序列号在系统内则清掉出货单号,不在也不影响
|
|
|
+ OperateResult.AppendText("序列号" + input.Text + "取消备货成功,料号" + dtSpare.Rows[0]["pim_prodcode"].ToString() + "\n", Color.Black, input);
|
|
|
+ LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, "", User.UserLineCode, User.UserSourceCode, "备品序列号" + input.Text + "取消出货备货", "备品序列号" + input.Text + "取消出货备货成功,料号" + dtSpare.Rows[0]["pim_prodcode"].ToString(), input.Text, "");
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
OperateResult.AppendText("未选择录入数据类型\n", Color.Red, input);
|
|
|
@@ -1107,6 +1161,14 @@ namespace UAS_MES_NEW.Warehouse
|
|
|
input.Focus();
|
|
|
OperateResult.AppendText("请输入栈板进行采集\n", Color.Black, input);
|
|
|
}
|
|
|
+ else if (((RadioButton)sender).Name == "spareBtn")
|
|
|
+ {
|
|
|
+ input.Focus();
|
|
|
+ if (cancel.Checked)
|
|
|
+ OperateResult.AppendText("请扫描需取消的备品序列号\n", Color.Black, input);
|
|
|
+ else
|
|
|
+ OperateResult.AppendText("请先在出货明细中点选备品料号行,再扫描序列号采集\n", Color.Black, input);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|