Пример #1
0
 public void CalculateEmployeeAttendanceMonthlyByCompanyID(string strCurDateMonth, string strCompanyID)
 {
     using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
     {
         bllAttendMonthlyBalance.CalculateEmployeeAttendanceMonthlyByCompanyID(strCurDateMonth, strCompanyID);
     }
 }
Пример #2
0
 public string RemoveAttendMonthlyBalance(string strMonthlyBalanceId)
 {
     using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
     {
         return bllAttendMonthlyBalance.DeleteMonthlyBalance(strMonthlyBalanceId);
     }
 }
Пример #3
0
 public void CalculateEmployeeAttendanceMonthly(string strIsCurrentMonth, string strAssignedObjectType, string strAssignedObjectID)
 {
     using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
     {
         bllAttendMonthlyBalance.CalculateEmployeeAttendanceMonthly(strIsCurrentMonth, strAssignedObjectType, strAssignedObjectID);
     }
 }
Пример #4
0
 public List<T_HR_ATTENDMONTHLYBALANCE> ImportAttendMonthlyBalanceForShow(UploadFileModel UploadFile)
 {
     string strPath = string.Empty;
     SaveFile(UploadFile, out strPath);
     string strPhysicalPath = HttpContext.Current.Server.MapPath(strPath);
     using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
     {
         return bllAttendMonthlyBalance.ImportMonthlyBalanceForShow(strPhysicalPath);
     }
 }
Пример #5
0
 public string ModifyAttendMonthlyBalance(T_HR_ATTENDMONTHLYBALANCE entTemp)
 {
     using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
     {
         return bllAttendMonthlyBalance.ModifyMonthlyBalance(entTemp);
     }
 }
Пример #6
0
 public byte[] ExportAttendMonthlyBalanceRdListReports(string sType, string sValue, string strOwnerID, string strCheckState, string strEmployeeID, decimal dBalanceYear, decimal dBalanceMonth, string strSortKey)
 {
     using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
     {
         return  bllAttendMonthlyBalance.ExportAttendMonthlyBalanceReports(sType, sValue, strOwnerID, strCheckState, strEmployeeID, dBalanceYear, dBalanceMonth, strSortKey);
                         
     }
 }
Пример #7
0
        public void ImportAttendMonthlyBalanceFromCSV(UploadFileModel UploadFile, string strCreateUserID, string strUnitType, string strUnitObjectId, decimal dBalanceYear, decimal dBalanceMonth, ref string strMsg)
        {
            string strPath = string.Empty;
            SaveFile(UploadFile, out strPath);
            string strPhysicalPath = HttpContext.Current.Server.MapPath(strPath);

            using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
            {
                bllAttendMonthlyBalance.ImportMonthlyBalance(strCreateUserID, strPhysicalPath, strUnitType, strUnitObjectId, dBalanceYear, dBalanceMonth, ref strMsg);
            }
        }
Пример #8
0
        public List<T_HR_ATTENDMONTHLYBALANCE> GetAttendMonthlyBalanceListByMultSearch(string sType, string sValue, string strOwnerID, string strCheckState, string strEmployeeID,
            decimal dBalanceYear, decimal dBalanceMonth, string strSortKey, int pageIndex, int pageSize, ref int pageCount)
        {
            using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
            {
                var ents = bllAttendMonthlyBalance.GetAttendMonthlyBalanceRdListByMultSearch(sType, sValue, strOwnerID, strCheckState, strEmployeeID, dBalanceYear, dBalanceMonth, strSortKey, pageIndex, pageSize, ref pageCount).ToList();

                if (ents == null)
                {
                    return null;
                }

                return ents.ToList();
            }
        }
Пример #9
0
 public T_HR_ATTENDMONTHLYBALANCE GetAttendMonthlyBalanceByID(string strMonthlyBalanceId)
 {
     using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
     {
         return bllAttendMonthlyBalance.GetAttendMonthlyBalanceByID(strMonthlyBalanceId);
     }
 }
