예제 #1
0
        /// <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());
            }
        }
예제 #2
0
        /// <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());
            }   
        }