using System; using System.Data; using System.Drawing; using System.Windows.Forms; using UAS_MES_NEW.DataOperate; using UAS_MES_NEW.Entity; using UAS_MES_NEW.PublicForm; using UAS_MES_NEW.PublicMethod; namespace UAS_MES_NEW.Make { public partial class Make_OutBoxSnCheck : Form { AutoSizeFormClass asc = new AutoSizeFormClass(); DataHelper dh; LogStringBuilder sql; DataTable dt; DataTable Dbfind; public Make_OutBoxSnCheck() { InitializeComponent(); } private void Make_LabelCheck_Load(object sender, EventArgs e) { asc.controllInitializeSize(this); //聚焦SN号 pa_outboxcode.Focus(); //打开界面提示用户:请输入SN OperateResult.AppendText(">>请采集箱号\n", Color.Black); sql = new LogStringBuilder(); dh = SystemInf.dh; LockMakeCode.GetMakeCodeCtl(ma_code); ma_code.SetLockCheckBox(LockMakeCode); //工单号放大镜配置 ma_code.TableName = "make left join product on ma_prodcode=pr_code"; ma_code.SelectField = "ma_code # 工单号,pr_code # 产品编号,pr_detail # 产品名称"; ma_code.FormName = Name; ma_code.SetValueField = new string[] { "ma_code", "pr_code", "pr_detail" }; ma_code.Condition = "ma_statuscode='STARTED'"; ma_code.DbChange += Ma_code_DbChange; } private void Ma_code_DbChange(object sender, EventArgs e) { Dbfind = ma_code.ReturnData; BaseUtil.SetFormValue(this.Controls, Dbfind); //获取工单的其他信息 sql.Clear(); sql.Append("select ma_code,nvl(mcd_okqty,0) mcd_okqty,ma_prodcode as pr_code ,pr_detail,"); sql.Append("pr_spec,ma_qty - nvl(mcd_inqty, 0) mcd_remainqty from make left join makecraftdetail on "); sql.Append("mcd_maid=ma_id left join product on pr_code=ma_prodcode where ma_code='" + ma_code.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'"); dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select"); if (dt.Rows.Count > 0) { BaseUtil.SetFormValue(this.Controls, dt); } } private void Make_LabelCheck_SizeChanged(object sender, EventArgs e) { asc.controlAutoSize(this); } private void sncode_KeyDown(object sender, KeyEventArgs e) { //判断是enter事件 if (e.KeyCode == Keys.Enter) { if (sncode.Text == "") { OperateResult.AppendText("<<输入不能为空\n", Color.Red); return; } if (ma_code.Text == "") { OperateResult.AppendText("<<工单号不能为空\n", Color.Red); return; } string outboxcode = dh.getFieldDataByCondition("PACKAGEDETAIL_offline", "pd_outboxcode", "pd_barcode='" + sncode.Text + "'").ToString(); if (!CancelCollection.Checked) { if (outboxcode != "") { OperateResult.AppendText("<<条码" + sncode.Text + "已采集到箱号" + outboxcode + "\n", Color.Red); return; } dh.ExecuteSql("insert into PACKAGEDETAIL_offline(PD_ID, PD_OUTBOXCODE, PD_BARCODE, PD_MAKECODE, PD_BUILDDATE)" + "values(PACKAGEDETAIL_offline_seq.nextval,'" + pa_outboxcode.Text + "','" + sncode.Text + "','" + ma_code.Text + "',sysdate)", "insert"); } else { if (outboxcode == "") { OperateResult.AppendText("<<条码" + sncode.Text + "未采集\n", Color.Red); return; } if (outboxcode != pa_outboxcode.Text) { OperateResult.AppendText("<<条码" + sncode.Text + "已归属到箱号" + outboxcode + ",不允许在当前箱号取消\n", Color.Red); return; } dh.ExecuteSql("delete from PACKAGEDETAIL_offline where pd_outboxcode='" + pa_outboxcode.Text + "' and pd_barcode='" + sncode.Text + "'", "insert"); } dt = (DataTable)dh.ExecuteSql("select pd_barcode from PACKAGEDETAIL_offline where pd_outboxcode='" + pa_outboxcode.Text + "'", "select"); if (dt.Rows.Count > 0) { BaseUtil.FillDgvWithDataTable(CheckSnDGV, dt); sncode.Focus(); } else { OperateResult.AppendText("<<箱号" + pa_outboxcode.Text + "不存在\n", Color.Red); } } } private void pa_outboxcode_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { dt = (DataTable)dh.ExecuteSql("select pd_barcode from PACKAGEDETAIL_offline where pd_outboxcode='" + pa_outboxcode.Text + "'", "select"); if (dt.Rows.Count > 0) { BaseUtil.FillDgvWithDataTable(CheckSnDGV, dt); sncode.Focus(); } else { OperateResult.AppendText("<<箱号" + pa_outboxcode.Text + "不存在\n", Color.Red); } } } } }