示例#1
0
 /// <summary>
 /// 获取某年月的考勤概况
 /// </summary>
 /// <param name="CompanyId">公司编号</param>
 /// <param name="StaffId">员工编号</param>
 /// <param name="Year">年份</param>
 /// <param name="Month">月份</param>
 /// <returns>考勤概况实体</returns>
 public EyouSoft.Model.GovStructure.MAttendanceAbout GetAttendanceAbout(string CompanyId, string StaffId, int Year, int Month)
 {
     EyouSoft.Model.GovStructure.MAttendanceAbout model = null;
     if (!string.IsNullOrEmpty(CompanyId) && !string.IsNullOrEmpty(StaffId) && Year > 0 && Month > 0)
     {
         model = new EyouSoft.Model.GovStructure.MAttendanceAbout();
         return(dal.GetAttendanceAbout(CompanyId, StaffId, Year, Month));
     }
     return(model);
 }
示例#2
0
        /// <summary>
        /// 获取考勤管理集合信息
        /// </summary>
        /// <param name="CompanyId">公司编号</param>
        /// <param name="FileNumber">员工号(为空时不作条件)</param>
        /// <param name="StaffName">员工名字(为空时不作条件)</param>
        /// <param name="DepartIds">部门ID集合(如:1,2,3)</param>
        /// <param name="Department">部门(为空时不作条件)</param>
        /// <param name="CompanyId">公司编号</param>
        /// <param name="PageSize"></param>
        /// <param name="PageIndex"></param>
        /// <param name="RecordCount"></param>
        /// <returns></returns>
        public IList <EyouSoft.Model.GovStructure.MAttendanceAbout> GetList(string FileNumber, string StaffName, string DepartIds, string Department, string CompanyId, int PageSize, int PageIndex, ref int RecordCount)
        {
            IList <EyouSoft.Model.GovStructure.MAttendanceAbout> ResultList = null;
            string tableName          = "view_GovAttendance";
            string identityColumnName = "StaffId";
            //Punctuality全勤 = 0,Late迟到=1,LeaveEarly早退=2,Absenteeism旷工=3,Vacation请假=4,OverTime加班=5,Travel出差=6,Rest休假=7,Suspension停职=8
            string fields = "[StaffId],FileNumber,CompanyId,[StaffName],DepartId,DepartName,[Punctuality],[Late],[LeaveEarly],[Absenteeism],[Vacation],[OverTime],Travel,Rest,Suspension ";
            string query  = string.Format(" [CompanyId]='{0}'", CompanyId);

            if (!string.IsNullOrEmpty(StaffName))
            {
                query = query + string.Format(" AND [StaffName] LIKE '%{0}%'", StaffName);
            }
            if (!string.IsNullOrEmpty(FileNumber))
            {
                query = query + string.Format(" AND [FileNumber] LIKE '%{0}%'", FileNumber);
            }
            if (!string.IsNullOrEmpty(DepartIds))
            {
                query = query + string.Format(" AND DepartId in ({0}) ", DepartIds);
            }
            if (!string.IsNullOrEmpty(Department) && string.IsNullOrEmpty(DepartIds))
            {
                query = query + string.Format(" AND [DepartName] LIKE '%{0}%'", Department);
            }
            string orderByString = " [IssueTime] DESC";

            using (IDataReader dr = EyouSoft.Toolkit.DAL.DbHelper.ExecuteReader(_db, PageSize, PageIndex, ref RecordCount, tableName, identityColumnName, fields, query, orderByString))
            {
                ResultList = new List <EyouSoft.Model.GovStructure.MAttendanceAbout>();
                while (dr.Read())
                {
                    EyouSoft.Model.GovStructure.MAttendanceAbout model = new EyouSoft.Model.GovStructure.MAttendanceAbout()
                    {
                        StaffName   = dr.IsDBNull(dr.GetOrdinal("StaffName")) ? "" : dr.GetString(dr.GetOrdinal("StaffName")),
                        StaffId     = dr.IsDBNull(dr.GetOrdinal("StaffId")) ? "" : dr.GetString(dr.GetOrdinal("StaffId")),
                        FileNumber  = dr.IsDBNull(dr.GetOrdinal("FileNumber")) ? "" : dr.GetString(dr.GetOrdinal("FileNumber")),
                        DepartName  = dr.IsDBNull(dr.GetOrdinal("DepartName")) ? "" : dr.GetString(dr.GetOrdinal("DepartName")),
                        Absenteeism = dr.IsDBNull(dr.GetOrdinal("Absenteeism")) ? 0 : dr.GetInt32(dr.GetOrdinal("Absenteeism")),
                        Late        = dr.IsDBNull(dr.GetOrdinal("Late")) ? 0 : dr.GetInt32(dr.GetOrdinal("Late")),
                        LeaveEarly  = dr.IsDBNull(dr.GetOrdinal("LeaveEarly")) ? 0 : dr.GetInt32(dr.GetOrdinal("LeaveEarly")),
                        Punctuality = dr.IsDBNull(dr.GetOrdinal("Punctuality")) ? 0 : dr.GetInt32(dr.GetOrdinal("Punctuality")),
                        Vacation    = dr.IsDBNull(dr.GetOrdinal("Vacation")) ? 0 : dr.GetDecimal(dr.GetOrdinal("Vacation")),
                        OverTime    = dr.IsDBNull(dr.GetOrdinal("OverTime")) ? 0 : dr.GetDecimal(dr.GetOrdinal("OverTime")),
                        Travel      = dr.IsDBNull(dr.GetOrdinal("Travel")) ? 0 : dr.GetDecimal(dr.GetOrdinal("Travel")),
                        Rest        = dr.IsDBNull(dr.GetOrdinal("Rest")) ? 0 : dr.GetDecimal(dr.GetOrdinal("Rest")),
                        Suspension  = dr.IsDBNull(dr.GetOrdinal("Suspension")) ? 0 : dr.GetDecimal(dr.GetOrdinal("Suspension"))
                    };
                    ResultList.Add(model);
                    model = null;
                }
            };
            return(ResultList);
        }
