如何创建每周时间表 [英] How to create weekly timesheet

查看:145
本文介绍了如何创建每周时间表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,对于人力资源项目,我正在研究基于Web的时间表.我能够创建每日工时表(

hi all, for hrm project i''m working on web based timesheet. I''m able to create daily basis timesheet(

employeeid, projectid, hours, totaltime(entry date + hours ), weeknumber

),还可以显示每周时间表(按选择的星期进行过滤),其功能包括:按行可编辑,分组.

现在,我的客户要求是按周为基础(而不是每天)填写时间表.与exel时间表相同.像(数据透视表)一样为差异项目添加新行

), and also able to show weekly timesheet(filtered by select week) with features: editable row wise, grouping.

Now my client requirement is to fill timesheet on week bases(not daily). Same as the exel timesheets. add new row for diffeernt project just like(pivot table)

Project Name | Monday | Tuesday |... | Sunday 
Sample1          6         2
Sample2          2         8
...             ...       ...


小时数受限于文本框.

在此先感谢

P.S.抱歉,语法错误.


Hours are bounded to textbox.

Thanks in advance

P.S. sorry for grammer mistakes.

推荐答案

嘿,我正在同一个...我也实现了它.
Hey i m working on same...i also implemented it .i m giving u my code accrding u change ur query n also code..
 public void calculateWeek()
    {
        try
        {
            DateTime date = Convert.ToDateTime(txtenddate2.Text);
            DateTime startDate = date;
            DateTime lastdate = DateTime.Now;
            DateTime endDate = startDate.AddMonths(1).AddDays(-1);
            int i = 0;
            for (DateTime result = startDate; result <= endDate; result = lastdate.AddDays(1))
            {
                if (result.Day != 31)
                {
                    weeks[i, 0] = result.ToString();
                    if (result.AddDays(14) >= endDate)
                    {
                        weeks[i, 1] = endDate.ToString();
                        lastdate = result.AddDays(14);
                    }
                    else
                    {
                        weeks[i, 1] = result.AddDays(14).ToString();
                        lastdate = result.AddDays(14);
                    }
                }
                else
                {
                    weeks[i - 1, 1] = result.ToString();
                    lastdate = result.AddDays(14);
                }
                i++;

            }

            if (weeks.Length > 0)
            {
                Session["frt_1"] = Convert.ToDateTime(weeks[0, 0].ToString());
                Session["frt_2"] = Convert.ToDateTime(weeks[0, 1].ToString());
                Session["frt_3"] = Convert.ToDateTime(weeks[1, 0].ToString());
                Session["frt_4"] = Convert.ToDateTime(weeks[1, 1].ToString());
            }

        }
        catch (Exception ex)
        {

        }
    }
//Response.Redirect("~/report1.aspx?dt=" + date + "&job=" + DropJob.SelectedValue + "&comp=" + ViewState["compid"].ToString() + "&pagename=WeekwiseJob");
                string str = "select s.StaffName,isnull(t.HourlyCharges,0) as HourlyCharges,isnull(sum(convert(float,TotalTime)),0)as TotalTime, " +
                " isnull((isnull(sum(convert(float,TotalTime)),0)* t.HourlyCharges),0)as Charges,isnull(sum(OpeAmt),0)as OpeAmt,dbo.TotalTime(isnull(sum(convert(float,TotalTime)),0)) as mints,convert(varchar(50),dbo.TotalTime(isnull(sum(convert(float,TotalTime)),0))/60) + '.' + convert(varchar(50),dbo.TotalTime(isnull(sum(convert(float,TotalTime)),0))%60) as timet " +
                " from   dbo.Staff_Master as s right join dbo.Job_Staff_Table as j on s.StaffCode=j.StaffCode " +
                " left join  dbo.TimeSheet_Table as t on  t.JobId=j.JobId and t.StaffCode=j.StaffCode  and  t.Date>='" + Convert.ToDateTime(weeks[0, 0].ToString()) + "' " +
                " and t.Date <='" + Convert.ToDateTime(weeks[1, 1].ToString()) + "' where  j.JobId='" + DropJob.SelectedValue + "' and t.CLTId='" + DropClient.SelectedValue + "' group by s.StaffName,t.HourlyCharges";
                DataTable dt = db.GetDataTable(str);


感谢回复...
计算周数不是问题...我可以根据参数
thanks for reply...
Calculating week isn''t a problem... I''m able to fetch data according to week by parameter
@WeekStartDate and @WeekEndDate or @Weeknumber

..

select * from (select e.AccountProjectId, dbo.GetWeekDayNameOfDate(e.totaltime) as weekd, e.Hours from AccountEmployeeTimeEntry e where CONVERT(date, StartTime)= @start and CONVERT(date, EndTime)=@end and AccountEmployeeId =@AccountEmployeeId) P pivot (
dbo.sumFunction(hours) for weekd in([Monday], [Tuesday], [Wednesday], [thursday], [Friday], [Saturday], [Sunday] ) ) as pvt 



我想以每周格式(而不是每日格式)进行插入和更新...请提供有关以周格式插入n更新的信息



i want to insert and update in weekly format(not in daily format) ... please provide info regarding insert n update in week format


这篇关于如何创建每周时间表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