internal Model_AssemblyLineModuleBatchInput ReadProductInfo(string Number)
        {
            Model_AssemblyLineModuleBatchInput m = new Model_AssemblyLineModuleBatchInput();
            string  sql  = "SELECT GUID,Name,P1,P2,P3,P4,P5,P6 FROM T_ProductInfo_Product WHERE NUMBER='" + Number + "' AND DELETEMARK ISNULL";
            DataSet ds   = new DataSet();
            bool    flag = new Helper.SQLite.DBHelper().QueryData(sql, out ds);

            if (flag)
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    m.ProductGuid   = (Guid)dr["GUID"];
                    m.ProductNumber = Number;
                    m.ProductName   = dr["Name"].ToString();
                    for (int i = 0; i < 6; i++)
                    {
                        if (dr["P" + (i + 1)].ToString() != "无")
                        {
                            m.ProcessList[i]  = dr["P" + (i + 1)].ToString();
                            m.ProcessListStr += dr["P" + (i + 1)].ToString() + ",";
                        }
                    }
                    m.ProcessListStr = m.ProcessListStr.Substring(0, m.ProcessListStr.Length - 1);
                }
            }
            return(m);
        }
        private void DataGrid_BatchInput_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            Model_AssemblyLineModuleBatchInput model = this.DataGrid_BatchInput.SelectedCells[0].Item as Model_AssemblyLineModuleBatchInput;
            string newValue = (e.EditingElement as TextBox).Text.Trim();
            string Header   = e.Column.Header.ToString();

            if (Header == "产品编号")
            {
                Model_AssemblyLineModuleBatchInput m = new AssemblyLineModuleBatchInputConsole().ReadProductInfo(newValue);
                if (m.ProductGuid == new Guid())
                {
                    DataGrid_BatchInput.CurrentCell          = new DataGridCellInfo(DataGrid_BatchInput.SelectedCells[0].Item, DataGrid_BatchInput.Columns[0]);
                    data[data.IndexOf(model)].ProductGuid    = new Guid();
                    data[data.IndexOf(model)].ProductName    = "";
                    data[data.IndexOf(model)].ProcessList    = new string[6];
                    data[data.IndexOf(model)].ProcessListStr = "";
                }
                else
                {
                    data[data.IndexOf(model)].ProductGuid    = m.ProductGuid;
                    data[data.IndexOf(model)].ProductName    = m.ProductName;
                    data[data.IndexOf(model)].ProcessList    = m.ProcessList;
                    data[data.IndexOf(model)].ProcessListStr = m.ProcessListStr;
                }
            }
            else if (Header == "工序")
            {
                int ProcessNum = 0;
                int.TryParse(newValue, out ProcessNum);
                if (ProcessNum <= 6 && ProcessNum > 0 && data[data.IndexOf(model)].ProcessList[ProcessNum - 1] != null)
                {
                    data[data.IndexOf(model)].Process = data[data.IndexOf(model)].ProcessList[ProcessNum - 1];
                }
                else
                {
                    DataGrid_BatchInput.CurrentCell = new DataGridCellInfo(DataGrid_BatchInput.SelectedCells[0].Item, DataGrid_BatchInput.Columns[2]);
                }
            }
            else if (Header == "员工编号")
            {
                Model_AssemblyLineModuleBatchInput m = new AssemblyLineModuleBatchInputConsole().ReadStaffInfo(newValue);
                if (m.StaffGuid == new Guid())
                {
                    DataGrid_BatchInput.CurrentCell     = new DataGridCellInfo(DataGrid_BatchInput.SelectedCells[0].Item, DataGrid_BatchInput.Columns[3]);
                    data[data.IndexOf(model)].StaffGuid = new Guid();
                    data[data.IndexOf(model)].StaffName = "";
                    return;
                }
                data[data.IndexOf(model)].StaffGuid = m.StaffGuid;
                data[data.IndexOf(model)].StaffName = m.StaffName;
            }
        }
        internal Model_AssemblyLineModuleBatchInput ReadStaffInfo(string Number)
        {
            Model_AssemblyLineModuleBatchInput m = new Model_AssemblyLineModuleBatchInput();
            string  sql  = "SELECT GUID,Name FROM T_UserInfo_Staff WHERE NUMBER='" + Number + "' AND DELETEMARK ISNULL";
            DataSet ds   = new DataSet();
            bool    flag = new Helper.SQLite.DBHelper().QueryData(sql, out ds);

            if (flag)
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    m.StaffGuid   = (Guid)dr["GUID"];
                    m.StaffNumber = Number;
                    m.StaffName   = dr["Name"].ToString();
                }
            }
            return(m);
        }
        /// <summary>
        /// 编辑时读取记录明细
        /// </summary>
        /// <returns></returns>
        internal ObservableCollection <Model_AssemblyLineModuleBatchInput> ReadDatas(Model_BatchInputOrder OrderData)
        {
            ObservableCollection <Model_AssemblyLineModuleBatchInput> data = new ObservableCollection <Model_AssemblyLineModuleBatchInput>();
            Model_AssemblyLineModuleBatchInput m;
            DataSet ds  = new DataSet();
            string  sql = "Select a.*,"
                          + " p.Guid as PGuid,p.Number as PNumber,p.Name as PName,p.P1,p.P2,p.P3,p.P4,p.P5,p.P6, "
                          + " s.Guid as SGuid,s.Number as SNumber,s.Name as SName "
                          + " from T_PM_ProductionSchedule a "
                          + " left join T_ProductInfo_Product p ON a.ProductID=p.Guid "
                          + " left join T_UserInfo_Staff s ON a.StaffID=s.Guid "
                          + " WHERE a.Obligate1='" + OrderData.Guid + "' "
                          + " AND a.DeleteMark ISNULL "
                          + " AND a.Remark<>'自动扣半成品原料' "
            ;

            if (new Helper.SQLite.DBHelper().QueryData(sql, out ds))
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    m = new Model_AssemblyLineModuleBatchInput();

                    //Product Info
                    m.ProductGuid   = (Guid)dr["PGuid"];
                    m.ProductNumber = dr["PNumber"].ToString();
                    m.ProductName   = dr["PName"].ToString();
                    for (int i = 0; i < 6; i++)
                    {
                        if (dr["P" + (i + 1)].ToString() != "无")
                        {
                            m.ProcessList[i]  = dr["P" + (i + 1)].ToString();
                            m.ProcessListStr += dr["P" + (i + 1)].ToString() + ",";
                        }
                    }
                    m.ProcessListStr = m.ProcessListStr.Substring(0, m.ProcessListStr.Length - 1);

                    //Staff Info
                    m.StaffGuid   = (Guid)dr["SGuid"];
                    m.StaffNumber = dr["SNumber"].ToString();
                    m.StaffName   = dr["SName"].ToString();

                    //Input Info
                    m.Process  = dr["Process"].ToString();
                    m.Quantity = int.Parse(dr["Number"].ToString());
                    m.Injure   = int.Parse(dr["Break"].ToString());

                    data.Add(m);
                }
            }
            if (data.Count < 20)
            {
                int COUNT = data.Count;
                for (int i = 0; i < 20 - COUNT; i++)
                {
                    data.Add(new Model_AssemblyLineModuleBatchInput {
                        Id = i + 1
                    });
                }
            }
            return(data);
        }