using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using UAS_MES.DataOperate; using UAS_MES.Entity; using UAS_MES.PublicMethod; namespace UAS_MES.Packing { public partial class Make_CartonTransfer : Form { AutoSizeFormClass asc = new AutoSizeFormClass(); DataTable dt; DataTable dt1; DataTable dtbar; DataTable dtst; LogStringBuilder sql = new LogStringBuilder(); DataHelper dh; public Make_CartonTransfer() { InitializeComponent(); } private void 卡通箱转移_Load(object sender, EventArgs e) { asc.controllInitializeSize(this); dh = new DataHelper(); movepack.Focus(); OperateResult.AppendText(">>请输入目标箱号\n", Color.Black); } private void 卡通箱转移_SizeChanged(object sender, EventArgs e) { asc.controlAutoSize(this); } private void movepack_Click(object sender, EventArgs e) { if (((RadioButton)sender).Checked == true) { if (((RadioButton)sender).Name == "movepack") { pa_standardqty.Enabled = false; pa_outboxcode.Focus(); } else if (((RadioButton)sender).Name == "newpack") { pa_standardqty.Enabled = true; pa_outboxcode.Focus(); } } } private void pa_outboxcode_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (newpack.Checked) { if (dh.CheckExist("package", "pa_outboxcode = '" + pa_outboxcode.Text + "'")) { OperateResult.AppendText(">>该箱号" + pa_outboxcode.Text + "已经存在,如需转移至已经存在的箱号,请选择移箱\n", Color.Red, pa_outboxcode); pa_outboxcode.Focus(); return; } } else if (movepack.Checked) { CheckBoxCode(); } } } private Boolean CheckBoxCode() { sql.Clear(); sql.Append("select pa_id,pa_outboxcode,pa_standardqty,nvl(pa_currentqty,0) pa_currentqty,pa_prodcode,nvl(pa_downstatus,0) pa_downstatus from package where pa_outboxcode='" + pa_outboxcode.Text + "'"); dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select"); if (dt.Rows.Count > 0) { string pa_downstatus = dt.Rows[0]["pa_downstatus"].ToString(); string pa_currentqty = dt.Rows[0]["pa_currentqty"].ToString(); string pa_standardqty = dt.Rows[0]["pa_standardqty"].ToString(); if (pa_downstatus != "0") { OperateResult.AppendText(">>该箱号" + pa_outboxcode.Text + "处于下地状态,不允许操作\n", Color.Red, pa_outboxcode); OperateResult.AppendText(">>请输入目标箱号\n", Color.Black); pa_outboxcode.Focus(); return false; } else if (pa_currentqty == pa_standardqty) { OperateResult.AppendText(">>目标箱号" + pa_outboxcode.Text + "已装满\n", Color.Red, pa_outboxcode); OperateResult.AppendText(">>请输入目标箱号\n", Color.Black); pa_outboxcode.Focus(); return false; } BaseUtil.SetFormValue(this.Controls, dt); return true; } else { OperateResult.AppendText(">>该箱号" + pa_outboxcode.Text + "不存在\n", Color.Red, pa_outboxcode); OperateResult.AppendText(">>请输入目标箱号\n", Color.Black); pa_outboxcode.Focus(); return false; } } private void sn_code_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { string ms_id = dh.getFieldDataByCondition("makeserial", "max(ms_id) ms_id", "ms_sncode = '" + sn_code.Text + "'").ToString(); if (ms_id != "") { sql.Clear(); sql.Append("select ms_id,ms_prodcode,ms_outboxcode,ms_makecode ms_msmakecode, ms_sccode,"); sql.Append("nvl(ms_currentstepcode,ms_stepcode ) laststepcode, ms_sccode lastsccode,"); sql.Append("ms_checkno from makeserial where ms_id='" + ms_id + "'"); dt1 = (DataTable)dh.ExecuteSql(sql.GetString(), "select"); string ms_outboxcode = dt1.Rows[0]["ms_outboxcode"].ToString(); if (ms_outboxcode != "") { sql.Clear(); sql.Append("select pa_id,pa_checkno,PA_CURRENTQTY pa_qty,PA_PACKTYPE,nvl(PA_DOWNSTATUS,0) PA_DOWNSTATUS,pa_prodcode pa_macode,pa_salecode,pa_level,pa_custcode,pa_type,pa_packtype from package where pa_outboxcode='" + ms_outboxcode + "'"); dtbar = (DataTable)dh.ExecuteSql(sql.GetString(), "select"); if (dtbar.Rows.Count > 0) { string pa_checkno = dtbar.Rows[0]["pa_checkno"].ToString(); string PA_DOWNSTATUS = dtbar.Rows[0]["PA_DOWNSTATUS"].ToString(); string ob_result = dh.getFieldDataByCondition("oqcbatch","ob_result","ob_checkno = '"+ pa_checkno + "'").ToString(); if (PA_DOWNSTATUS == "0") { BaseUtil.SetFormValue(this.Controls, dtbar); BaseUtil.SetFormValue(this.Controls, dt1); if (newpack.Checked) { if (ob_result == "") { if (pa_standardqty.Text != "") { if (pa_outboxcode.Text != "") { if (dh.CheckExist("package", "pa_outboxcode = '" + pa_outboxcode.Text + "'")) { OperateResult.AppendText(">>该箱号" + pa_outboxcode.Text + "已经存在,如需转移至已经存在的箱号,请选择移箱\n", Color.Red, pa_outboxcode); pa_outboxcode.Focus(); return; } else { string pa_id = dh.GetSEQ("package_seq"); //新增箱 sql.Clear(); sql.Append("insert into package (PA_ID, PA_OUTBOXCODE,PA_PRODCODE, PA_PACKDATE,"); sql.Append("PA_LEVEL,PA_PACKAGEQTY,PA_TOTALQTY,PA_MAKECODE,PA_STATUS,PA_INDATE,"); sql.Append("PA_SALECODE,PA_CUSTCODE,PA_TYPE,PA_CURRENTQTY,PA_PACKTYPE,PA_STANDARDQTY)"); sql.Append("values ('"+pa_id+"','" + pa_outboxcode.Text+"','"+ ms_prodcode.Text + "',sysdate,'"+pa_level.Text+"','0','0'"); sql.Append(",'"+ ms_msmakecode.Text + "','0',sysdate,'"+pa_salecode.Text+"','"+pa_custcode.Text+"','"+pa_type.Text+"','0','"+ pa_packtype.Text + "','"+pa_standardqty.Text+"')"); dh.ExecuteSql(sql.GetString(), "insert"); sql.Clear(); sql.Append("insert into packagedetail (PD_ID,PD_PAID,PD_OUTBOXCODE,PD_BARCODE,PD_INNERQTY,PD_PRODCODE,PD_MAKECODE,PD_BUILDDATE,PD_YMD)"); sql.Append("values (packagedetail_seq.nextval,'"+pa_id+"','"+ pa_outboxcode.Text + "','"+sn_code.Text+"','1','"+ ms_prodcode.Text + "','"+ ms_msmakecode.Text + "',sysdate,to_char(sysdate,'yymmdd'))"); dh.ExecuteSql(sql.GetString(), "insert"); //更新原箱数量 dh.UpdateByCondition("package", "pa_currentqty=pa_currentqty-1", "pa_outboxcode = '" + ms_outboxcode + "'"); //更新目标箱数量 dh.UpdateByCondition("package", "pa_currentqty=1, pa_totalqty=1,pa_packageqty=1", "pa_outboxcode = '" + pa_outboxcode.Text + "'"); dh.UpdateByCondition("makeserial", "ms_outboxcode = '" + pa_outboxcode.Text + "'","ms_id = '"+ ms_id + "'"); LogicHandler.DoCommandLog(Tag.ToString(),User.UserCode,ms_msmakecode.Text,User.UserLineCode,User.UserSourceCode,"卡通箱转移", "卡通箱转移,生成目标箱号"+pa_outboxcode.Text+"",sn_code.Text,""); LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_msmakecode.Text, User.UserLineCode, User.UserSourceCode, "卡通箱转移", "序列号:"+sn_code.Text+",从原箱号:"+ms_outboxcode+"转移至目标箱号:"+pa_outboxcode.Text+"", sn_code.Text, ""); OperateResult.AppendText(">>序列号:" + sn_code.Text + ",从原箱号:" + ms_outboxcode + "转移至目标箱号:" + pa_outboxcode.Text + "\n",Color.Green); movepack.Focus(); pa_outboxcode_KeyDown(sender,e); } } else { OperateResult.AppendText(">>必须填写新增目标箱号\n", Color.Red); return; } } else { OperateResult.AppendText(">>新增目标箱号必须填写标准容量\n", Color.Red); return; } } else { OperateResult.AppendText(">>原箱" + ms_outboxcode + "处于送检状态,不允许转移\n", Color.Red, sn_code); return; } } else if (movepack.Checked) { if (CheckBoxCode()) { } } } else { OperateResult.AppendText(">>原箱" + ms_outboxcode + "已经下地\n", Color.Red, sn_code); return; } } else { OperateResult.AppendText(">>序列号" + sn_code.Text + "未装箱\n", Color.Red, sn_code); return; } } else { OperateResult.AppendText(">>序列号" + sn_code.Text + "未装箱\n", Color.Red, sn_code); return; } } else { OperateResult.AppendText(">>序列号" + sn_code.Text + "不存在\n", Color.Red, sn_code); return; } } } private void button1_Click(object sender, EventArgs e) { BaseUtil.CleanControls(this.Controls); } } }