Пример #10
0
 public string CalculateAttendanceMonthly(string strCurDateMonth, string calcuType, string strID, List<string> ClacuEmployeePosts, string balancePostid, ref string strmsg)
 {
     using (AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL())
     {
         switch (calcuType)
         {
             case "1"://AssignedObjectType.Company:
                 return bllAttendMonthlyBalance.CalculateEmployeeAttendanceMonthlyByCompanyID(strCurDateMonth, strID, balancePostid);
             //break;
             case "2"://AssignedObjectType.Department;
                 return bllAttendMonthlyBalance.CalculateEmployeeAttendanceMonthlyByDepartmentID(strCurDateMonth, strID, balancePostid);
             //break;
             case "3"://AssignedObjectType.Post
                 return bllAttendMonthlyBalance.CalculateEmployeeAttendanceMonthlyByPostID(strCurDateMonth, strID, balancePostid);
             //break;
             case "4"://AssignedObjectType.Personnel
                 return bllAttendMonthlyBalance.CalculateEmployeeAttendanceMonthlyByBalacePostID(strCurDateMonth, strID, balancePostid);
             //break;
         }
         return "";
         // return bllAttendMonthlyBalance.CalculateEmployeeAttendanceMonthlyByEmployeeID(strCurDateMonth, strEmployeeID);
     }
 }
