⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucviewgroupweekly.ascx.cs

📁 简单项目管理系统源码 该源码为某公司的项目管理系统Demo版
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using projmanager;

public partial class userControl_ucViewGroupWeekly : System.Web.UI.UserControl
{
    private static string bindstatus = "thisweek";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string employeeid = Session["LoginEmployeeID"].ToString();
            string departmentid = Session["DepartmentID"].ToString();
            int groupid = Utilities.GetEmpGroupIDByGroupLeaderID(employeeid,departmentid);
            if (groupid == -1)
            {
                Response.Redirect("login.aspx");
                return;
            }
            bindThisWeek();
            bindDDL();
        }
    }
    private void bindDDL()
    {
        string sql = "select projectname,projectid from project where departmentid=" + Session["DepartmentID"].ToString();
        Utilities.BindingDropDownList(ddlProj, DataAccess.ExecuteDataTable(sql), "projectname", "projectid");
        ddlProj.Items.Insert(0, new ListItem("请选择项目", "-1"));
    }

    private void bindData()
    {
        switch (bindstatus)
        {
            case "thisweek": bindThisWeek(); break;
            case "priorweek": bindPriorWeek(); break;
            case "search": bindSearch(); break;
            case "all": bindAll(); break;
        }

    }

    private void bindThisWeek()
    {
        string departmentid = Session["DepartmentID"].ToString();
        //最初显示本周周报
        int week = (int)DateTime.Now.DayOfWeek;
        int addeddays = 1 - week;

        DateTime dt = DateTime.Now.AddDays(addeddays);

        DateTime startDate = new DateTime(dt.Year, dt.Month, dt.Day);
        string employeeid = Session["LoginEmployeeID"].ToString();
        
        string groupid = Utilities.GetEmpGroupIDByGroupLeaderID(employeeid,departmentid).ToString();
        string sql = "select *" +
            ",isnull((select employeename from employee e where e.employeeid=w.employeeid),null)as employeename" +
                     ",isnull((select employeename from employee e where e.employeeid=(select projectmanagerid from project p where p.projectid=w.projectid)),null)as projectmanagername" +
                     ",isnull((select e.employeename  from employee e  where e.employeeid=(select groupleaderid from [group] g where g.groupid =(select groupid from employee_group eg where eg.employeeid=w.employeeid))),null)as groupleadername" +
                     ",isnull((select g.groupname from [group] g where g.groupid=(select groupid from employee_group eg where eg.employeeid=w.employeeid)),null)as groupname" +
                     ",isnull((select projectname from project p where p.projectid=w.projectid),null)as projectname" +
                     " from weekly w" +
                     " where  (submitdate between '" + startDate + "' and  '" + DateTime.Now.ToString() + "')" +
                     " and (w.employeeid in(select employeeid from employee_group eg where eg.groupid=" + groupid + "))";
        Utilities.BindingDataGridView(this.GridView1, DataAccess.ExecuteDataTable(sql), new string[] { "weeklyid" });

    }

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        this.GridView1.EditIndex = -1;
       
        string weeklyid = this.GridView1.DataKeys[e.RowIndex].Value.ToString();
        string remark_groupleader = ((TextBox)this.GridView1.Rows[e.RowIndex].FindControl("tbRemark_GroupLeader")).Text;
        string score_groupleader = ((TextBox)this.GridView1.Rows[e.RowIndex].FindControl("tbScore_GroupLeader")).Text;

        

        string sql = "update weekly set " +
                     " costtime_effect=costtime_effect*" + score_groupleader +
                     ",score_groupleader='" + score_groupleader + "'" +
                     ",remark_groupleader='" + remark_groupleader + "'" +
                     ",remarkdate_groupleader='" + DateTime.Now.ToString() + "'" + 
                     " where weeklyid=" + weeklyid;

        if (DataAccess.ExecuteNonQuery(sql) == 1)
        {
            this.lbMsg.Text = "项目更新成功";
            bindData();
        }
        else
        {
            this.lbMsg.Text = "项目失败成功";
        }
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        DateTime priorweek1;
        DateTime p1 = DateTime.Now;

        //检查时间,若不是上周或本周,则不可以修改。
        int week = (int)DateTime.Now.DayOfWeek;
        string employeeid = Session["LoginEmployeeID"].ToString();
        priorweek1 = DateTime.Now.AddDays(-6 - week);
        p1 = new DateTime(priorweek1.Year, priorweek1.Month, priorweek1.Day);
        string weeklyid = this.GridView1.DataKeys[e.NewEditIndex].Value.ToString();
        string sql1 = "select weeklyid from weekly where (weeklyid=" + weeklyid +
                      ") and (submitdate between'" + p1.ToString() + "' and '" + DateTime.Now.ToString() +
                      "')";

        //没有找到上面的记录,则不是本周或上周的
        if (DataAccess.ExecuteScalar(sql1)==null)
        {
            this.lbMsg.Text = "你只能修改本周和上周的周报";
            this.GridView1.EditIndex = -1;
            return;
        }


        this.GridView1.EditIndex = e.NewEditIndex;
        bindData();

        TextBox tb = (TextBox)this.GridView1.Rows[e.NewEditIndex].FindControl("tbScore_GroupLeader");
        if (tb.Text == "")
        {
            tb.Text = "1";
        }
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        this.GridView1.EditIndex = -1;
        bindData();
    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        this.GridView1.PageIndex = e.NewPageIndex;
        bindData();
    }
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {

    }
    protected void btnViewPriorWeek_Click(object sender, EventArgs e)
    {
        bindstatus = "priorweek";
        bindPriorWeek();
    }

    private void bindPriorWeek()
    {
        //最初显示上周周报
        int week = (int)DateTime.Now.DayOfWeek;

        DateTime dt1 = DateTime.Now.AddDays(-week - 6);
        DateTime dt2 = DateTime.Now.AddDays(-week - 1);
        string employeeid = Session["LoginEmployeeID"].ToString();
        DateTime startDate = new DateTime(dt1.Year, dt1.Month, dt1.Day);
        DateTime endDate = new DateTime(dt2.Year, dt2.Month, dt2.Day);
        string departmentid = Session["DepartmentID"].ToString();
        string groupid = Utilities.GetEmpGroupIDByGroupLeaderID(employeeid, departmentid).ToString();
        string sql = "select *" +
            ",isnull((select employeename from employee e where e.employeeid=w.employeeid),null)as employeename" +
                      ",isnull((select employeename from employee e where e.employeeid=(select projectmanagerid from project p where p.projectid=w.projectid)),null)as projectmanagername" +
                      ",isnull((select e.employeename  from employee e  where e.employeeid=(select groupleaderid from [group] g where g.groupid =(select groupid from employee_group eg where eg.employeeid=w.employeeid))),null)as groupleadername" +
                      ",isnull((select g.groupname from [group] g where g.groupid=(select groupid from employee_group eg where eg.employeeid=w.employeeid)),null)as groupname" +
                      ",isnull((select projectname from project p where p.projectid=w.projectid),null)as projectname" +
                      " from weekly w" +
                      " where(submitdate between '" + startDate.ToString() + "' and  '" + endDate.ToString() + "')" +
                      " and (w.employeeid in(select employeeid from employee_group eg where eg.groupid=" + groupid + "))";
        Utilities.BindingDataGridView(this.GridView1, DataAccess.ExecuteDataTable(sql), new string[] { "weeklyid" });
    }
    protected void btnViewAll_Click(object sender, EventArgs e)
    {
        bindstatus = "all";
        bindAll();
    }

    private void bindAll()
    {
        string departmentid = Session["DepartmentID"].ToString();
        string employeeid = Session["LoginEmployeeID"].ToString();

        string groupid = Utilities.GetEmpGroupIDByGroupLeaderID(employeeid, departmentid).ToString();
        
        string sql = "select *" +
            ",isnull((select employeename from employee e where e.employeeid=w.employeeid),null)as employeename" +
                     ",isnull((select employeename from employee e where e.employeeid=(select projectmanagerid from project p where p.projectid=w.projectid)),null)as projectmanagername" +
                     ",isnull((select e.employeename  from employee e  where e.employeeid=(select groupleaderid from [group] g where g.groupid =(select groupid from employee_group eg where eg.employeeid=w.employeeid))),null)as groupleadername" +
                     ",isnull((select g.groupname from [group] g where g.groupid=(select groupid from employee_group eg where eg.employeeid=w.employeeid)),null)as groupname" +
                     ",isnull((select projectname from project p where p.projectid=w.projectid),null)as projectname" +
                     " from weekly w" +
                     " where (w.employeeid in(select employeeid from employee_group eg where eg.groupid=" + groupid + "))";

        Utilities.BindingDataGridView(this.GridView1, DataAccess.ExecuteDataTable(sql), new string[] { "weeklyid" });
    }
    protected void btnViewThisWeek_Click(object sender, EventArgs e)
    {
        bindstatus = "priorweek";
        bindThisWeek();
    }
    protected void btnSearch_Click(object sender, EventArgs e)
    {
        bindstatus = "search";
        bindSearch();

    }

    private void bindSearch()
    {
        string projectid = ddlProj.SelectedValue;
        DateTime startDate = new DateTime(1900, 1, 1);
        DateTime endDate = new DateTime(1900, 1, 1);
        int week = (int)DateTime.Now.DayOfWeek;
        string sql = "";
        string employeeid = Session["LoginEmployeeID"].ToString();
        string departmentid = Session["DepartmentID"].ToString();

        string groupid = Utilities.GetEmpGroupIDByGroupLeaderID(employeeid, departmentid).ToString();
        if (this.rrblWeek.SelectedValue == "-1")//上周
        {
            DateTime dt1 = DateTime.Now.AddDays(-week - 6);
            DateTime dt2 = DateTime.Now.AddDays(-week - 1);
            startDate = new DateTime(dt1.Year, dt1.Month, dt1.Day);
            endDate = new DateTime(dt2.Year, dt2.Month, dt2.Day);

            sql = "select *" +
                ",isnull((select employeename from employee e where e.employeeid=w.employeeid),null)as employeename" +
                      ",isnull((select employeename from employee e where e.employeeid=(select projectmanagerid from project p where p.projectid=w.projectid)),null)as projectmanagername" +
                      ",isnull((select e.employeename  from employee e  where e.employeeid=(select groupleaderid from [group] g where g.groupid =(select groupid from employee_group eg where eg.employeeid=w.employeeid))),null)as groupleadername" +
                      ",isnull((select g.groupname from [group] g where g.groupid=(select groupid from employee_group eg where eg.employeeid=w.employeeid)),null)as groupname" +
                      ",isnull((select projectname from project p where p.projectid=w.projectid),null)as projectname" +
                      " from weekly w" +
                      " where(submitdate between '" + startDate.ToString() + "' and  '" + endDate.ToString() + "')" +
                      " and (w.employeeid in(select employeeid from employee_group eg where eg.groupid=" + groupid + "))";
        }
        else if (this.rrblWeek.SelectedValue == "0")
        {
            //显示本周周报

            int addeddays = 1 - week;
            DateTime dt = DateTime.Now.AddDays(addeddays);
            startDate = new DateTime(dt.Year, dt.Month, dt.Day);
            endDate = DateTime.Now;
            sql = "select *" +
                ",isnull((select employeename from employee e where e.employeeid=w.employeeid),null)as employeename" +
                      ",isnull((select employeename from employee e where e.employeeid=(select projectmanagerid from project p where p.projectid=w.projectid)),null)as projectmanagername" +
                      ",isnull((select e.employeename  from employee e  where e.employeeid=(select groupleaderid from [group] g where g.groupid =(select groupid from employee_group eg where eg.employeeid=w.employeeid))),null)as groupleadername" +
                      ",isnull((select g.groupname from [group] g where g.groupid=(select groupid from employee_group eg where eg.employeeid=w.employeeid)),null)as groupname" +
                      ",isnull((select projectname from project p where p.projectid=w.projectid),null)as projectname" +
                      " from weekly w" +
                      " where(submitdate between '" + startDate.ToString() + "' and  '" + endDate.ToString() + "')" +
                      " and (w.employeeid in(select employeeid from employee_group eg where eg.groupid=" + groupid + "))";
        }
        else//show all
        {
            sql = "select *" +
                ",isnull((select employeename from employee e where e.employeeid=w.employeeid),null)as employeename" +
                     ",isnull((select employeename from employee e where e.employeeid=(select projectmanagerid from project p where p.projectid=w.projectid)),null)as projectmanagername" +
                     ",isnull((select e.employeename  from employee e  where e.employeeid=(select groupleaderid from [group] g where g.groupid =(select groupid from employee_group eg where eg.employeeid=w.employeeid))),null)as groupleadername" +
                     ",isnull((select g.groupname from [group] g where g.groupid=(select groupid from employee_group eg where eg.employeeid=w.employeeid)),null)as groupname" +
                     ",isnull((select projectname from project p where p.projectid=w.projectid),null)as projectname" +
                     " from weekly w" +
                     " where (w.employeeid in(select employeeid from employee_group eg where eg.groupid=" + groupid + "))";

        }
        if (projectid != "-1")//查看组的
        {
            sql += " and (w.projectid =" + projectid + ")";
        }

        Utilities.BindingDataGridView(this.GridView1, DataAccess.ExecuteDataTable(sql), new string[] { "weeklyid" });
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -