/// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(Hownet.Model.AttendanceRecords model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into AttendanceRecords(");
            strSql.Append("EmployeeID,DateDay,TimeOne,TimeTwo,TimeThree,TimeFour,TimeFive,TimeSix,BeLateMin,LeaveEarlyMin,DayWorkMin,IsSum,AbsenteeismMin,OvertimeMin,IsWuLianBan,IsWanLianBan,IsTongXiao,LateAtNight)");
            strSql.Append(" values (");
            strSql.Append("@EmployeeID,@DateDay,@TimeOne,@TimeTwo,@TimeThree,@TimeFour,@TimeFive,@TimeSix,@BeLateMin,@LeaveEarlyMin,@DayWorkMin,@IsSum,@AbsenteeismMin,@OvertimeMin,@IsWuLianBan,@IsWanLianBan,@IsTongXiao,@LateAtNight)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@EmployeeID",     SqlDbType.Int,       4),
                new SqlParameter("@DateDay",        SqlDbType.DateTime),
                new SqlParameter("@TimeOne",        SqlDbType.DateTime),
                new SqlParameter("@TimeTwo",        SqlDbType.DateTime),
                new SqlParameter("@TimeThree",      SqlDbType.DateTime),
                new SqlParameter("@TimeFour",       SqlDbType.DateTime),
                new SqlParameter("@TimeFive",       SqlDbType.DateTime),
                new SqlParameter("@TimeSix",        SqlDbType.DateTime),
                new SqlParameter("@BeLateMin",      SqlDbType.Int,       4),
                new SqlParameter("@LeaveEarlyMin",  SqlDbType.Int,       4),
                new SqlParameter("@DayWorkMin",     SqlDbType.Int,       4),
                new SqlParameter("@IsSum",          SqlDbType.Bit,       1),
                new SqlParameter("@AbsenteeismMin", SqlDbType.Int,       4),
                new SqlParameter("@OvertimeMin",    SqlDbType.Int,       4),
                new SqlParameter("@IsWuLianBan",    SqlDbType.Bit,       1),
                new SqlParameter("@IsWanLianBan",   SqlDbType.Bit,       1),
                new SqlParameter("@IsTongXiao",     SqlDbType.Bit,       1),
                new SqlParameter("@LateAtNight",    SqlDbType.Int, 4)
            };
            parameters[0].Value  = model.EmployeeID;
            parameters[1].Value  = model.DateDay;
            parameters[2].Value  = model.TimeOne;
            parameters[3].Value  = model.TimeTwo;
            parameters[4].Value  = model.TimeThree;
            parameters[5].Value  = model.TimeFour;
            parameters[6].Value  = model.TimeFive;
            parameters[7].Value  = model.TimeSix;
            parameters[8].Value  = model.BeLateMin;
            parameters[9].Value  = model.LeaveEarlyMin;
            parameters[10].Value = model.DayWorkMin;
            parameters[11].Value = model.IsSum;
            parameters[12].Value = model.AbsenteeismMin;
            parameters[13].Value = model.OvertimeMin;
            parameters[14].Value = model.IsWuLianBan;
            parameters[15].Value = model.IsWanLianBan;
            parameters[16].Value = model.IsTongXiao;
            parameters[17].Value = model.LateAtNight;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(1);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