Пример #11
0
        /// <summary>
        /// 为单一员工核算指定年份的考勤信息
        /// </summary>
        /// <param name="item"></param>
        /// <param name="dYear"></param>
        /// <param name="strCheckState"></param>
        public void CalculateSingleEmployeeAttendYearlyBalance(T_HR_EMPLOYEE item, decimal dBalanceYear, string strCheckState)
        {
            try
            {
                if (item == null)
                {
                    return;
                }

                if (dBalanceYear == 0)
                {
                    return;
                }

                DateTime dtBalance     = new DateTime();
                string   strEmployeeID = item.EMPLOYEEID;

                AttendMonthlyBalanceBLL bllAttendMonthlyBalance = new AttendMonthlyBalanceBLL();
                IQueryable <T_HR_ATTENDMONTHLYBALANCE> entAttendMonthlyBalances = bllAttendMonthlyBalance.GetAttendMonthlyBalanceRdListByEmployeeAndYear(strEmployeeID, dBalanceYear, strCheckState);

                if (entAttendMonthlyBalances == null)
                {
                    return;
                }

                if (entAttendMonthlyBalances.Count() == 0)
                {
                    return;
                }

                int iYear = 0, iMonth = 12, iMonthDay = 0;
                int.TryParse(dBalanceYear.ToString(), out iYear);

                iMonthDay = DateTime.DaysInMonth(iYear, iMonth);
                dtBalance = DateTime.Parse(iYear + "-" + iMonth + "-" + iMonthDay);

                bool flag = false;
                T_HR_ATTENDYEARLYBALANCE entYearlyBalance = GetAttendYearlyBalanceByEmployeeIDAndYear(strEmployeeID, dBalanceYear);

                if (entYearlyBalance == null)
                {
                    entYearlyBalance = new T_HR_ATTENDYEARLYBALANCE();
                    entYearlyBalance.YEARLYBALANCEID = System.Guid.NewGuid().ToString().ToUpper();
                }
                else
                {
                    flag = true;
                }

                //基础部分
                entYearlyBalance.EMPLOYEEID   = strEmployeeID;
                entYearlyBalance.EMPLOYEECODE = item.EMPLOYEECODE;
                entYearlyBalance.EMPLOYEENAME = item.EMPLOYEECNAME;
                entYearlyBalance.BALANCEYEAR  = dBalanceYear;
                entYearlyBalance.BALANCEDATE  = DateTime.Now;

                //年假部分
                decimal?dLastAnnualLevelUnusedDays = 0, dAnnualLeaveUsedDays = 0, dAnnualLeaveSumDays = 0, dAnnualLeaveValidDays = 0;
                decimal?dLastLeaveValidDays = 0, dLeaveUsedDays = 0, dLeaveValidDays = 0, dLeaveSumDays = 0;

                CalculateEmployeeLeaveDays(strEmployeeID, dtBalance, ref dLastAnnualLevelUnusedDays, ref dAnnualLeaveUsedDays, ref dAnnualLeaveSumDays, ref dAnnualLeaveValidDays,
                                           ref dLastLeaveValidDays, ref dLeaveUsedDays, ref dLeaveValidDays, ref dLeaveSumDays);

                entYearlyBalance.LASTANNUALLEVELUNUSEDDAYS = dLastAnnualLevelUnusedDays;
                entYearlyBalance.ANNUALLEAVEUSEDDAYS       = dAnnualLeaveUsedDays;
                entYearlyBalance.ANNUALLEAVESUMDAYS        = dAnnualLeaveSumDays;
                entYearlyBalance.ANNUALLEAVEVALIDDAYS      = dAnnualLeaveValidDays;
                entYearlyBalance.LASTLEAVEVALIDDAYS        = dLastLeaveValidDays;
                entYearlyBalance.LEAVEUSEDDAYS             = dLeaveUsedDays;
                entYearlyBalance.LEAVEVALIDDAYS            = dLeaveValidDays;
                entYearlyBalance.LEAVESUMDAYS = dLeaveSumDays;

                //考勤异常部分
                decimal?dAbsentDays = 0, dLateDays = 0, dLeaveEarlyDays = 0; //旷工,迟到,早退

                //请假部分
                decimal?dAffairLeaveDays = 0, dSickLeaveDays = 0, dOtherLeaveDays = 0;

                //加班部分
                decimal?dOverTimeTimes = 0;
                decimal?dOverTimeSumHours = 0, dOvertimeSumDays = 0;

                //出勤天数
                decimal?dNeedAttendDays = 0, dRealAttendDays = 0; //应出勤总天数,实际出勤天数

                foreach (T_HR_ATTENDMONTHLYBALANCE entAttendMonthlyBalance in entAttendMonthlyBalances)
                {
                    if (entAttendMonthlyBalance.NEEDATTENDDAYS != null)
                    {
                        dNeedAttendDays += entAttendMonthlyBalance.NEEDATTENDDAYS;
                    }

                    if (entAttendMonthlyBalance.REALATTENDDAYS != null)
                    {
                        dRealAttendDays += entAttendMonthlyBalance.REALATTENDDAYS;
                    }

                    if (entAttendMonthlyBalance.LATEDAYS != null)
                    {
                        dLateDays += entAttendMonthlyBalance.LATEDAYS;
                    }

                    if (entAttendMonthlyBalance.LEAVEEARLYDAYS != null)
                    {
                        dLeaveEarlyDays += entAttendMonthlyBalance.LEAVEEARLYDAYS;
                    }

                    if (entAttendMonthlyBalance.ABSENTDAYS != null)
                    {
                        dAbsentDays += entAttendMonthlyBalance.ABSENTDAYS;
                    }

                    if (entAttendMonthlyBalance.AFFAIRLEAVEDAYS != null)
                    {
                        dAffairLeaveDays += entAttendMonthlyBalance.AFFAIRLEAVEDAYS;
                    }

                    if (entAttendMonthlyBalance.SICKLEAVEDAYS != null)
                    {
                        dSickLeaveDays += entAttendMonthlyBalance.SICKLEAVEDAYS;
                    }

                    if (entAttendMonthlyBalance.OTHERLEAVEDAYS != null)
                    {
                        dOtherLeaveDays += entAttendMonthlyBalance.OTHERLEAVEDAYS;
                    }

                    if (entAttendMonthlyBalance.OVERTIMETIMES != null)
                    {
                        dOverTimeTimes += entAttendMonthlyBalance.OVERTIMETIMES;
                    }

                    if (entAttendMonthlyBalance.OVERTIMESUMHOURS != null)
                    {
                        dOverTimeSumHours += entAttendMonthlyBalance.OVERTIMESUMHOURS;
                    }

                    if (entAttendMonthlyBalance.OVERTIMESUMDAYS != null)
                    {
                        dOvertimeSumDays += entAttendMonthlyBalance.OVERTIMESUMDAYS;
                    }
                }

                entYearlyBalance.NEEDATTENDDAYS   = dNeedAttendDays;
                entYearlyBalance.REALATTENDDAYS   = dRealAttendDays;
                entYearlyBalance.LATEDAYS         = dLateDays;
                entYearlyBalance.LEAVEEARLYDAYS   = dLeaveEarlyDays;
                entYearlyBalance.ABSENTDAYS       = dAbsentDays;
                entYearlyBalance.AFFAIRLEAVEDAYS  = dAffairLeaveDays;
                entYearlyBalance.SICKLEAVEDAYS    = dSickLeaveDays;
                entYearlyBalance.OTHERLEAVEDAYS   = dOtherLeaveDays;
                entYearlyBalance.OVERTIMETIMES    = dOverTimeTimes;
                entYearlyBalance.OVERTIMESUMHOURS = dOverTimeSumHours;
                entYearlyBalance.OVERTIMESUMDAYS  = dOvertimeSumDays;

                //权限
                entYearlyBalance.OWNERCOMPANYID    = item.OWNERCOMPANYID;
                entYearlyBalance.OWNERDEPARTMENTID = item.OWNERDEPARTMENTID;
                entYearlyBalance.OWNERPOSTID       = item.OWNERPOSTID;
                entYearlyBalance.OWNERID           = item.OWNERID;

                //基础部分
                entYearlyBalance.REMARK       = string.Empty;
                entYearlyBalance.UPDATEUSERID = item.UPDATEUSERID;
                entYearlyBalance.UPDATEDATE   = DateTime.Now;


                if (flag)
                {
                    ModifyYearlyBalance(entYearlyBalance);
                }
                else
                {
                    entYearlyBalance.CREATEDATE         = DateTime.Now;
                    entYearlyBalance.CREATEPOSTID       = item.CREATEPOSTID;
                    entYearlyBalance.CREATEDEPARTMENTID = item.CREATEDEPARTMENTID;
                    entYearlyBalance.CREATECOMPANYID    = item.CREATECOMPANYID;
                    entYearlyBalance.CREATEUSERID       = item.CREATEUSERID;

                    AddYearlyBalance(entYearlyBalance);
                }
            }
            catch (Exception ex)
            {
                Utility.SaveLog(ex.ToString());
            }
        }
