void dgEmpLeaveDays_SelectionChanged(object sender, SelectionChangedEventArgs e) { T_HR_EMPLOYEELEVELDAYCOUNT ENT = this.dgEmpLeaveDays.SelectedItem as T_HR_EMPLOYEELEVELDAYCOUNT; if (ENT != null) { //绑定数据 //this.dgEmpLeaveDays1.ItemsSource=GetEmployeeleaverecordByMultSearchId string strEmployeeID = string.Empty, strOrgType = string.Empty, strOrgValue = string.Empty; string strSortKey = string.Empty, strOwnerID = string.Empty; string strEfficDateFrom = string.Empty, strEfficDateTo = string.Empty; int pageIndex = 0, pageSize = 0, pageCount = 0; pageIndex = dataPager1.PageIndex; pageSize = dataPager1.PageSize; //employeeid, leavetypesetid, OWNERCOMPANYID, strEfficDateFrom, strEfficDateTo,pageIndex, pageSize, ref pageCount //T_HR_EMPLOYEELEVELDAYCOUNT ENT=this.dgEmpLeaveDays.SelectedItem as T_HR_EMPLOYEELEVELDAYCOUNT; if (ENT != null) { client.GetEmployeeleaverecordByMultSearchIdAsync(ENT.EMPLOYEEID, ENT.LEAVETYPESETID, ENT.OWNERCOMPANYID, ENT.EFFICDATE.ToString(), ENT.TERMINATEDATE.ToString(), pageIndex, pageSize, pageCount); } loadbar.Start(); } }
/// <summary> /// 根据请假记录ID获取对应调休假 /// </summary> /// <param name="strLeaveRecordID">请假记录ID</param> /// <returns></returns> public List <V_ADJUSTLEAVE> GetAdjustLeaveDetailListByLeaveRecordID(string strLeaveRecordID) { List <V_ADJUSTLEAVE> entViews = new List <V_ADJUSTLEAVE>(); IQueryable <T_HR_ADJUSTLEAVE> entAds = from a in dal.GetObjects().Include("T_HR_EMPLOYEELEAVERECORD") join l in dal.GetObjects <T_HR_LEAVETYPESET>() on a.LEAVETYPESETID equals l.LEAVETYPESETID where a.T_HR_EMPLOYEELEAVERECORD.LEAVERECORDID == strLeaveRecordID select a; if (entAds.Count() == 0) { return(entViews); } foreach (T_HR_ADJUSTLEAVE item in entAds) { var q = from ec in dal.GetObjects <T_HR_EMPLOYEELEVELDAYCOUNT>() where ec.LEAVETYPESETID == item.LEAVETYPESETID && ec.EMPLOYEEID == item.EMPLOYEEID select ec; if (q.Count() == 0) { continue; } T_HR_EMPLOYEELEVELDAYCOUNT entDayCount = q.FirstOrDefault(); V_ADJUSTLEAVE entView = new V_ADJUSTLEAVE(); entView.T_HR_ADJUSTLEAVE = item; entView.VacationType = entDayCount.VACATIONTYPE; entView.VacationDays = entDayCount.DAYS; entViews.Add(entView); } return(entViews); }
/// <summary> /// /// </summary> private List <T_HR_EMPLOYEELEVELDAYCOUNT> GetRowDataGrid() { List <T_HR_EMPLOYEELEVELDAYCOUNT> liststr = new List <T_HR_EMPLOYEELEVELDAYCOUNT>(); var rowItems = dgEmpLeaveDays.SelectedItems.Cast <T_HR_EMPLOYEELEVELDAYCOUNT>().ToArray(); if (rowItems.Count() > 0) { foreach (T_HR_EMPLOYEELEVELDAYCOUNT item in rowItems) { T_HR_EMPLOYEELEVELDAYCOUNT EMPLOYEELEVELDAYCOUNT = new T_HR_EMPLOYEELEVELDAYCOUNT(); EMPLOYEELEVELDAYCOUNT.LEAVETYPESETID = item.LEAVETYPESETID; EMPLOYEELEVELDAYCOUNT.EFFICDATE = item.EFFICDATE; EMPLOYEELEVELDAYCOUNT.EMPLOYEEID = item.EMPLOYEEID; liststr.Add(EMPLOYEELEVELDAYCOUNT); } return(liststr); } else { return(null); } }
public string AddEmployeeLevelDayCount(T_HR_EMPLOYEELEVELDAYCOUNT entTemp) { using (EmployeeLevelDayCountBLL bllEmployeeleveldaycount = new EmployeeLevelDayCountBLL()) { return bllEmployeeleveldaycount.AddEmployeeLevelDayCount(entTemp); } }
/// <summary> /// 获取DataGrid当前选中项,员工可用假期天数 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void clientAtt_GetCurLevelDayCountByEmployeeIDCompleted(object sender, GetCurLevelDayCountByEmployeeIDCompletedEventArgs e) { if (e.Error == null) { if (dgLevelDayList.ItemsSource == null) { return; } if (dgLevelDayList.SelectedItem == null) { return; } V_ADJUSTLEAVE entViewAdjustleave = dgLevelDayList.SelectedItem as V_ADJUSTLEAVE; T_HR_LEAVETYPESET ent = lkLeaveTypeName.DataContext as T_HR_LEAVETYPESET; if (ent == null) { return; } T_HR_EMPLOYEELEVELDAYCOUNT entTemp = new T_HR_EMPLOYEELEVELDAYCOUNT(); entTemp = e.Result; if (entTemp == null) { return; } decimal dAdjustLeaveDays = 0; if (entTemp.DAYS != null) { dAdjustLeaveDays = entTemp.DAYS.Value; } entViewAdjustleave.VacationDays = dAdjustLeaveDays; entViewAdjustleave.T_HR_ADJUSTLEAVE.LEAVETYPESETID = entTemp.LEAVETYPESETID; ObservableCollection<V_ADJUSTLEAVE> entAdjustleaves = dgLevelDayList.ItemsSource as ObservableCollection<V_ADJUSTLEAVE>; foreach (V_ADJUSTLEAVE item in entAdjustleaves) { if (item.T_HR_ADJUSTLEAVE.ADJUSTLEAVEID == entViewAdjustleave.T_HR_ADJUSTLEAVE.ADJUSTLEAVEID) { item.VacationDays = entViewAdjustleave.VacationDays; item.T_HR_ADJUSTLEAVE.LEAVETYPESETID = entViewAdjustleave.T_HR_ADJUSTLEAVE.LEAVETYPESETID; } } dgLevelDayList.ItemsSource = entAdjustleaves; } else { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr(e.Error.Message)); } }
public decimal GetMaxDays(List <T_HR_EMPLOYEE> listEmployees, List <T_HR_EMPLOYEEENTRY> entrys, List <T_HR_EMPLOYEEPOST> employeePosts, T_HR_EMPLOYEELEVELDAYCOUNT employeeFreeCount, bool isBreak, List <T_HR_ATTENDFREELEAVE> freeLeaves) { decimal deDays = 0; try { //获取某个员工的入职信息 var qw = from ent in entrys where ent.T_HR_EMPLOYEE.EMPLOYEEID == employeeFreeCount.EMPLOYEEID select ent; //获取员工的岗位信息 var qp = from ent in employeePosts where ent.T_HR_EMPLOYEE.EMPLOYEEID == employeeFreeCount.EMPLOYEEID && ent.T_HR_EMPLOYEE.OWNERCOMPANYID == employeeFreeCount.OWNERCOMPANYID select ent; var entEmployees = from ent in listEmployees where ent.EMPLOYEEID == employeeFreeCount.EMPLOYEEID select ent; //isBreak 为true 调用处则跳出循环 if (qw == null) { isBreak = true; } if (qp == null) { isBreak = true; } if (entEmployees == null) { isBreak = true; } T_HR_EMPLOYEE entEmployee = entEmployees.FirstOrDefault(); T_HR_EMPLOYEEPOST entPost = qp.FirstOrDefault(); if (entPost == null) { isBreak = true; } T_HR_EMPLOYEEENTRY entEntry = qw.FirstOrDefault(); if (entEntry == null) { isBreak = true; } DateTime dtEntryDate = entEntry.ENTRYDATE.Value; TimeSpan tsWorkTime = DateTime.Now.Subtract(dtEntryDate); decimal dCurWorkAge = 0, dEmployeePostLevel = 0; dCurWorkAge = decimal.Round(tsWorkTime.Days / 30, 0); decimal.TryParse(entPost.POSTLEVEL.ToString(), out dEmployeePostLevel); foreach (T_HR_ATTENDFREELEAVE entAttendFreeLeave in freeLeaves) { T_HR_LEAVETYPESET entLeaveTypeSet = entAttendFreeLeave.T_HR_LEAVETYPESET; if (entLeaveTypeSet == null) { continue; } string strVacType = entLeaveTypeSet.LEAVETYPEVALUE; string strFineType = entLeaveTypeSet.FINETYPE; //如果是调休假,就不需要自动生成 if (strVacType == (Convert.ToInt32(Common.LeaveTypeValue.AdjustLeave) + 1).ToString()) { continue; } //获取假期标准的带薪假设置记录 FreeLeaveDaySetBLL bllFreeLeave = new FreeLeaveDaySetBLL(); IQueryable <T_HR_FREELEAVEDAYSET> entFreeLeaves = bllFreeLeave.GetFreeLeaveDaySetByLeaveTypeID(entLeaveTypeSet.LEAVETYPESETID); if (strFineType != (Convert.ToInt32(Common.LeaveFineType.Free) + 1).ToString()) { continue; } decimal dPostLevelStrict = 0; decimal.TryParse(entLeaveTypeSet.POSTLEVELRESTRICT, out dPostLevelStrict); if (dPostLevelStrict > dEmployeePostLevel) { continue; } if (entLeaveTypeSet.ENTRYRESTRICT == (Convert.ToInt32(Common.IsChecked.Yes) + 1).ToString()) { if (entEmployee.EMPLOYEESTATE != "1") { continue; } } if (entLeaveTypeSet.SEXRESTRICT != "2") { if (entLeaveTypeSet.SEXRESTRICT != entEmployee.SEX) { continue; } } if (!string.IsNullOrEmpty(entLeaveTypeSet.POSTLEVELRESTRICT)) { decimal dPostLeavlStrict = decimal.Parse(entLeaveTypeSet.POSTLEVELRESTRICT); } int j = -1; decimal dLeaveDay = 0; string LeaveDayName = string.Empty; if (entFreeLeaves.Count() > 0) { for (int i = 0; i < entFreeLeaves.Count(); i++) { if (entFreeLeaves.ToList()[i].MINIMONTH > dCurWorkAge) { continue; } if (entFreeLeaves.ToList()[i].MAXMONTH < dCurWorkAge) { continue; } dLeaveDay = entFreeLeaves.ToList()[i].LEAVEDAYS.Value; LeaveDayName = entLeaveTypeSet.LEAVETYPENAME; j = i; break; } } else { dLeaveDay = entLeaveTypeSet.MAXDAYS.Value; j = 1; } decimal dAddDays = 0; if (j > -1) { if (entFreeLeaves.Count() > 0) { if (j == 0) { dAddDays = dLeaveDay; } else { dAddDays = dLeaveDay - entFreeLeaves.ToList()[j - 1].LEAVEDAYS.Value; } } else { dAddDays = dLeaveDay; } } string strNumOfDecDefault = "0.5"; dAddDays = RoundOff(dAddDays, strNumOfDecDefault, 1); dLeaveDay = RoundOff(dLeaveDay, strNumOfDecDefault, 1); deDays = dAddDays; } } catch (Exception ex) { } return(deDays); }
/// <summary> /// /// </summary> private List<T_HR_EMPLOYEELEVELDAYCOUNT> GetRowDataGrid() { List<T_HR_EMPLOYEELEVELDAYCOUNT> liststr = new List<T_HR_EMPLOYEELEVELDAYCOUNT>(); var rowItems = dgEmpLeaveDays.SelectedItems.Cast<T_HR_EMPLOYEELEVELDAYCOUNT>().ToArray(); if (rowItems.Count()>0) { foreach (T_HR_EMPLOYEELEVELDAYCOUNT item in rowItems) { T_HR_EMPLOYEELEVELDAYCOUNT EMPLOYEELEVELDAYCOUNT = new T_HR_EMPLOYEELEVELDAYCOUNT(); EMPLOYEELEVELDAYCOUNT.LEAVETYPESETID = item.LEAVETYPESETID; EMPLOYEELEVELDAYCOUNT.EFFICDATE = item.EFFICDATE; EMPLOYEELEVELDAYCOUNT.EMPLOYEEID = item.EMPLOYEEID; liststr.Add(EMPLOYEELEVELDAYCOUNT); } return liststr; } else { return null; } }