/// <summary> /// 异常考勤 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void attendanceClient_ListEMPLOYEEABNORMRECORDCompleted(object sender, ListEMPLOYEEABNORMRECORDCompletedEventArgs e) { if (e.Error == null) { if (e.Result != null) { var v = from t in e.Result group t by new { t.EMPLOYEEID, t.cname } into g select new AbnormalAttendanceeEntity { //名字 cname = g.Key.cname, //员工ID EMPLOYEEID = g.Key.EMPLOYEEID, //迟到/早退次数 outTimes = g.Where(c => c.ABNORMCATEGORY == "1").Count(), //迟到/早退合计小时 outMinutes = g.Where(c => c.ABNORMCATEGORY == "1").Sum(c => c.ABNORMALTIME), //缺勤次数 DrainTimeNumber = g.Where(c => c.ABNORMCATEGORY == "3").Count(), //超额工时合计 ExcessHoursTotal = 0, //可调休假 AdjustableVacation = 0, //事假 LeaveHour = 0, //年休假 AnnualLeave = 0, //病假 SickLeave = 0, //调休假 OffHour = 0 }; abnormalAttendanceeEntity2 = v.ToList(); foreach (var item in abnormalAttendanceeEntity) { foreach (var item2 in abnormalAttendanceeEntity2) { if (item.EMPLOYEEID == item2.EMPLOYEEID) { item2.LeaveHour = item.LeaveHour; item2.AnnualLeave = item.AnnualLeave; item2.SickLeave = item.SickLeave; item2.OffHour = item.OffHour; } } } foreach (var item in abnormalAttendanceeEntity3) { foreach (var item2 in abnormalAttendanceeEntity2) { if (item.EMPLOYEEID == item2.EMPLOYEEID) { double dou = Double.Parse(item.AdjustableDay.ToString()) * 7.5 - Double.Parse(item2.OffHour.ToString()); item2.AdjustableVacation = decimal.Parse(dou.ToString()); } } } foreach (var item in abnormalAttendanceeEntity4) { foreach (var item2 in abnormalAttendanceeEntity2) { if (item.EMPLOYEEID == item2.EMPLOYEEID) { item2.ExcessHoursTotal = item.ExcessHoursTotal; } } } //if (abnormalAttendanceeEntity2!=null&&!string.IsNullOrEmpty(ownerID)) //{ // abnormalAttendanceeEntity2.Where(c=>c.EMPLOYEEID==ownerID); //} dgClockInRdList.ItemsSource = abnormalAttendanceeEntity2; //byExport = dgClockInRdList.ItemsSource.to; #region 除 //if (abnormalAttendanceeEntity.Count >0) //{ //} //if (abnormalAttendanceeEntity2.Count>0) //{ //} //var i = from k in abnormalAttendanceeEntity2 // join j in abnormalAttendanceeEntity // on k.EMPLOYEEID equals j.EMPLOYEEID into g // from n in g.DefaultIfEmpty() // select n; // //select new AbnormalAttendanceeEntityStr // //{ // // //名字 // // cname = n.cname==null ? "0":n.cname, // // //迟到/早退次数 // // outTimes = n.outTimes == null ? 0 : n.outTimes, // // //迟到/早退合计小时 // // outMinutes = n.outMinutes == null ? 0 : n.outMinutes, // // //缺勤次数 // // DrainTimeNumber = n.DrainTimeNumber == null ? 0 : n.DrainTimeNumber, // // //请事假时长 // // LeaveHour = n.LeaveHour == null ? 0 : n.LeaveHour, // // //请年假时长 // // AnnualLeave = n.AnnualLeave == null ? 0 : n.AnnualLeave, // // //请病假时长 // // SickLeave = n.SickLeave == null ? 0 : n.SickLeave, // // //请调休假时长 // // OffHour = n.OffHour == null ? 0 : n.OffHour // //}; //i.ToList(); //var u = from g in i // select new AbnormalAttendanceeEntity // { // cname=g.cname, // //迟到/早退次数 // outTimes = g.outTimes == null ? 0 : g.outTimes, // //迟到/早退合计小时 // outMinutes = g.outMinutes == null ? 0 : g.outMinutes, // //缺勤次数 // DrainTimeNumber = g.DrainTimeNumber == null ? 0 : g.DrainTimeNumber, // //请事假时长 // LeaveHour = g.LeaveHour == null ? 0 : g.LeaveHour, // //请年假时长 // AnnualLeave = g.AnnualLeave == null ? 0 : g.AnnualLeave, // //请病假时长 // SickLeave = g.SickLeave == null ? 0 : g.SickLeave, // //请调休假时长 // OffHour = g.OffHour == null ? 0 : g.OffHour // }; //if (u.Count() > 0) //{ // dgClockInRdList.ItemsSource = u; //} #endregion loadbar.Stop(); } //loadbar.Stop(); } else { MessageBox.Show("异常考勤服务错误,方法ListEMPLOYEEABNORMRECORD,信息:" + e.Error.ToString()); } }
/// <summary> /// 异常考勤 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void attendanceClient_ListEMPLOYEEABNORMRECORDCompleted(object sender, ListEMPLOYEEABNORMRECORDCompletedEventArgs e) { if (e.Error==null) { if (e.Result!=null) { var v = from t in e.Result group t by new { t.EMPLOYEEID, t.cname } into g select new AbnormalAttendanceeEntity { //名字 cname=g.Key.cname, //员工ID EMPLOYEEID=g.Key.EMPLOYEEID, //迟到/早退次数 outTimes=g.Where(c=>c.ABNORMCATEGORY=="1").Count(), //迟到/早退合计小时 outMinutes = g.Where(c => c.ABNORMCATEGORY == "1").Sum(c => c.ABNORMALTIME), //缺勤次数 DrainTimeNumber =g.Where(c => c.ABNORMCATEGORY == "3").Count(), //超额工时合计 ExcessHoursTotal=0, //可调休假 AdjustableVacation=0, //事假 LeaveHour=0, //年休假 AnnualLeave=0, //病假 SickLeave=0, //调休假 OffHour=0 }; abnormalAttendanceeEntity2 = v.ToList(); foreach (var item in abnormalAttendanceeEntity) { foreach (var item2 in abnormalAttendanceeEntity2) { if (item.EMPLOYEEID==item2.EMPLOYEEID) { item2.LeaveHour=item.LeaveHour; item2.AnnualLeave=item.AnnualLeave; item2.SickLeave=item.SickLeave; item2.OffHour=item.OffHour; } } } foreach (var item in abnormalAttendanceeEntity3) { foreach (var item2 in abnormalAttendanceeEntity2) { if (item.EMPLOYEEID==item2.EMPLOYEEID) { double dou=Double.Parse(item.AdjustableDay.ToString()) * 7.5 - Double.Parse(item2.OffHour.ToString()); item2.AdjustableVacation =decimal.Parse(dou.ToString()); } } } foreach (var item in abnormalAttendanceeEntity4) { foreach (var item2 in abnormalAttendanceeEntity2) { if (item.EMPLOYEEID==item2.EMPLOYEEID) { item2.ExcessHoursTotal = item.ExcessHoursTotal; } } } //if (abnormalAttendanceeEntity2!=null&&!string.IsNullOrEmpty(ownerID)) //{ // abnormalAttendanceeEntity2.Where(c=>c.EMPLOYEEID==ownerID); //} dgClockInRdList.ItemsSource = abnormalAttendanceeEntity2; //byExport = dgClockInRdList.ItemsSource.to; #region 删除 //if (abnormalAttendanceeEntity.Count >0) //{ //} //if (abnormalAttendanceeEntity2.Count>0) //{ //} //var i = from k in abnormalAttendanceeEntity2 // join j in abnormalAttendanceeEntity // on k.EMPLOYEEID equals j.EMPLOYEEID into g // from n in g.DefaultIfEmpty() // select n; // //select new AbnormalAttendanceeEntityStr // //{ // // //名字 // // cname = n.cname==null ? "0":n.cname, // // //迟到/早退次数 // // outTimes = n.outTimes == null ? 0 : n.outTimes, // // //迟到/早退合计小时 // // outMinutes = n.outMinutes == null ? 0 : n.outMinutes, // // //缺勤次数 // // DrainTimeNumber = n.DrainTimeNumber == null ? 0 : n.DrainTimeNumber, // // //请事假时长 // // LeaveHour = n.LeaveHour == null ? 0 : n.LeaveHour, // // //请年假时长 // // AnnualLeave = n.AnnualLeave == null ? 0 : n.AnnualLeave, // // //请病假时长 // // SickLeave = n.SickLeave == null ? 0 : n.SickLeave, // // //请调休假时长 // // OffHour = n.OffHour == null ? 0 : n.OffHour // //}; //i.ToList(); //var u = from g in i // select new AbnormalAttendanceeEntity // { // cname=g.cname, // //迟到/早退次数 // outTimes = g.outTimes == null ? 0 : g.outTimes, // //迟到/早退合计小时 // outMinutes = g.outMinutes == null ? 0 : g.outMinutes, // //缺勤次数 // DrainTimeNumber = g.DrainTimeNumber == null ? 0 : g.DrainTimeNumber, // //请事假时长 // LeaveHour = g.LeaveHour == null ? 0 : g.LeaveHour, // //请年假时长 // AnnualLeave = g.AnnualLeave == null ? 0 : g.AnnualLeave, // //请病假时长 // SickLeave = g.SickLeave == null ? 0 : g.SickLeave, // //请调休假时长 // OffHour = g.OffHour == null ? 0 : g.OffHour // }; //if (u.Count() > 0) //{ // dgClockInRdList.ItemsSource = u; //} #endregion loadbar.Stop(); } //loadbar.Stop(); } else { MessageBox.Show("异常考勤服务错误,方法ListEMPLOYEEABNORMRECORD,信息:"+e.Error.ToString()); } }