コード例 #1
0
        /// <summary>
        /// 根据设定规则赋值
        /// </summary>
        /// <param name="N"></param>
        /// <param name="list"></param>
        /// <param name="overTimeModel"></param>
        /// <returns></returns>
        public OverTimeModel OverTimeRules(int N, List <OverTimeModel> list, int i)
        {
            OverTimeModel ovm = new OverTimeModel();

            if (N == 1)//工作日加班,不超过12点
            {
                ovm.Name          = list[i].Name;
                ovm.OvertimeStart = overTimeStart.OverTimeStart1(list[i].OvertimeEnd);
                ovm.OvertimeEnd   = list[i].OvertimeEnd;
                ovm.OvertimeType  = "夜间加班";
                ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
            }
            if (N == 2)//工作日加班,超过12点
            {
                ovm.Name          = list[i].Name;
                ovm.OvertimeStart = overTimeStart.OverTimeStart2(list[i].OvertimeEnd);
                ovm.OvertimeEnd   = list[i].OvertimeEnd;
                ovm.OvertimeType  = "夜间加班";
                ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
            }
            if (N == 3)//周末或节假日 正常 在9点之前上班
            {
                ovm.Name          = list[i].Name;
                ovm.OvertimeStart = overTimeStart.OverTimeStart3(list[i].OvertimeEnd);
                ovm.OvertimeEnd   = list[i + 1].OvertimeEnd;//取下一条数据作为下班打卡
                ovm.OvertimeType  = "周末或节假日加班";
                ovm.OvertimeHours = tools.CalTimesAllDay(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
            }
            if (N == 4)//周末或节假日 正常 在9点之后上班
            {
                ovm.Name          = list[i].Name;
                ovm.OvertimeStart = overTimeStart.OverTimeStart4(list[i].OvertimeEnd);
                ovm.OvertimeEnd   = list[i + 1].OvertimeEnd;//取下一条数据作为下班打卡
                ovm.OvertimeType  = "周末或节假日加班";
                int overtimeStartHour = Int32.Parse(tools.getTimeHour(ovm.OvertimeStart));
                if (overtimeStartHour <= 12)//12点之前上班
                {
                    ovm.OvertimeHours = tools.CalTimesAllDay(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
                }
                else if (overtimeStartHour >= 13)//13点以后上班
                {
                    ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
                }
                else//12点到13点之间上班
                {
                    ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(overTimeStart.OverTimeStart5(list[i].OvertimeEnd)), Convert.ToDateTime(ovm.OvertimeEnd));
                }
            }
            if (N == 5)//周末或节假日 超过12点
            {
                ovm.Name          = list[i].Name;
                ovm.OvertimeStart = overTimeStart.OverTimeStart4(list[i - 1].OvertimeEnd);//取上一条数据作为上班打卡
                ovm.OvertimeEnd   = list[i].OvertimeEnd;
                ovm.OvertimeType  = "周末或节假日加班";
                ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
            }

            this.txtRemark.Dispatcher.Invoke(new Action(() => { ovm.Remark = this.txtRemark.Text; }));
            return(ovm);
        }
コード例 #2
0
 /// <summary>
 /// 根据设定规则赋值
 /// </summary>
 /// <param name="N"></param>
 /// <param name="list"></param>
 /// <param name="overTimeModel"></param>
 /// <returns></returns>
 public OverTimeModel OverTimeRules(int N, List<OverTimeModel> list, int i)
 {
     OverTimeModel ovm = new OverTimeModel();
     if (N == 1)//工作日加班,不超过12点
     {
         ovm.Name = list[i].Name;
         ovm.OvertimeStart = overTimeStart.OverTimeStart1(list[i].OvertimeEnd);
         ovm.OvertimeEnd = list[i].OvertimeEnd;
         ovm.OvertimeType = "夜间加班";
         ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
     }
     if (N == 2)//工作日加班,超过12点
     {
         ovm.Name = list[i].Name;
         ovm.OvertimeStart = overTimeStart.OverTimeStart2(list[i].OvertimeEnd);
         ovm.OvertimeEnd = list[i].OvertimeEnd;
         ovm.OvertimeType = "夜间加班";
         ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
     }
     if (N == 3)//周末或节假日 正常 在9点之前上班
     {
         ovm.Name = list[i].Name;
         ovm.OvertimeStart = overTimeStart.OverTimeStart3(list[i].OvertimeEnd);
         ovm.OvertimeEnd = list[i + 1].OvertimeEnd;//取下一条数据作为下班打卡
         ovm.OvertimeType = "周末或节假日加班";
         ovm.OvertimeHours = tools.CalTimesAllDay(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
     }
     if (N == 4)//周末或节假日 正常 在9点之后上班
     {
         ovm.Name = list[i].Name;
         ovm.OvertimeStart = overTimeStart.OverTimeStart4(list[i].OvertimeEnd);
         ovm.OvertimeEnd = list[i + 1].OvertimeEnd;//取下一条数据作为下班打卡
         ovm.OvertimeType = "周末或节假日加班";
         int overtimeStartHour = Int32.Parse(tools.getTimeHour(ovm.OvertimeStart));
         if (overtimeStartHour <= 12)//12点之前上班
         {
             ovm.OvertimeHours = tools.CalTimesAllDay(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
         }
         else if (overtimeStartHour >= 13)//13点以后上班
         {
             ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
         }
         else//12点到13点之间上班
         {
             ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(overTimeStart.OverTimeStart5(list[i].OvertimeEnd)), Convert.ToDateTime(ovm.OvertimeEnd));
         }
     }
     if (N == 5)//周末或节假日 超过12点 
     {
         ovm.Name = list[i].Name;
         ovm.OvertimeStart = overTimeStart.OverTimeStart4(list[i - 1].OvertimeEnd);//取上一条数据作为上班打卡
         ovm.OvertimeEnd = list[i].OvertimeEnd;
         ovm.OvertimeType = "周末或节假日加班";
         ovm.OvertimeHours = tools.CalTimesNormal(Convert.ToDateTime(ovm.OvertimeStart), Convert.ToDateTime(ovm.OvertimeEnd));
     }
     
     this.txtRemark.Dispatcher.Invoke(new Action(() => { ovm.Remark = this.txtRemark.Text; }));
     return ovm;
 }
コード例 #3
0
        /// <summary>
        /// 通过判断,进行相对应查询
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        public List <OverTimeModel> GetOverTimeInfo(List <OverTimeModel> list)
        {
            List <OverTimeModel> overTimeList = new List <OverTimeModel>();
            OverTimeModel        overTimeModel;

            for (int i = 0; i < list.Count; i++)
            {
                overTimeModel = new OverTimeModel();
                string dateType    = tools.getDateType(list[i].OvertimeEnd);
                string timeHour    = tools.getTimeHour(list[i].OvertimeEnd);
                int    timeHourInt = Int32.Parse(timeHour);
                if (dateType == "0")//工作日
                {
                    if (timeHourInt >= 19)
                    {
                        overTimeModel = OverTimeRules(1, list, i);
                    }
                    if (timeHourInt < 7)
                    {
                        overTimeModel = OverTimeRules(2, list, i);
                    }
                }
                else//周末,假日
                {
                    if (timeHourInt < 7)
                    {
                        if (tools.getDateType(tools.getDateBefore(list[i].OvertimeEnd)) == "0")
                        {//特殊情况 获取当前的日期是周末,但是出于7点之前,为周五加班
                            overTimeModel = OverTimeRules(2, list, i);
                        }
                        else
                        {
                            if (tools.getCompareDate(tools.getDateBefore(list[i].OvertimeEnd).Split(' ')[0], list[i - 1].OvertimeEnd.Split(' ')[0]) == 1)
                            {
                                overTimeModel = OverTimeRules(5, list, i);
                            }
                        }
                    }
                    if (timeHourInt >= 8 && timeHourInt <= 9)
                    {
                        if (tools.getCompareDate(list[i].OvertimeEnd, list[i + 1].OvertimeEnd) == 1)
                        {
                            overTimeModel = OverTimeRules(3, list, i);
                        }
                    }
                    if (timeHourInt > 9)
                    {
                        if (tools.getCompareDate(list[i].OvertimeEnd, list[i + 1].OvertimeEnd) == 1)
                        {
                            overTimeModel = OverTimeRules(4, list, i);
                        }
                    }
                    if (dateType == "1")
                    {
                        overTimeModel.OvertimeType = "周末加班";
                    }
                    if (dateType == "2")
                    {
                        overTimeModel.OvertimeType = "节假日加班";
                    }
                }
                if (overTimeModel.Name != null)
                {
                    overTimeList.Add(overTimeModel);
                }
            }
            return(overTimeList);
        }
コード例 #4
0
        /// <summary>
        /// 通过判断,进行相对应查询
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        public List<OverTimeModel> GetOverTimeInfo(List<OverTimeModel> list)
        {
            List<OverTimeModel> overTimeList = new List<OverTimeModel>();
            OverTimeModel overTimeModel;

            for (int i = 0; i < list.Count; i++)
            {
                overTimeModel = new OverTimeModel();
                string dateType = tools.getDateType(list[i].OvertimeEnd);
                string timeHour = tools.getTimeHour(list[i].OvertimeEnd);
                int timeHourInt = Int32.Parse(timeHour);
                if (dateType == "0")//工作日
                {
                    if (timeHourInt >= 19)
                    {
                        overTimeModel = OverTimeRules(1, list, i);
                    }
                    if (timeHourInt < 7)
                    {
                        overTimeModel = OverTimeRules(2, list, i);
                    }
                }
                else//周末,假日
                {
                    if (timeHourInt < 7)
                    {
                        if (tools.getDateType(tools.getDateBefore(list[i].OvertimeEnd)) == "0")
                        {//特殊情况 获取当前的日期是周末,但是出于7点之前,为周五加班
                            overTimeModel = OverTimeRules(2, list, i);
                        }
                        else
                        {
                            if (tools.getCompareDate(tools.getDateBefore(list[i].OvertimeEnd).Split(' ')[0], list[i - 1].OvertimeEnd.Split(' ')[0]) == 1)
                                overTimeModel = OverTimeRules(5, list, i);
                        }
                    }
                    if (timeHourInt >= 8 && timeHourInt <= 9)
                    {
                        if (tools.getCompareDate(list[i].OvertimeEnd, list[i + 1].OvertimeEnd) == 1)
                            overTimeModel = OverTimeRules(3, list, i);
                    }
                    if (timeHourInt > 9)
                    {
                        if (tools.getCompareDate(list[i].OvertimeEnd, list[i + 1].OvertimeEnd) == 1)
                            overTimeModel = OverTimeRules(4, list, i);
                    }
                    if (dateType == "1")
                        overTimeModel.OvertimeType = "周末加班";
                    if (dateType == "2")
                        overTimeModel.OvertimeType = "节假日加班";
                }
                if (overTimeModel.Name != null)
                {
                    overTimeList.Add(overTimeModel);
                }

            }
            return overTimeList;
        }