示例#3
0
        /// <summary>
        /// 获取某年月的考勤概况
        /// </summary>
        /// <param name="CompanyId">公司编号</param>
        /// <param name="StaffId">员工编号</param>
        /// <param name="Year">年份</param>
        /// <param name="Month">月份</param>
        /// <returns>考勤概况实体</returns>
        public EyouSoft.Model.GovStructure.MAttendanceAbout GetAttendanceAbout(string CompanyId, string StaffId, int Year, int Month)
        {
            EyouSoft.Model.GovStructure.MAttendanceAbout model = null;
            DateTime      AddDate = new DateTime(Year, Month, 1);
            StringBuilder StrSql  = new StringBuilder();                                         //at.[DepartmentId],

            StrSql.Append("SELECT at.[ID] AS StaffId, at.CompanyId, at.[Name] AS [StaffName],"); //Punctuality准点 = 0,Late迟到=1,LeaveEarly早退=2,Absenteeism旷工=3,Vacation请假=4,OverTime加班=5,Travel出差=6,Rest休假=7,Suspension停职=8
            StrSql.AppendFormat(" (SELECT Count(1) FROM tbl_GovAttendance d WHERE d.[StaffId] = at.[id] AND d.[AttendanceType] = 0 AND datediff(mm, '{0}', d.[AttendanceTime]) = 0) AS Punctuality,", AddDate.ToShortDateString());
            StrSql.AppendFormat(" (SELECT Count(1) FROM tbl_GovAttendance e WHERE e.[StaffId] = at.[id] AND e.[AttendanceType] = 1 AND datediff(mm, '{0}', e.[AttendanceTime]) = 0) AS Late,", AddDate.ToShortDateString());
            StrSql.AppendFormat(" (SELECT Count(1) FROM tbl_GovAttendance f WHERE f.[StaffId] = at.[id] AND f.[AttendanceType] = 2 AND datediff(mm, '{0}', f.[AttendanceTime]) = 0) AS LeaveEarly,", AddDate.ToShortDateString());
            StrSql.AppendFormat(" (SELECT Count(1) FROM tbl_GovAttendance g WHERE g.[StaffId] = at.[id] AND g.[AttendanceType] = 3 AND datediff(mm, '{0}', g.[AttendanceTime]) = 0) AS Absenteeism,", AddDate.ToShortDateString());
            StrSql.AppendFormat(" (SELECT isNull(SUM(TimeCount),0) FROM tbl_GovAttendance h WHERE h.[StaffId] = at.[id] AND h.[AttendanceType] = 4 AND datediff(mm, '{0}', h.[AttendanceTime]) = 0) AS Vacation,", AddDate.ToShortDateString());
            StrSql.AppendFormat(" (SELECT isNull(SUM(TimeCount),0) FROM tbl_GovAttendance m WHERE m.[StaffId] = at.[id] AND m.[AttendanceType] = 5 AND datediff(mm,'{0}', m.[AttendanceTime]) = 0) AS OverTime,", AddDate.ToShortDateString());
            StrSql.AppendFormat(" (SELECT isNull(SUM(TimeCount),0) FROM tbl_GovAttendance n WHERE n.[StaffId] = at.[id] AND n.[AttendanceType] = 6 AND datediff(mm,'{0}', n.[AttendanceTime]) = 0) AS Travel,", AddDate.ToShortDateString());
            StrSql.AppendFormat(" (SELECT isNull(SUM(TimeCount),0) FROM tbl_GovAttendance o WHERE o.[StaffId] = at.[id] AND o.[AttendanceType] = 7 AND datediff(mm,'{0}', o.[AttendanceTime]) = 0) AS Rest,", AddDate.ToShortDateString());
            StrSql.AppendFormat(" (SELECT isNull(SUM(TimeCount),0) FROM tbl_GovAttendance p WHERE p.[StaffId] = at.[id] AND p.[AttendanceType] = 8 AND datediff(mm,'{0}', p.[AttendanceTime]) = 0) AS Suspension", AddDate.ToShortDateString());
            StrSql.AppendFormat(" FROM tbl_GovFile AS at WHERE at.ID='{0}' AND at.CompanyId='{1}' and at.IsDelete = '0'", StaffId, CompanyId);
            DbCommand dc = this._db.GetSqlStringCommand(StrSql.ToString());

            using (IDataReader dr = EyouSoft.Toolkit.DAL.DbHelper.ExecuteReader(dc, this._db))
            {
                while (dr.Read())
                {
                    model = new EyouSoft.Model.GovStructure.MAttendanceAbout()
                    {
                        StaffName   = dr.IsDBNull(dr.GetOrdinal("StaffName")) ? "" : dr.GetString(dr.GetOrdinal("StaffName")),
                        StaffId     = dr.IsDBNull(dr.GetOrdinal("StaffId")) ? "" : dr.GetString(dr.GetOrdinal("StaffId")),
                        Absenteeism = dr.IsDBNull(dr.GetOrdinal("Absenteeism")) ? 0 : dr.GetInt32(dr.GetOrdinal("Absenteeism")), //旷工=3
                        Late        = dr.IsDBNull(dr.GetOrdinal("Late")) ? 0 : dr.GetInt32(dr.GetOrdinal("Late")),               //迟到=1
                        LeaveEarly  = dr.IsDBNull(dr.GetOrdinal("LeaveEarly")) ? 0 : dr.GetInt32(dr.GetOrdinal("LeaveEarly")),   //早退=2
                        Punctuality = dr.IsDBNull(dr.GetOrdinal("Punctuality")) ? 0 : dr.GetInt32(dr.GetOrdinal("Punctuality")), //准点 = 0
                        Vacation    = dr.IsDBNull(dr.GetOrdinal("Vacation")) ? 0 : dr.GetDecimal(dr.GetOrdinal("Vacation")),     //请假=4
                        OverTime    = dr.IsDBNull(dr.GetOrdinal("OverTime")) ? 0 : dr.GetDecimal(dr.GetOrdinal("OverTime")),     //加班=5
                        Travel      = dr.IsDBNull(dr.GetOrdinal("Travel")) ? 0 : dr.GetDecimal(dr.GetOrdinal("Travel")),         //出差=6
                        Rest        = dr.IsDBNull(dr.GetOrdinal("Rest")) ? 0 : dr.GetDecimal(dr.GetOrdinal("Rest")),             //休假=7
                        Suspension  = dr.IsDBNull(dr.GetOrdinal("Suspension")) ? 0 : dr.GetDecimal(dr.GetOrdinal("Suspension"))  //停职=8
                    };
                }
            };
            return(model);
        }