public string[] SearchStaffMeritDataBaseCount(SearchStaff SearchStaffMeritCondition)
 {
     StaffDataBase sDB = new StaffDataBase();
     sDB.personnelFunction();
     if (int.Parse(sDB._StaffhaveRoles[3]) == 1)
     {
         return sDB.SearchStaffMeritDataBaseCount(SearchStaffMeritCondition);
     }
     else
     {
         return new string[2] { _noRole, _errorMsg };
     }
 }
 public string[] SearchStaffDataBaseWorkCount(SearchStaff SearchStaffCondition)
 {
     StaffDataBase sDB = new StaffDataBase();
     return sDB.SearchStaffDataBaseWorkCount(SearchStaffCondition);
 }
 public List<StaffMeritDataList> SearchStaffMeritDataBase(int index, SearchStaff SearchStaffMeritCondition)
 {
     StaffDataBase sDB = new StaffDataBase();
     return sDB.SearchStaffMeritDataBase(index, SearchStaffMeritCondition);
 }
 public string[] SearchStaffDataBaseCountCase(SearchStaff SearchStaffCondition, string getid)
 {
     StaffDataBase sDB = new StaffDataBase();
     return sDB.SearchStaffDataBaseCountCase(SearchStaffCondition, getid);
 }
 public List<WorkRecordManagePeople> SearchStaffDataBaseWork(int index, SearchStaff SearchStaffCondition)
 {
     StaffDataBase sDB = new StaffDataBase();
     return sDB.SearchStaffDataBaseWork(index, SearchStaffCondition);
 }
    public string[] SearchStaffDataBaseWorkCount(SearchStaff SearchStaffConditionData)
    {
        string[] returnValue = new string[2];
        returnValue[0] = "0";
        returnValue[1] = "0";
        DataBase Base = new DataBase();
        string SearchStaffCondition = "and (ResignationDate='1900-01-01' or ResignationDate>@SearchDate ) and AppointmentDate<@SearchDate";

        using (SqlConnection Sqlconn = new SqlConnection(Base.GetConnString()))
        {
            try
            {
                Sqlconn.Open();
                string sql = "SELECT COUNT(*) AS QCOUNT FROM StaffDatabase WHERE isDeleted=0  " + SearchStaffCondition;
                SqlCommand cmd = new SqlCommand(sql, Sqlconn);
                cmd.Parameters.Add("@StaffID", SqlDbType.Int).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffID);
                cmd.Parameters.Add("@StaffName", SqlDbType.NVarChar).Value = Chk.CheckStringFunction(SearchStaffConditionData.txtstaffName) + "%";
                cmd.Parameters.Add("@sex", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffSex);
                cmd.Parameters.Add("@SearchDate", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayStart);

                cmd.Parameters.Add("@sBirthdayStart", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayStart);
                //cmd.Parameters.Add("@sBirthdayEnd", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayEnd);
                cmd.Parameters.Add("@WorkItem", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffJob);
                cmd.Parameters.Add("@Unit", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffUnit);
                returnValue[0] = cmd.ExecuteScalar().ToString();
                Sqlconn.Close();
            }
            catch (Exception e)
            {
                returnValue[0] = "-1";
                returnValue[1] = e.Message.ToString();
            }

        }
        return returnValue;
    }
 public string[] SearchStaffDataBaseCount2(SearchStaff SearchStaffCondition)
 {
     StaffDataBase sDB = new StaffDataBase();
     return sDB.SearchStaffDataBaseCount(SearchStaffCondition);//不能加搜尋權限
 }
    public string[] SearchStaffSalaryBaseCount(SearchStaff SearchStaffConditionData)
    {
        string[] returnValue = new string[2];
        returnValue[0] = "0";
        returnValue[1] = "0";
        DataBase Base = new DataBase();
        string SearchStaffCondition = this.SearchStaffSalaryConditionReturn(SearchStaffConditionData);

        using (SqlConnection Sqlconn = new SqlConnection(Base.GetConnString()))
        {
            try
            {
                Sqlconn.Open();
                string sql = "SELECT COUNT(*) AS QCOUNT FROM StaffSalary " +
                    "INNER JOIN StaffDatabase ON StaffSalary.StaffID=StaffDatabase.StaffID " +
                    "WHERE StaffSalary.isDeleted=0 " + SearchStaffCondition;
                SqlCommand cmd = new SqlCommand(sql, Sqlconn);
                cmd.Parameters.Add("@StaffID", SqlDbType.Int).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffID);
                cmd.Parameters.Add("@StaffName", SqlDbType.NVarChar).Value = Chk.CheckStringFunction(SearchStaffConditionData.txtstaffName) + "%";
                cmd.Parameters.Add("@sex", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffSex);
                cmd.Parameters.Add("@sBirthdayStart", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayStart);
                cmd.Parameters.Add("@sBirthdayEnd", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayEnd);
                cmd.Parameters.Add("@Unit", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffUnit);
                returnValue[0] = cmd.ExecuteScalar().ToString();
                Sqlconn.Close();
            }
            catch (Exception e)
            {
                returnValue[0] = "-1";
                returnValue[1] = e.Message.ToString();
            }

        }
        return returnValue;
    }
    public List<StaffDataList> SearchStaffSalaryData(int indexpage, SearchStaff SearchStaffConditionData)
    {
        List<StaffDataList> returnValue = new List<StaffDataList>();
        DataBase Base = new DataBase();
        string SearchStaffCondition = this.SearchStaffSalaryConditionReturn(SearchStaffConditionData);
        using (SqlConnection Sqlconn = new SqlConnection(Base.GetConnString()))
        {
            try
            {
                Sqlconn.Open();
                string sql = "SELECT * FROM (SELECT  ROW_NUMBER() OVER (ORDER BY StaffSalary.WriteDate DESC) " +
                             "AS RowNum, StaffSalary.*,StaffDatabase.StaffName, StaffDatabase.sex  " +
                             "FROM StaffSalary " +
                            "INNER JOIN StaffDatabase ON StaffSalary.StaffID=StaffDatabase.StaffID WHERE StaffSalary.isDeleted=0 " + SearchStaffCondition + " ) " +
                             "AS NewTable " +
                             "WHERE RowNum >= (@indexpage-" + PageMinNumFunction() + ") AND RowNum <= (@indexpage)";
                SqlCommand cmd = new SqlCommand(sql, Sqlconn);
                cmd.Parameters.Add("@indexpage", SqlDbType.Int).Value = indexpage;
                cmd.Parameters.Add("@StaffID", SqlDbType.Int).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffID);
                cmd.Parameters.Add("@StaffName", SqlDbType.NVarChar).Value = Chk.CheckStringFunction(SearchStaffConditionData.txtstaffName) + "%";
                cmd.Parameters.Add("@sex", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffSex);
                cmd.Parameters.Add("@sBirthdayStart", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayStart);
                cmd.Parameters.Add("@sBirthdayEnd", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayEnd);
                cmd.Parameters.Add("@Unit", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffUnit);
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    StaffDataList addValue = new StaffDataList();
                    addValue.ID = dr["ID"].ToString();
                    addValue.sID = dr["StaffID"].ToString();
                    addValue.sName = dr["StaffName"].ToString();
                    addValue.sSex = dr["sex"].ToString();
                    addValue.sUnit = dr["Unit"].ToString();
                    addValue.FileDate = DateTime.Parse(dr["WriteDate"].ToString()).ToString("yyyy-MM-dd");
                    returnValue.Add(addValue);
                }
                dr.Close();
                Sqlconn.Close();
            }
            catch (Exception e)
            {
                StaffDataList addValue = new StaffDataList();
                addValue.checkNo = "-1";
                addValue.errorMsg = e.Message;
                returnValue.Add(addValue);
            }

        }
        return returnValue;
    }
 private string SearchStaffWorkConditionReturn(SearchStaff SearchStaffConditionData)
 {
     string ConditionReturn = "";
     string DateBase = "1900-01-01";
     if (SearchStaffConditionData.txtstaffID != null)
     {
         ConditionReturn += " AND StaffID=(@StaffID) ";
     }
     if (SearchStaffConditionData.txtstaffName != null)
     {
         ConditionReturn += " AND StaffName like (@StaffName) ";
     }
     if (SearchStaffConditionData.txtstaffSex != null)
     {
         ConditionReturn += " AND sex=(@sex) ";
     }
     //if (SearchStaffConditionData.txtstaffBirthdayStart != null && SearchStaffConditionData.txtstaffBirthdayStart != DateBase)
     //{
     //    ConditionReturn += " AND  ";
     //}
     //if (SearchStaffConditionData.txtstaffBirthdayStart != null && SearchStaffConditionData.txtstaffBirthdayEnd != null && SearchStaffConditionData.txtstaffBirthdayStart != DateBase && SearchStaffConditionData.txtstaffBirthdayEnd != DateBase)
     //{
     //    ConditionReturn += " AND Birthday BETWEEN (@sBirthdayStart) AND (@sBirthdayEnd) ";
     //}
     if (SearchStaffConditionData.txtstaffJob != null)
     {
         ConditionReturn += " AND WorkItem =(@WorkItem) ";
     }
     if (SearchStaffConditionData.txtstaffUnit != null)
     {
         ConditionReturn += " AND Unit =(@Unit) ";
     }
     List<string> UserFile = this.getStaffDataName(HttpContext.Current.User.Identity.Name);
     this.personnelFunction();
     if (int.Parse(_StaffhaveRoles[4]) == 0 && UserFile[1].Length > 0)
     {
         ConditionReturn += " AND Unit =" + UserFile[2] + " ";
     }
     return ConditionReturn;
 }
 private string SearchStaffSalaryConditionReturn(SearchStaff SearchStaffConditionData)
 {
     string ConditionReturn = "";
     string DateBase = "1900-01-01";
     if (SearchStaffConditionData.txtstaffID != null)
     {
         ConditionReturn += " AND StaffSalary.StaffID=(@StaffID) ";
     }
     if (SearchStaffConditionData.txtstaffName != null)
     {
         ConditionReturn += " AND StaffDatabase.StaffName like (@StaffName) ";
     }
     if (SearchStaffConditionData.txtstaffSex != null)
     {
         ConditionReturn += " AND StaffDatabase.sex=(@sex) ";
     }
     if (SearchStaffConditionData.txtstaffBirthdayStart != null && SearchStaffConditionData.txtstaffBirthdayEnd != null && SearchStaffConditionData.txtstaffBirthdayStart != DateBase && SearchStaffConditionData.txtstaffBirthdayEnd != DateBase)
     {
         ConditionReturn += " AND StaffDatabase.Birthday BETWEEN (@sBirthdayStart) AND (@sBirthdayEnd) ";
     }
     if (SearchStaffConditionData.txtstaffUnit != null)
     {
         ConditionReturn += " AND StaffSalary.Unit =(@Unit) ";
     }
     StaffDataBase sDB = new StaffDataBase();
     List<string> UserFile = sDB.getStaffDataName(HttpContext.Current.User.Identity.Name);
     if (int.Parse(_StaffhaveRoles[4]) == 0 && UserFile[1].Length > 0)
     {
         ConditionReturn += " AND StaffSalary.Unit =" + UserFile[2] + " ";
     }
     return ConditionReturn;
 }
 private string[] SearchStaffMeritConditionReturn(SearchStaff SearchStaffMeritConditionData)
 {
     string[] returnValue = new string[2];
     string ConditionReturn = "";
     string ConditionReturn1 = "";
     string DataBase = "1900-01-01";
     if (SearchStaffMeritConditionData.txtstaffID != null)
     {
         ConditionReturn += " AND StaffDatabase.StaffID=(@StaffID) ";
     }
     if (SearchStaffMeritConditionData.txtstaffName != null)
     {
         ConditionReturn += " AND StaffDatabase.StaffName like (@StaffName) ";
     }
     if (SearchStaffMeritConditionData.txtstaffSex != null)
     {
         ConditionReturn += " AND StaffDatabase.sex=(@sex) ";
     }
     if (SearchStaffMeritConditionData.txtstaffBirthdayStart != null && SearchStaffMeritConditionData.txtstaffBirthdayEnd != null && SearchStaffMeritConditionData.txtstaffBirthdayStart != DataBase && SearchStaffMeritConditionData.txtstaffBirthdayEnd != DataBase)
     {
         ConditionReturn += " AND StaffDatabase.Birthday BETWEEN (@sBirthdayStart) AND (@sBirthdayEnd) ";
     }
     if (SearchStaffMeritConditionData.txtstaffJob != null)
     {
         ConditionReturn += " AND StaffDatabase.WorkItem =(@WorkItem) ";
     }
     if (SearchStaffMeritConditionData.txtstaffUnit != null)
     {
         ConditionReturn1 += " AND EmployeePerformance.AgencyType =(@AgencyType) ";
     }
     if (SearchStaffMeritConditionData.txtstaffYear != null)
     {
         ConditionReturn1 = " AND EmployeePerformance.AcademicYear =(@AcademicYear) ";
     }
     List<string> UserFile = this.getStaffDataName(HttpContext.Current.User.Identity.Name);
     this.personnelFunction();
     if (int.Parse(_StaffhaveRoles[4]) == 0 && UserFile[1].Length > 0)
     {
         ConditionReturn1 += " AND EmployeePerformance.Unit =" + UserFile[2] + " ";
     }
     returnValue[0] = ConditionReturn;
     returnValue[1] = ConditionReturn1;
     return returnValue;
 }
 public string[] SearchStaffMeritDataBaseCount(SearchStaff SearchStaffMeritConditionData)
 {
     string[] returnValue = new string[2];
     returnValue[0] = "0";
     returnValue[1] = "0";
     DataBase Base = new DataBase();
     string[] ConditionReturn = this.SearchStaffMeritConditionReturn(SearchStaffMeritConditionData);
     using (SqlConnection Sqlconn = new SqlConnection(Base.GetConnString()))
     {
         try
         {
             Sqlconn.Open();
             string sql = "SELECT Count(EmployeePerformance.ID) " +
                         "FROM EmployeePerformance INNER JOIN StaffDatabase ON EmployeePerformance.EmployeeID=StaffDatabase.StaffID " +
                          ConditionReturn[0] +
                          "WHERE EmployeePerformance.isDeleted=0 " + ConditionReturn[1];
             SqlCommand cmd = new SqlCommand(sql, Sqlconn);
             cmd.Parameters.Add("@StaffID", SqlDbType.Int).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffID);
             cmd.Parameters.Add("@StaffName", SqlDbType.NVarChar).Value = Chk.CheckStringFunction(SearchStaffMeritConditionData.txtstaffName) + "%";
             cmd.Parameters.Add("@sex", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffSex);
             cmd.Parameters.Add("@sBirthdayStart", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffMeritConditionData.txtstaffBirthdayStart);
             cmd.Parameters.Add("@sBirthdayEnd", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffMeritConditionData.txtstaffBirthdayEnd);
             cmd.Parameters.Add("@WorkItem", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffJob);
             cmd.Parameters.Add("@AgencyType", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffUnit);
             cmd.Parameters.Add("@AcademicYear", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffYear);
             returnValue[0] = cmd.ExecuteScalar().ToString();
             Sqlconn.Close();
         }
         catch (Exception e)
         {
             returnValue[0] ="-1";
             returnValue[1] = e.Message.ToString();
         }
     }
     return returnValue;
 }
    public List<StaffMeritDataList> SearchStaffMeritDataBase(int indexpage, SearchStaff SearchStaffMeritConditionData)
    {
        List<StaffMeritDataList> returnValue = new List<StaffMeritDataList>();
        DataBase Base = new DataBase();
        string[] ConditionReturn = this.SearchStaffMeritConditionReturn(SearchStaffMeritConditionData);

        using (SqlConnection Sqlconn = new SqlConnection(Base.GetConnString()))
        {
            try
            {
                Sqlconn.Open();
                string sql = "SELECT * FROM (SELECT  ROW_NUMBER() OVER (ORDER BY EmployeePerformance.ID DESC) "+
                            "AS RowNum, EmployeePerformance.*,StaffDatabase.StaffID,StaffDatabase.StaffName,StaffDatabase.sex,StaffDatabase.Unit " +
                            "FROM EmployeePerformance INNER JOIN StaffDatabase ON EmployeePerformance.EmployeeID=StaffDatabase.StaffID " +
                             ConditionReturn[0] +
                             "WHERE EmployeePerformance.isDeleted=0 " + ConditionReturn[1] + " ) " +
                             "AS NewTable " +
                             "WHERE RowNum >= (@indexpage-" + PageMinNumFunction() + ") AND RowNum <= (@indexpage)";
                SqlCommand cmd = new SqlCommand(sql, Sqlconn);
                cmd.Parameters.Add("@indexpage", SqlDbType.Int).Value = indexpage;
                cmd.Parameters.Add("@StaffID", SqlDbType.Int).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffID);
                cmd.Parameters.Add("@StaffName", SqlDbType.NVarChar).Value = Chk.CheckStringFunction(SearchStaffMeritConditionData.txtstaffName) + "%";
                cmd.Parameters.Add("@sex", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffSex);
                cmd.Parameters.Add("@sBirthdayStart", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffMeritConditionData.txtstaffBirthdayStart);
                cmd.Parameters.Add("@sBirthdayEnd", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffMeritConditionData.txtstaffBirthdayEnd);
                cmd.Parameters.Add("@WorkItem", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffJob);
                cmd.Parameters.Add("@AgencyType", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffUnit);
                cmd.Parameters.Add("@AcademicYear", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffMeritConditionData.txtstaffYear);
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    StaffMeritDataList addValue = new StaffMeritDataList();
                    addValue.sData = new StaffDataList();
                    addValue.sData.sID = dr["StaffID"].ToString();
                    addValue.sData.sName = dr["StaffName"].ToString();
                    addValue.sData.sSex = dr["sex"].ToString();
                    addValue.sData.sUnit = dr["Unit"].ToString();

                    addValue.MID = dr["ID"].ToString();
                    addValue.sUnit = int.Parse(dr["AgencyType"].ToString());
                    addValue.AY = int.Parse(dr["AcademicYear"].ToString());
                    addValue.AScore = int.Parse(dr["AttendanceScore"].ToString());
                    addValue.PScore = int.Parse(dr["ProfessionalScore"].ToString());
                    addValue.WScore = int.Parse(dr["WorkAttitudeScore"].ToString());
                    addValue.AddScore = int.Parse(dr["AddScore"].ToString());
                    addValue.LowerScore = int.Parse(dr["LowerScore"].ToString());
                    returnValue.Add(addValue);
                }
                dr.Close();
                Sqlconn.Close();
            }
            catch (Exception e)
            {
                StaffMeritDataList addValue = new StaffMeritDataList();
                addValue.sData.sID = "-1";
                addValue.sData.sName = e.Message;
                returnValue.Add(addValue);
            }

        }
        return returnValue;
    }
 public string[] SearchStaffSalaryBaseCount(SearchStaff SearchStaffCondition)
 {
     SalaryManagement smDB = new SalaryManagement();
     if (int.Parse(smDB._StaffhaveRoles[3]) == 1)
     {
         return smDB.SearchStaffSalaryBaseCount(SearchStaffCondition);
     }
     else
     {
         return new string[2] { _noRole, _errorMsg };
     }
 }
 public List<StaffDataList> SearchStaffDataBaseCase(int index, SearchStaff SearchStaffCondition, int getid)
 {
     StaffDataBase sDB = new StaffDataBase();
     return sDB.SearchStaffDataBaseCase(index, SearchStaffCondition, getid);
 }
 public List<StaffDataList> SearchStaffSalaryDataBase(int index, SearchStaff SearchStaffCondition)
 {
     SalaryManagement smDB = new SalaryManagement();
     return smDB.SearchStaffSalaryData(index, SearchStaffCondition);
 }
    public List<WorkRecordManagePeople> SearchStaffDataBaseWork(int indexpage, SearchStaff SearchStaffConditionData)
    {
        List<WorkRecordManagePeople> returnValue = new List<WorkRecordManagePeople>();
        DataBase Base = new DataBase();
        string SearchStaffCondition = "and (ResignationDate='1900-01-01' or ResignationDate>@SearchDate ) and AppointmentDate<@SearchDate";
        using (SqlConnection Sqlconn = new SqlConnection(Base.GetConnString()))
        {
            try
            {
                Sqlconn.Open();
                string sql = "SELECT * FROM (SELECT  ROW_NUMBER() OVER (ORDER BY unit,StaffID asc) " +
                             "AS RowNum, StaffDatabase.* " +
                             "FROM StaffDatabase WHERE isDeleted=0 " + SearchStaffCondition + " ) " +
                             "AS NewTable " +
                             "WHERE RowNum >= (@indexpage-" + PageMinNumFunction() + ") AND RowNum <= (@indexpage) ";
                SqlCommand cmd = new SqlCommand(sql, Sqlconn);
                cmd.Parameters.Add("@indexpage", SqlDbType.Int).Value = indexpage;
                cmd.Parameters.Add("@SearchDate", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayStart);
                cmd.Parameters.Add("@StaffID", SqlDbType.Int).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffID);
                cmd.Parameters.Add("@StaffName", SqlDbType.NVarChar).Value = Chk.CheckStringFunction(SearchStaffConditionData.txtstaffName) + "%";
                cmd.Parameters.Add("@sex", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffSex);
                cmd.Parameters.Add("@sBirthdayStart", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayStart);
                cmd.Parameters.Add("@sBirthdayEnd", SqlDbType.Date).Value = Chk.CheckStringtoDateFunction(SearchStaffConditionData.txtstaffBirthdayEnd);
                cmd.Parameters.Add("@WorkItem", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffJob);
                cmd.Parameters.Add("@Unit", SqlDbType.TinyInt).Value = Chk.CheckStringtoIntFunction(SearchStaffConditionData.txtstaffUnit);

                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    WorkRecordManagePeople addValue = new WorkRecordManagePeople();
                    addValue.StaffID = dr["StaffID"].ToString();
                    addValue.StaffName = dr["StaffName"].ToString();
                    addValue.WorkRecord = SearchStaffWorkRecord(dr["StaffID"].ToString(), SearchStaffConditionData.txtstaffBirthdayStart);
                    WorkRecordManage thisValue = new WorkRecordManage();//新增搜尋方法
                    thisValue.Date = SearchStaffConditionData.txtstaffBirthdayStart;
                    thisValue.StaffID = dr["StaffID"].ToString();
                    addValue.WorkRecordManage = GetWorkRecordManage(thisValue);
                    returnValue.Add(addValue);
                }
                dr.Close();
                Sqlconn.Close();
            }
            catch (Exception e)
            {
                string Ex = e.Message.ToString();
               //StaffDataList addValue = new StaffDataList();
                //addValue.checkNo = "-1";
                //addValue.errorMsg = e.Message.ToString();
                //returnValue.Add(addValue);
            }

        }
        return returnValue;
    }