Example #2
0
        private void CaicMinute(int ID)
        {
            try
            {
                modAR = bllAR.GetModel(ID);

                int a = 0;
                modAR.DayWorkMin = modAR.AbsenteeismMin = modAR.BeLateMin = modAR.OvertimeMin = modAR.LeaveEarlyMin = modAR.LateAtNight = 0;
                Hownet.BLL.OtherType bllOT = new Hownet.BLL.OtherType();
                bool IsCaic = Convert.ToInt32(bllOT.GetList("(Name='按实际刷卡计时')").Tables[0].Rows[0]["Value"]) == 1;
                if (IsCaic)
                {
                    if (modAR.TimeOne.HasValue && modAR.TimeTwo.HasValue)
                    {
                        TimeSpan ts = (TimeSpan)(modAR.TimeTwo - modAR.TimeOne);
                        a = ts.Hours * 60 + ts.Minutes;
                        if (a > 0)
                        {
                            modAR.DayWorkMin += a;
                        }
                    }
                    if (modAR.TimeThree.HasValue && modAR.TimeFour.HasValue)
                    {
                        TimeSpan ts = (TimeSpan)(modAR.TimeFour - modAR.TimeThree);
                        a = ts.Hours * 60 + ts.Minutes;
                        if (a > 0)
                        {
                            modAR.DayWorkMin += a;
                        }
                    }
                    if (modAR.TimeFive.HasValue && modAR.TimeSix.HasValue)
                    {
                        DateTime ddN = Convert.ToDateTime(modAR.DateDay.Date.ToShortDateString() + " " + BasicTable.dtAttRules.Select("(Name='lThree')")[0]["Value"]); //晚上加班下班时间,用于判断晚班有深夜班时间
                        if (!(ddN < (DateTime)(modAR.TimeSix)))                                                                                                        //晚上下班提前或正常下班的。
                        {
                            TimeSpan ts = (TimeSpan)(modAR.TimeSix - modAR.TimeFive);
                            a = ts.Hours * 60 + ts.Minutes;
                            if (a > 0)
                            {
                                modAR.OvertimeMin = a;
                            }
                        }
                        else//超过夜班下班时间的。
                        {
                            TimeSpan ts = (TimeSpan)(ddN - modAR.TimeFive);
                            a = ts.Hours * 60 + ts.Minutes;
                            if (a > 0)
                            {
                                modAR.OvertimeMin = a;
                            }
                            ts = (TimeSpan)(modAR.TimeSix - ddN);
                            a  = ts.Hours * 60 + ts.Minutes;
                            if (a > 0)
                            {
                                modAR.LateAtNight = a;
                            }
                        }
                    }
                }
                else
                {
                    DateTime ddt    = modAR.DateDay;
                    DateTime one    = Convert.ToDateTime(ddt.Date.ToShortDateString() + " " + BasicTable.dtAttRules.Select("(Name='One')")[0]["Value"].ToString());
                    DateTime lone   = Convert.ToDateTime(ddt.Date.ToShortDateString() + " " + BasicTable.dtAttRules.Select("(Name='lOne')")[0]["Value"].ToString());
                    DateTime two    = Convert.ToDateTime(ddt.Date.ToShortDateString() + " " + BasicTable.dtAttRules.Select("(Name='Two')")[0]["Value"].ToString());
                    DateTime ltwo   = Convert.ToDateTime(ddt.Date.ToShortDateString() + " " + BasicTable.dtAttRules.Select("(Name='lTwo')")[0]["Value"].ToString());
                    DateTime three  = Convert.ToDateTime(ddt.Date.ToShortDateString() + " " + BasicTable.dtAttRules.Select("(Name='Three')")[0]["Value"].ToString());
                    DateTime lthree = Convert.ToDateTime(ddt.Date.ToShortDateString() + " " + BasicTable.dtAttRules.Select("(Name='lThree')")[0]["Value"].ToString());
                    if (modAR.TimeOne.HasValue && modAR.TimeTwo.HasValue)
                    {
                        if (modAR.TimeTwo < lone)
                        {
                            lone = Convert.ToDateTime(modAR.TimeTwo);
                        }
                        if (modAR.TimeOne > one)
                        {
                            one = Convert.ToDateTime(modAR.TimeOne);
                        }
                        TimeSpan ts = (TimeSpan)(lone - one);
                        a = ts.Hours * 60 + ts.Minutes;
                        if (a > 0)
                        {
                            modAR.DayWorkMin += a;
                        }
                    }
                    if (modAR.TimeThree.HasValue && modAR.TimeFour.HasValue)
                    {
                        if (modAR.TimeFour < ltwo)
                        {
                            ltwo = Convert.ToDateTime(modAR.TimeFour);
                        }
                        if (modAR.TimeThree > two)
                        {
                            two = Convert.ToDateTime(modAR.TimeThree);
                        }
                        TimeSpan ts = (TimeSpan)(ltwo - two);
                        a = ts.Hours * 60 + ts.Minutes;
                        if (a > 0)
                        {
                            modAR.DayWorkMin += a;
                        }
                    }
                    if (modAR.TimeFive.HasValue && modAR.TimeSix.HasValue)
                    {
                        if (!(lthree < (DateTime)(modAR.TimeSix))) //晚上下班提前或正常下班的。
                        {
                            if (modAR.TimeFive > three)
                            {
                                three = Convert.ToDateTime(modAR.TimeFive);
                            }
                            TimeSpan ts = (TimeSpan)(modAR.TimeSix - three);
                            a = ts.Hours * 60 + ts.Minutes;
                            if (a > 0)
                            {
                                modAR.OvertimeMin = a;
                            }
                        }
                        else//超过夜班下班时间的。
                        {
                            if (modAR.TimeFive > three)
                            {
                                three = Convert.ToDateTime(modAR.TimeFive);
                            }
                            TimeSpan ts = (TimeSpan)(lthree - three);
                            a = ts.Hours * 60 + ts.Minutes;
                            if (a > 0)
                            {
                                modAR.OvertimeMin = a;
                            }
                            ts = (TimeSpan)(modAR.TimeSix - lthree);
                            a  = ts.Hours * 60 + ts.Minutes;
                            if (a > 0)
                            {
                                modAR.LateAtNight = a;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
            bllAR.Update(modAR);
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Hownet.Model.AttendanceRecords GetModel(int ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  top 1 ID,EmployeeID,DateDay,TimeOne,TimeTwo,TimeThree,TimeFour,TimeFive,TimeSix,BeLateMin,LeaveEarlyMin,DayWorkMin,IsSum,AbsenteeismMin,OvertimeMin,IsWuLianBan,IsWanLianBan,IsTongXiao,LateAtNight from AttendanceRecords ");
            strSql.Append(" where ID=@ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID", SqlDbType.Int, 4)
            };
            parameters[0].Value = ID;

            Hownet.Model.AttendanceRecords model = new Hownet.Model.AttendanceRecords();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                if (ds.Tables[0].Rows[0]["ID"].ToString() != "")
                {
                    model.ID = int.Parse(ds.Tables[0].Rows[0]["ID"].ToString());
                }
                if (ds.Tables[0].Rows[0]["EmployeeID"].ToString() != "")
                {
                    model.EmployeeID = int.Parse(ds.Tables[0].Rows[0]["EmployeeID"].ToString());
                }
                if (ds.Tables[0].Rows[0]["DateDay"].ToString() != "")
                {
                    model.DateDay = DateTime.Parse(ds.Tables[0].Rows[0]["DateDay"].ToString());
                }
                if (ds.Tables[0].Rows[0]["TimeOne"].ToString() != "")
                {
                    model.TimeOne = DateTime.Parse(ds.Tables[0].Rows[0]["TimeOne"].ToString());
                }
                if (ds.Tables[0].Rows[0]["TimeTwo"].ToString() != "")
                {
                    model.TimeTwo = DateTime.Parse(ds.Tables[0].Rows[0]["TimeTwo"].ToString());
                }
                if (ds.Tables[0].Rows[0]["TimeThree"].ToString() != "")
                {
                    model.TimeThree = DateTime.Parse(ds.Tables[0].Rows[0]["TimeThree"].ToString());
                }
                if (ds.Tables[0].Rows[0]["TimeFour"].ToString() != "")
                {
                    model.TimeFour = DateTime.Parse(ds.Tables[0].Rows[0]["TimeFour"].ToString());
                }
                if (ds.Tables[0].Rows[0]["TimeFive"].ToString() != "")
                {
                    model.TimeFive = DateTime.Parse(ds.Tables[0].Rows[0]["TimeFive"].ToString());
                }
                if (ds.Tables[0].Rows[0]["TimeSix"].ToString() != "")
                {
                    model.TimeSix = DateTime.Parse(ds.Tables[0].Rows[0]["TimeSix"].ToString());
                }
                if (ds.Tables[0].Rows[0]["BeLateMin"].ToString() != "")
                {
                    model.BeLateMin = int.Parse(ds.Tables[0].Rows[0]["BeLateMin"].ToString());
                }
                if (ds.Tables[0].Rows[0]["LeaveEarlyMin"].ToString() != "")
                {
                    model.LeaveEarlyMin = int.Parse(ds.Tables[0].Rows[0]["LeaveEarlyMin"].ToString());
                }
                if (ds.Tables[0].Rows[0]["DayWorkMin"].ToString() != "")
                {
                    model.DayWorkMin = int.Parse(ds.Tables[0].Rows[0]["DayWorkMin"].ToString());
                }
                if (ds.Tables[0].Rows[0]["IsSum"].ToString() != "")
                {
                    if ((ds.Tables[0].Rows[0]["IsSum"].ToString() == "1") || (ds.Tables[0].Rows[0]["IsSum"].ToString().ToLower() == "true"))
                    {
                        model.IsSum = true;
                    }
                    else
                    {
                        model.IsSum = false;
                    }
                }
                if (ds.Tables[0].Rows[0]["AbsenteeismMin"].ToString() != "")
                {
                    model.AbsenteeismMin = int.Parse(ds.Tables[0].Rows[0]["AbsenteeismMin"].ToString());
                }
                if (ds.Tables[0].Rows[0]["OvertimeMin"].ToString() != "")
                {
                    model.OvertimeMin = int.Parse(ds.Tables[0].Rows[0]["OvertimeMin"].ToString());
                }
                if (ds.Tables[0].Rows[0]["IsWuLianBan"].ToString() != "")
                {
                    if ((ds.Tables[0].Rows[0]["IsWuLianBan"].ToString() == "1") || (ds.Tables[0].Rows[0]["IsWuLianBan"].ToString().ToLower() == "true"))
                    {
                        model.IsWuLianBan = true;
                    }
                    else
                    {
                        model.IsWuLianBan = false;
                    }
                }
                if (ds.Tables[0].Rows[0]["IsWanLianBan"].ToString() != "")
                {
                    if ((ds.Tables[0].Rows[0]["IsWanLianBan"].ToString() == "1") || (ds.Tables[0].Rows[0]["IsWanLianBan"].ToString().ToLower() == "true"))
                    {
                        model.IsWanLianBan = true;
                    }
                    else
                    {
                        model.IsWanLianBan = false;
                    }
                }
                if (ds.Tables[0].Rows[0]["IsTongXiao"].ToString() != "")
                {
                    if ((ds.Tables[0].Rows[0]["IsTongXiao"].ToString() == "1") || (ds.Tables[0].Rows[0]["IsTongXiao"].ToString().ToLower() == "true"))
                    {
                        model.IsTongXiao = true;
                    }
                    else
                    {
                        model.IsTongXiao = false;
                    }
                }
                if (ds.Tables[0].Rows[0]["LateAtNight"].ToString() != "")
                {
                    model.LateAtNight = int.Parse(ds.Tables[0].Rows[0]["LateAtNight"].ToString());
                }
                model.A = 1;
                return(model);
            }
            else
            {
                return(null);
            }
        }
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public void Update(Hownet.Model.AttendanceRecords model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update AttendanceRecords set ");
            strSql.Append("EmployeeID=@EmployeeID,");
            strSql.Append("DateDay=@DateDay,");
            strSql.Append("TimeOne=@TimeOne,");
            strSql.Append("TimeTwo=@TimeTwo,");
            strSql.Append("TimeThree=@TimeThree,");
            strSql.Append("TimeFour=@TimeFour,");
            strSql.Append("TimeFive=@TimeFive,");
            strSql.Append("TimeSix=@TimeSix,");
            strSql.Append("BeLateMin=@BeLateMin,");
            strSql.Append("LeaveEarlyMin=@LeaveEarlyMin,");
            strSql.Append("DayWorkMin=@DayWorkMin,");
            strSql.Append("IsSum=@IsSum,");
            strSql.Append("AbsenteeismMin=@AbsenteeismMin,");
            strSql.Append("OvertimeMin=@OvertimeMin,");
            strSql.Append("IsWuLianBan=@IsWuLianBan,");
            strSql.Append("IsWanLianBan=@IsWanLianBan,");
            strSql.Append("IsTongXiao=@IsTongXiao,");
            strSql.Append("LateAtNight=@LateAtNight");
            strSql.Append(" where ID=@ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID",             SqlDbType.Int,       4),
                new SqlParameter("@EmployeeID",     SqlDbType.Int,       4),
                new SqlParameter("@DateDay",        SqlDbType.DateTime),
                new SqlParameter("@TimeOne",        SqlDbType.DateTime),
                new SqlParameter("@TimeTwo",        SqlDbType.DateTime),
                new SqlParameter("@TimeThree",      SqlDbType.DateTime),
                new SqlParameter("@TimeFour",       SqlDbType.DateTime),
                new SqlParameter("@TimeFive",       SqlDbType.DateTime),
                new SqlParameter("@TimeSix",        SqlDbType.DateTime),
                new SqlParameter("@BeLateMin",      SqlDbType.Int,       4),
                new SqlParameter("@LeaveEarlyMin",  SqlDbType.Int,       4),
                new SqlParameter("@DayWorkMin",     SqlDbType.Int,       4),
                new SqlParameter("@IsSum",          SqlDbType.Bit,       1),
                new SqlParameter("@AbsenteeismMin", SqlDbType.Int,       4),
                new SqlParameter("@OvertimeMin",    SqlDbType.Int,       4),
                new SqlParameter("@IsWuLianBan",    SqlDbType.Bit,       1),
                new SqlParameter("@IsWanLianBan",   SqlDbType.Bit,       1),
                new SqlParameter("@IsTongXiao",     SqlDbType.Bit,       1),
                new SqlParameter("@LateAtNight",    SqlDbType.Int, 4)
            };
            parameters[0].Value  = model.ID;
            parameters[1].Value  = model.EmployeeID;
            parameters[2].Value  = model.DateDay;
            parameters[3].Value  = model.TimeOne;
            parameters[4].Value  = model.TimeTwo;
            parameters[5].Value  = model.TimeThree;
            parameters[6].Value  = model.TimeFour;
            parameters[7].Value  = model.TimeFive;
            parameters[8].Value  = model.TimeSix;
            parameters[9].Value  = model.BeLateMin;
            parameters[10].Value = model.LeaveEarlyMin;
            parameters[11].Value = model.DayWorkMin;
            parameters[12].Value = model.IsSum;
            parameters[13].Value = model.AbsenteeismMin;
            parameters[14].Value = model.OvertimeMin;
            parameters[15].Value = model.IsWuLianBan;
            parameters[16].Value = model.IsWanLianBan;
            parameters[17].Value = model.IsTongXiao;
            parameters[18].Value = model.LateAtNight;

            DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
        }