Пример #12
0
        /// <summary>
        /// 月度结算批量审批
        /// </summary>
        /// <param name="entTemp"></param>
        /// <param name="entBalanceList"></param>
        /// <returns></returns>
        public string AuditMonthlyBatchBalance(T_HR_ATTENDMONTHLYBATCHBALANCE entTemp)
        {
            string strMsg = string.Empty;

            try
            {
                if (entTemp == null)
                {
                    return("{REQUIREDFIELDS}");
                }

                bool          flag      = false;
                StringBuilder strFilter = new StringBuilder();
                List <string> objArgs   = new List <string>();

                strFilter.Append(" MONTHLYBATCHID == @0");
                objArgs.Add(entTemp.MONTHLYBATCHID);

                AttendMonthlyBatchBalanceDAL dalAttendMonthlyBatchBalance = new AttendMonthlyBatchBalanceDAL();
                flag = dalAttendMonthlyBatchBalance.IsExistsRd(strFilter.ToString(), objArgs.ToArray());

                if (!flag)
                {
                    AddMonthlyBatchBalance(entTemp);
                }

                T_HR_ATTENDMONTHLYBATCHBALANCE entAudit = dalAttendMonthlyBatchBalance.GetAttendMonthlyBatchBalanceRdByMultSearch(strFilter.ToString(), objArgs.ToArray());
                if (entAudit == null)
                {
                    return("{REQUIREDFIELDS}");
                }

                if (flag)
                {
                    Utility.CloneEntity(entTemp, entAudit);
                    Update(entAudit);
                }
                string strTempCheckState = Convert.ToInt32(Common.CheckStates.All).ToString();

                AttendMonthlyBalanceBLL bllBalance = new AttendMonthlyBalanceBLL();
                IQueryable <T_HR_ATTENDMONTHLYBALANCE> entBalanceList = bllBalance.GetAllAttendMonthlyBalanceRdListForAudit(entTemp.BALANCEOBJECTTYPE,
                                                                                                                            entTemp.BALANCEOBJECTID, entTemp.OWNERID, strTempCheckState, entTemp.BALANCEYEAR.Value, entTemp.BALANCEMONTH.Value, "BALANCEYEAR, BALANCEMONTH");
                int cout = 0;
                foreach (T_HR_ATTENDMONTHLYBALANCE item in entBalanceList)
                {
                    //item.T_HR_ATTENDMONTHLYBATCHBALANCEReference.EntityKey = new EntityKey("SMT_HRM_EFModelContext.T_HR_ATTENDMONTHLYBATCHBALANCE", "MONTHLYBATCHID", entAudit.MONTHLYBATCHID);
                    item.T_HR_ATTENDMONTHLYBATCHBALANCE = entAudit;
                    item.CHECKSTATE = entTemp.CHECKSTATE;
                    item.EDITSTATE  = entTemp.EDITSTATE;
                    bllBalance.ModifyMonthlyBalance(item);
                    cout++;
                }
                strMsg = "{SAVESUCCESSED}";
                //添加日志
                if (entAudit != null)
                {
                    string str = entAudit.MONTHLYBATCHID + entAudit.BALANCEOBJECTNAME + entAudit.BALANCEYEAR + "年" + entAudit.BALANCEMONTH + "月" + "的人数为" + cout;
                    Utility.SaveLog(str);
                }
            }
            catch (Exception ex)
            {
                strMsg = ex.ToString();
                Utility.SaveLog(strMsg);
            }

            return(strMsg);
        }