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_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;

        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;
        }

        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;
                }
                bool FindSN = false;
                bool AllCheck = true;
                for (int i = 0; i < CheckSnDGV.Rows.Count; i++)
                {
                    if (CheckSnDGV.Rows[i].Cells["pd_barcode"].Value.ToString() == sncode.Text)
                    {
                        CheckSnDGV.Rows[i].Cells["pd_checksn"].Value = sncode.Text;
                        FindSN = true;
                    }
                    if (CheckSnDGV.Rows[i].Cells["pd_checksn"].Value == null)
                    {
                        AllCheck = false;
                    }
                }
                if (FindSN)
                {
                    OperateResult.AppendText("<<SN" + sncode.Text + "校验成功\n", Color.Green, sncode);
                }
                else
                {
                    OperateResult.AppendText("<<SN" + sncode.Text + "校验失败\n", Color.Red, sncode);
                }
                if (AllCheck)
                {
                    SetCheck set = new SetCheck("OK", Color.Green);
                    BaseUtil.SetFormCenter(set);
                    set.ShowDialog();
                    pa_outboxcode.Focus();
                }
            }
        }

        private void pa_outboxcode_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                dt = (DataTable)dh.ExecuteSql("select pd_barcode from packagedetail 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);
                }
            }
        }
    }
}