using System; using System.Collections; using System.Data; using System.IO; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using DeiNiu.wms.Logical; using DeiNiu.Utils; public partial class ProjectCenter : PageBase { private LProject _logic; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (lem == null) return ; _logic = new LProject(); initializeControles(); Databound(); } SessionSeting(); } /***************************************** private methods ******************************************/ /// /// bound the query list. /// private void Databound() { GridView1.DataSource = getProjects(); GridView1.DataBind(); UpdateSession(); // ProjectDataBind(); // ProjectDetailDataBind(); // btnSubmit.Enabled = false; ClearProjDetailData(); ClearProjData(); intializeProjectMasterDept(); } /// /// 根据条件取相应的项目信息 /// /// DataView getProjects() { if (TreeDeptEmp.Nodes.Count == 0) return new DataView(); DataView dv = _logic.GetProjectsByYearMonth( btnYear.Text, rdblstMonth.SelectedValue).DefaultView; string selectDept = string.Empty; string selectEmp = string.Empty; string inputProjectName = string.Empty; string rowFilter = string.Empty; if(rdlstAssignQry.SelectedValue=="0") //all assigned and unassigned { //设定员工和部门条件 if( TreeDeptEmp.SelectedNode != null) if(TreeDeptEmp.SelectedNode.Text.StartsWith(".")) //employee { rowFilter = "pj_master = " + TreeDeptEmp.SelectedValue; } else { rowFilter = "pj_dept =" + TreeDeptEmp.SelectedValue; } } else { if (rdlstAssignQry.SelectedValue == "1") //assigned rowFilter = "pj_status ='" + ProjectStatus.项目已分配 +"'"; else rowFilter = "pj_status ='" + ProjectStatus.项目未分配 +"'"; } //设定项目名称过滤 if(txtQryProjectName.Text.Trim().Length>0) { if(rowFilter.Length>0) { rowFilter += " and "; } rowFilter += " pj_name like '%" + txtQryProjectName.Text.Trim() + "%'"; } dv.RowFilter = rowFilter; return dv; } /// /// 通过判断当前用户的身份,确定返回不同的项目列表 /// /// void initializeControles() { btnYear.Text = DateTime.Today.Year.ToString(); rdblstMonth.SelectedItem.Selected = false; rdblstMonth.Items.FindByValue(DateTime.Today.Month.ToString()).Selected = true; drpdProjlisFromYear.Items.Clear(); drplstProjectToYear.Items.Clear(); for (int i = DateTime.Now.Year-10; i < DateTime.Now.Year + 10; i++) { ListItem li = new ListItem(i.ToString(),i.ToString()); drpdProjlisFromYear.Items.Add(li); drplstProjectToYear.Items.Add(li); } SetDropDownlistSelection(drplstProjectToYear, DateTime.Now.Year.ToString()); SetDropDownlistSelection(drpdProjlisFromYear, DateTime.Now.Year.ToString()); intializeProjectMasterDept(); bindDeptEmp(); validDeptEmp(); } void validDeptEmp() { if(lem.CanManageProjects) return; } void intializeProjectMasterDept() { txtProjMaster.Text = ""; drplstProjDept.Items.Clear(); if (TreeDeptEmp.SelectedValue == "0") return; if (TreeDeptEmp.SelectedNode != null) if (TreeDeptEmp.SelectedNode.Text.StartsWith(".")) //employee { LEmployee tmp = new LEmployee(); tmp.Initialize(Convert.ToInt32(TreeDeptEmp.SelectedValue)); drplstProjDept.DataSource = tmp.GetEmployee.GetDepartments(); drplstProjDept.DataTextField = "DEP_NAME"; drplstProjDept.DataValueField = "ID"; drplstProjDept.DataBind(); txtProjMaster.Text = TreeDeptEmp.SelectedNode.Text.Substring(1).Replace("","").Replace("",string.Empty); } else { string dept = TreeDeptEmp.SelectedNode.Text.Substring(4); dept = dept.Substring(0, dept.Length -5); drplstProjDept.Items.Add(new ListItem(dept,TreeDeptEmp.SelectedNode.Value)); } } /// /// 绑定部门及用户 /// private void bindDeptEmp() { TreeDeptEmp.Nodes.Clear(); if (lem.CanManageProjects) //拥有管理项目的角色则可以看到所有项目 BindEmpTree(TreeDeptEmp, "0", TreeDeptEmp.SelectedNode, lem.GetDepartments().DefaultView, lem.GetActivedEmpDept().DefaultView); else BindEmpTree(TreeDeptEmp, Util.buildWhereIntIn(lem.GetCanApproveDeptList()), TreeDeptEmp.SelectedNode, lem.GetDepartments().DefaultView, lem.GetActivedEmpDept().DefaultView); if (TreeDeptEmp.Nodes.Count >0) TreeDeptEmp.Nodes[0].Selected = true; } public void BindEmpTree(TreeView tree, string id, TreeNode pNode, DataView deptdv, DataView empdv) { if (lem.CanManageProjects) { deptdv.RowFilter = "dep_mastdept in (" + id + ")"; } else { if (id == string.Empty) return; deptdv.RowFilter = "dep_mastdept in (" + id + ")"; if (pNode == null) deptdv.RowFilter = "ID in (" + id + ")"; } foreach (DataRowView row in deptdv) { TreeNode node = new TreeNode(); node.Text = "" + row["dep_name"] + ""; node.Value = row["ID"].ToString(); node.ShowCheckBox = false; node.Expanded = false; empdv.RowFilter = "de_dept=" + node.Value; foreach (DataRowView emrow in empdv) { TreeNode tnEmp = new TreeNode("." + emrow["em_name"].ToString() +"" , emrow["ID"].ToString()); node.ChildNodes.Add(tnEmp); } if (pNode == null) //说明是根节点 { tree.Nodes.Add(node); } else { pNode.ChildNodes.Add(node); } BindEmpTree(tree, node.Value, node, new DataView(deptdv.Table), new DataView(empdv.Table)); } } private void SessionSeting() { if (IsPostBack) { // _logic = (LEmployee)Session[appScope.PagelevelObj]; _logic = (LProject)Session[appScope.PagelevelObj]; } } private void UpdateSession() { // Session[appScope.PagelevelObj] = _logic; Session[appScope.PagelevelObj] = _logic; } /// /// 绑定当前项目信息到页面的项目基本信息区 /// void ProjectDataBind() { ProjectDetail.Visible = true; btnSaveNewProj.Enabled = true; txtProjectName.Text = _logic.GetProject.pj_name; SetDropDownlistSelection(drpdProjlisFromYear, Convert.ToDateTime(_logic.GetProject.pj_planStartDate) .Year.ToString()); SetDropDownlistSelection(drplstProjFromMonth, Convert.ToDateTime(_logic.GetProject.pj_planStartDate).Month.ToString()); SetDropDownlistSelection(drplstProjectToYear, Convert.ToDateTime(_logic.GetProject.pj_planEndDate).Year.ToString()); SetDropDownlistSelection(drlstProjToMonth, Convert.ToDateTime(_logic.GetProject.pj_planEndDate).Month.ToString()); txtPrjDesc.Text = _logic.GetProject.pj_mem; txtProjProgress.Text = _logic.GetProject.pj_progress.ToString(); //项目进度 txtProjPercent.Text = _logic.GetProject.pj_percent.ToString(); //项目权重 SetDropDownlistSelection(drplstProjType, _logic.GetProject.pj_type); txtProjMem4delete.Visible = _logic.GetProject.pj_status == DeiNiu.Utils.ProjectStatus.新增未提交; lbprjmem4Delete.Visible = _logic.GetProject.pj_status == DeiNiu.Utils.ProjectStatus.新增未提交; txtProjMem4delete.Text = _logic.GetProject.pj_mem4del; // txtProjMaster.Text = lem.GetEmployee.em_name; txtProjPercent.Text = _logic.GetProject.pj_percent.ToString() ; SetDropDownlistSelection(drplstProjDept, _logic.GetProject.pj_dept.ToString() ); ApproveListBind(_logic.GetProject.ID); } void ApproveListBind(int id) { RepeaterApproveList.DataSource = _logic.PaObj.GetApproveListByTastkId(id); RepeaterApproveList.DataBind(); panelApprovelist.Visible = true; } /// /// 页面的项目基本信息区的信息回传给项目实例 /// /// void SetProjectDataBack() { //if (_logic.GetProject.ID > 0) //{ // _logic.GetProject.lastmodified = DateTime.Now.ToString(); //} // ProjectDetail.Visible = true; _logic.GetProject.pj_name = txtProjectName.Text; _logic.GetProject.pj_planStartDate = drpdProjlisFromYear.SelectedValue +"-" + drplstProjFromMonth.SelectedValue +"-01"; _logic.GetProject.pj_planEndDate = drplstProjectToYear.SelectedValue +"-" + drlstProjToMonth.SelectedValue +"-01"; _logic.GetProject.pj_master = lem.GetEmployee.ID; _logic.GetProject.pj_mem =txtPrjDesc.Text; // _logic.GetProject.pj_progress = Convert.ToInt32(txtProjProgress.Text) ; //项目进度 _logic.GetProject.pj_percent = Convert.ToInt32(txtProjPercent.Text) ; //项目权重 _logic.GetProject.pj_type = drplstProjType.SelectedValue; _logic.GetProject.pj_status = ProjectStatus.新增未提交; _logic.GetProject.pj_mem4del = txtProjMem4delete.Text; _logic.GetProject.pj_dept = Convert.ToInt32(drplstProjDept.SelectedValue); _logic.GetProject.pj_nextDept = _logic.GetProject.pj_dept; //如果项目负责人是本部门的主管,则提交上级部门 LDepartment dep = new LDepartment( _logic.GetProject.pj_dept); if (dep.GetDepartment.dep_manager == lem.GetEmployee.ID) { _logic.GetProject.pj_nextDept = dep.GetDepartment.dep_mastdept; if(dep.GetDepartment.dep_mastdept==0) //没有上级部门 { _logic.GetProject.pj_status = ProjectStatus.新增考核通过; } } _logic.GetProject.pj_percent = Convert.ToInt32(txtProjPercent.Text); lbuploadmessage.Text = ""; } /// /// set data from shift object to page /// private void ProjectDetailDataBind() { ProjectMonthDetail.Visible = true; btnSubmit.Visible = true; txtPdName.Text = _logic.GetProject.pj_name; txtPdStartDate.Text = _logic.GetProject.pj_planStartDate; txtPdEndDate.Text = _logic.GetProject.pj_planEndDate; txtPrjProgress.Text = _logic.GetProject.pj_progress.ToString(); txtPdActualEndDate.Text = _logic.GetProject.pj_finishDate; txtPdPlanTarget.Text = _logic.GetProjectDetail.pd_planTarget; txtPdFinishTarget.Text = _logic.GetProjectDetail.pd_finishedTarget; txtPdPercent.Text = _logic.GetProjectDetail.pd_percent.ToString(); txtPdMem.Text = _logic.GetProjectDetail.pd_mem; //bind the files GVFiles.DataSource = _logic.GetProjectDetail.GetFiles(); GVFiles.DataBind(); ApproveListBind(_logic.GetProjectDetail.ID); } /// /// set data from shift object to page /// private void ClearProjDetailData() { ProjectMonthDetail.Visible = false; btnSubmit.Visible = false; txtPdName.Text = ""; txtPdStartDate.Text = ""; txtPdEndDate.Text = ""; txtPrjProgress.Text = ""; txtPdActualEndDate.Text = ""; txtPdPlanTarget.Text =""; txtPdFinishTarget.Text = ""; txtPdPercent.Text = ""; txtPdMem.Text =""; //bind the files GVFiles.DataSource = _logic.GetProjectDetail.GetFiles(); GVFiles.DataBind(); panelApprovelist.Visible = false; } private void SetProjectDetailBack() { //if (_logic.GetProjectDetail.ID > 0) //{ // _logic.GetProjectDetail.lastmodified = DateTime.Now.ToString(); //} _logic.GetProject.pj_progress = Convert.ToInt32(txtPrjProgress.Text) ; _logic.GetProject.pj_finishDate =txtPdActualEndDate.Text ; _logic.GetProjectDetail.pd_planTarget =txtPdPlanTarget.Text ; _logic.GetProjectDetail.pd_finishedTarget = txtPdFinishTarget.Text ; _logic.GetProjectDetail.pd_percent =Convert.ToInt32(txtPdPercent.Text) ; _logic.GetProjectDetail.pd_mem =txtPdMem.Text ; //新增时status默认为”未提交‘ lbuploadmessage.Text = ""; } /************************************** protected methods (event listeners) ********************************/ protected void btnAddnew_Click(object sender, EventArgs e) { chgOperTxt(true); _logic.Initialize(); ClearProjData(); ProjectDetail.Visible = true; btnSaveNewProj.Enabled = true; validProjControles(); intializeProjectMasterDept(); lbuploadmessage.Text = ""; } protected void DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e) { } /// /// 保存项目基本信息 /// /// /// protected void btnProjSubmit_Click(object sender, EventArgs e) { //检查项目状态有没有变化,变化则不允许保存。 if(!_logic.GetProject.pj_status.Equals(ProjectStatus.项目未分配) ) { ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('项目 " + _logic.GetProject.pj_name + "已经被分配,不可以修改,保存失败。');", true); return; } LProject lp = new LProject(); lp.GetProject.ID =_logic.GetProject.ID; lp.GetProject.getModel(); if(!lp.GetProject.pj_status.Equals(_logic.GetProject.pj_status)) { ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('并发操作,项目 " + _logic.GetProject.pj_name + "已经被他人修改,保存失败。');", true); _logic.Initialize(_logic.GetProject.ID); Databound(); ProjectDataBind(); return; } SetProjectDataBack(); if (_logic.GetProject.ID > 0) _logic.UpdateProject(); else _logic.AddProject(); ClearProjData(); Databound(); } protected void GridView1_PageIndexChanged(object sender, EventArgs e) { } protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; Databound(); //GridView1.DataSource = shiftLgc.getAllShifts().Tables[0]; // GridView1.DataBind(); } protected void GridView1_DataBinding(object sender, EventArgs e) { } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { /* CheckBox chk; if (e.Row.RowType == DataControlRowType.DataRow) { chk = new CheckBox(); chk.ID = e.Row.Cells[0].Text.Trim(); string pdstatus = e.Row.Cells[13].Text.Trim(); chk.Enabled = (pdstatus == ProjectDetailStatus.月度未提交 || pdstatus == ProjectDetailStatus.考核未通过 || pdstatus == ProjectDetailStatus.审核未通过 || pdstatus == ProjectDetailStatus.预审未通过); e.Row.Cells[1].Controls.Add(chk); } */ } protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { } //reset the page protected void btnReset_Click(object sender, EventArgs e) { _logic.Initialize(); Page_Load(this, e); } /// /// delete the project and details /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { foreach (GridViewRow row in this.GridView1.Rows) { HtmlInputCheckBox checkNews = (HtmlInputCheckBox)row.FindControl("checkNews"); if (!checkNews.Checked) continue; _logic.Initialize(Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString())); if (_logic.GetProject.pj_status.Equals(ProjectStatus.项目未分配)) { _logic.GetProject.Delete(); } } Databound(); } /***************************************** internal methods ********************************************/ private void chgOperTxt(bool addNew) { btnSubmit.Enabled = true; } private void ClearProjData() { ProjectDetail.Visible = false; btnSaveNewProj.Enabled = false; txtProjectName.Text = ""; SetDropDownlistSelection(drpdProjlisFromYear, DateTime.Now.Year.ToString()); SetDropDownlistSelection(drplstProjFromMonth, DateTime.Now.Month.ToString()); SetDropDownlistSelection(drplstProjectToYear, DateTime.Now.Year.ToString()); SetDropDownlistSelection(drlstProjToMonth, DateTime.Now.Month.ToString()); txtProjMaster.Text = ""; txtPrjDesc.Text =""; txtProjProgress.Text = ""; //项目进度 txtProjPercent.Text = ""; //项目权重 // SetDropDownlistSelection(drplstProjType, _logic.GetProject.pj_type); txtProjMem4delete.Visible =false; lbprjmem4Delete.Visible =false; txtProjMem4delete.Text = ""; panelApprovelist.Visible = false; drplstProjDept.Items.Clear(); lbuploadmessage.Text = ""; } protected void SetDropDownlistSelection(DropDownList drdlst,string value) { if(drdlst.SelectedIndex>=0) drdlst.Items[drdlst.SelectedIndex].Selected = false; if (drdlst.Items.FindByValue(value)!=null) drdlst.Items.FindByValue(value).Selected = true; } /// /// edit project detail /// /// /// protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { /* chgOperTxt(false); if (GridView1.DataKeys != null) { string id = GridView1.DataKeys[e.NewEditIndex].Value.ToString(); _logic.Initialize(int.Parse(id)); } Databound(); ProjectDetailDataBind(); */ }   /// /// 显示项目基本信息 /// /// /// protected void GridView1_EditProject(object sender, GridViewDeleteEventArgs e) { if (GridView1 != null) { if (GridView1.DataKeys != null) { string id = GridView1.DataKeys[e.RowIndex].Value.ToString(); _logic.Initialize(int.Parse(id)); } } GridView1.SelectedIndex = e.RowIndex; Databound(); ProjectDataBind(); // btnSaveNewProj.Enabled = _logic.GetProject.pj_status.Equals(ProjectStatus.新增未提交) || _logic.GetProject.pj_status.EndsWith("未通过"); // btnDelete.Enabled = _logic.GetProject.pj_status.Equals(ProjectStatus.新增未提交) || _logic.GetProject.pj_status.EndsWith("未通过"); validProjControles(); btnSubmit.Visible = false; } /// /// 进度编辑/计划 /// /// /// protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { chgOperTxt(false); if (GridView1.DataKeys != null) { string id = GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString(); _logic.Initialize(int.Parse(id)); } Databound(); ProjectDetailDataBind(); validPdControles(); } void validProjControles() { divEditProject.Visible = _logic.GetProject.pj_status.Equals(ProjectStatus.项目未分配) ; txtProjectName.ReadOnly =!divEditProject.Visible; drpdProjlisFromYear.Enabled = divEditProject.Visible; drplstProjFromMonth.Enabled = divEditProject.Visible; drplstProjectToYear.Enabled = divEditProject.Visible; drlstProjToMonth.Enabled = divEditProject.Visible; drplstProjType.Enabled = divEditProject.Visible; txtPrjDesc.ReadOnly =!divEditProject.Visible; txtProjProgress.ReadOnly =!divEditProject.Visible; //项目进度 txtProjPercent.ReadOnly =!divEditProject.Visible; //项目权重 SetDropDownlistSelection(drplstProjType, _logic.GetProject.pj_type); txtProjMem4delete.ReadOnly =!divEditProject.Visible; //新增未提交; // lbprjmem4Delete.Visible = divEditProject.Visible; drplstProjDept.Enabled = divEditProject.Visible; txtProjMaster.ReadOnly =!divEditProject.Visible; } void validPdControles() { //--monthly detail. projMonthDetailEdit.Visible = false; txtPdName.ReadOnly =!projMonthDetailEdit.Visible; txtPdStartDate.ReadOnly =! projMonthDetailEdit.Visible ; txtPdEndDate.ReadOnly =! projMonthDetailEdit.Visible ; txtPrjProgress.ReadOnly =! projMonthDetailEdit.Visible ; txtPdActualEndDate.ReadOnly =! projMonthDetailEdit.Visible ; txtPdPlanTarget.ReadOnly =! projMonthDetailEdit.Visible ; txtPdFinishTarget.ReadOnly =! projMonthDetailEdit.Visible ; txtPdPercent.ReadOnly =! projMonthDetailEdit.Visible ; txtPdMem.ReadOnly =! projMonthDetailEdit.Visible ; } /// /// project detail /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { SetProjectDetailBack(); _logic.GetProjectDetail.Update(); ClearProjDetailData(); Databound(); } protected void rdblstMonth_SelectedIndexChanged(object sender, EventArgs e) { GridView1.SelectedIndex = -1; Databound(); } protected void btnYear_Click(object sender, EventArgs e) { rdblstMonth.SelectedItem.Selected = false; rdblstMonth.Items[0].Selected = true; Databound(); } protected void btnToApprove_Click(object sender, EventArgs e) { // _logic.GetProject.ID = Convert.ToInt32(GridView1.Rows[1].Cells[0].Text.Trim()); foreach (GridViewRow row in this.GridView1.Rows) { HtmlInputCheckBox checkNews = (HtmlInputCheckBox)row.FindControl("checkNews"); if (!checkNews.Checked) continue; _logic.Initialize(Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString())); if( _logic.GetProject.pj_status.EndsWith("未提交")|| _logic.GetProject.pj_status.EndsWith("未通过") ) { _logic.GetProject.pj_nextDept = _logic.GetProject.pj_dept; //如果项目负责人是本部门的主管,则提交上级部门 LDepartment dep = new LDepartment(_logic.GetProject.pj_dept); if (dep.GetDepartment.dep_manager == lem.GetEmployee.ID) { _logic.GetProject.pj_nextDept = dep.GetDepartment.dep_mastdept; if (dep.GetDepartment.dep_mastdept == 0) //没有上级部门 { _logic.GetProject.pj_status = ProjectStatus.新增考核通过; _logic.GetProject.Update(); continue; //超级领导自我审批 } } //正常情况下提交本部门领导批准 _logic.GetProject.pj_status = ProjectStatus.新增已提交; _logic.GetProject.Update(); } } Databound(); } public string FormatShowContent(bool pass) { if (pass) return "通过" + ""; return "未通过" + ""; ; } protected void btnpdToApprove_Click(object sender, EventArgs e) { foreach (GridViewRow row in this.GridView1.Rows) { HtmlInputCheckBox checkNews = (HtmlInputCheckBox)row.FindControl("checkNews"); if (!checkNews.Checked) continue; _logic.Initialize(Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString())); if (_logic.GetProjectDetail.pd_status.EndsWith("未提交") || _logic.GetProjectDetail.pd_status.EndsWith("未通过")) { _logic.GetProject.pj_nextDept = _logic.GetProject.pj_dept; //如果项目负责人是本部门的主管,则提交上级部门 LDepartment dep = new LDepartment(_logic.GetProject.pj_dept); if (dep.GetDepartment.dep_manager == lem.GetEmployee.ID) { _logic.GetProject.pj_nextDept = dep.GetDepartment.dep_mastdept; if (dep.GetDepartment.dep_mastdept == 0) //没有上级部门 { _logic.GetProjectDetail.pd_status = ProjectDetailStatus.审核通过; _logic.GetProject.Update(); _logic.GetProjectDetail.Update(); continue; //超级领导自我审批 } } //正常情况下提交本部门领导批准 _logic.GetProject.Update(); _logic.GetProjectDetail.pd_status = ProjectDetailStatus.月度已提交; _logic.GetProjectDetail.Update(); } } Databound(); } protected void btnpd2approve_Click(object sender, EventArgs e) { } protected void TreeDeptEmp_SelectedNodeChanged(object sender, EventArgs e) { GridView1.SelectedIndex = -1; intializeProjectMasterDept(); Databound(); } protected void btnQuery_Click(object sender, EventArgs e) { Databound(); } protected void btnAssign_Click(object sender, EventArgs e) { if (TreeDeptEmp.SelectedNode == null || TreeDeptEmp.SelectedNode != null && TreeDeptEmp.SelectedValue == "0" || TreeDeptEmp.SelectedNode.Parent.Value=="0") { ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('请选择待分配项目的责任人。');", true); return; } foreach (GridViewRow row in this.GridView1.Rows) { HtmlInputCheckBox checkNews = (HtmlInputCheckBox)row.FindControl("checkNews"); if (!checkNews.Checked) continue; _logic.Initialize(Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString())); if (_logic.GetProject.pj_status.Equals(ProjectStatus.项目未分配) ) { _logic.GetProject.pj_status = ProjectStatus.项目已分配; _logic.GetProject.pj_master = Convert.ToInt32(TreeDeptEmp.SelectedValue); _logic.GetProject.pj_dept = Convert.ToInt32(TreeDeptEmp.SelectedNode.Parent.Value); _logic.GetProject.Update(); } } Databound(); } protected void btnUnAssign_Click(object sender, EventArgs e) { foreach (GridViewRow row in this.GridView1.Rows) { HtmlInputCheckBox checkNews = (HtmlInputCheckBox)row.FindControl("checkNews"); if (!checkNews.Checked) continue; _logic.Initialize(Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString())); if (!_logic.GetProject.pj_status.Equals(ProjectStatus.项目冻结)) { _logic.GetProject.pj_status = ProjectStatus.项目冻结; _logic.GetProject.Update(); } } Databound(); } protected void btnFileUpload1_Click(object sender, EventArgs e) { const string projectDest = "~/upload/projects/"; if (fileUpload1.FileName.Length==0) return; lbuploadmessage.Text = ""; DirectoryInfo dir = new DirectoryInfo(Server.MapPath(projectDest)); if (!dir.Exists) dir.Create(); string fileSavePath = Server.MapPath(projectDest + fileUpload1.FileName); fileUpload1.SaveAs(fileSavePath); // Master.ScriptMgr.EnablePartialRendering = true; // pdUpload.Visible = false; importProjects(fileSavePath); lbuploadmessage.Text = "上传成功!"; Databound(); System.IO.File.Delete(fileSavePath); } void importProjects(string fileName) { int Count = 1; string tableName = string.Empty; try { DataSet ds = Util.Excel2DataSet(fileName); foreach (DataTable dt in ds.Tables) { Count = 1; tableName = dt.TableName; foreach (DataRow dr in dt.Rows) { Count++; _logic.Initialize(); if (dr["部门代码"].ToString().Length>0) _logic.GetProject.pj_dept = Convert.ToInt32(dr["部门代码"].ToString()); if (dr["人员编号"].ToString().Length > 0) _logic.GetProject.pj_master = Convert.ToInt32(dr["人员编号"].ToString()); _logic.GetProject.pj_mem = dr["项目描述"].ToString().Substring(0,500); _logic.GetProject.pj_name = dr["项目名称"].ToString().Substring(0,50); if (dr["项目权重"].ToString().Length > 0) _logic.GetProject.pj_percent = Convert.ToInt32(dr["项目权重"].ToString()); _logic.GetProject.pj_type = dr["项目性质"].ToString(); _logic.GetProject.pj_nextDept =-1; //不需审批 if (_logic.GetProject.pj_master >0) _logic.GetProject.pj_status = ProjectStatus.项目已分配; else { _logic.GetProject.pj_status = ProjectStatus.项目未分配; } _logic.GetProject.pj_planStartDate = dr["项目开始年份"].ToString().Trim() + "-" + dr["项目开始月份"].ToString().Trim() + "-01"; _logic.GetProject.pj_planEndDate = _logic.GetProject.pj_planStartDate; Convert.ToDateTime(_logic.GetProject.pj_planStartDate).AddMonths(Convert.ToInt32(dr["项目权重"].ToString())); _logic.AddProject(); } } } catch (Exception ) { string errorMsg = "部门 " + tableName +"第 "+ Count +" 行有错误,检查纠正后再试。"; lbuploadmessage.Text = lbuploadmessage.Text + errorMsg; throw; // ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('"+ errorMsg+"');", true); } } protected void btnActive_Click(object sender, EventArgs e) { foreach (GridViewRow row in this.GridView1.Rows) { HtmlInputCheckBox checkNews = (HtmlInputCheckBox)row.FindControl("checkNews"); if (!checkNews.Checked) continue; _logic.Initialize(Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value.ToString())); if (!_logic.GetProject.pj_status.Equals(ProjectStatus.项目解冻)) { _logic.GetProject.pj_status = ProjectStatus.项目解冻; _logic.GetProject.Update(); } } Databound(); } protected void TxtBtnYear_TextChanged(object sender, EventArgs e) { // btnYear.Text = TxtBtnYear.Text; rdblstMonth.SelectedItem.Selected = false; rdblstMonth.Items[0].Selected = true; Databound(); } // 查看附件 protected void GVFiles_SelectedIndexChanged(object sender, EventArgs e) { LFile fileObj = new LFile(); if (GVFiles.DataKeys != null) { string id = GVFiles.DataKeys[GVFiles.SelectedIndex].Value.ToString(); fileObj.Initialize(int.Parse(id)); string fileName = fileObj.GetFilesmgr.file_dest; fileName = Server.UrlEncode("../upload/" + fileObj.GetFilesmgr.File_type + "/" + fileObj.GetFilesmgr.file_dest); fileName = "../upload/" + fileObj.GetFilesmgr.File_type + "/" + fileObj.GetFilesmgr.file_dest; string openFile = "window.open('" + fileName + "');"; ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", openFile, true); } } protected void Page_Init() {     // PostBackTrigger trigger = new PostBackTrigger(); // trigger.ControlID = Button1.UniqueID; // ((UpdatePanel)Master.FindControl("UpdatePanel1")).Triggers.Add(trigger); } void page_init() {  Master.ScriptMgr.EnablePartialRendering = false; PostBackTrigger trigger = new PostBackTrigger(); trigger.ControlID = Button1.UniqueID; ((UpdatePanel)Master.FindControl("UpdatePanel1")).Triggers.Add(trigger); } public override void VerifyRenderingInServerForm(Control control) { } protected void Excel_Click(object sender, EventArgs e) { Master.ScriptMgr.RegisterPostBackControl(Button1); GridView1.AllowPaging = false; GridView1.Columns[GridView1.Columns.Count - 1].Visible = false; Databound(); Export("application/ms-excel", "项目列表.xls"); GridView1.AllowPaging = false; GridView1.Columns[GridView1.Columns.Count - 1].Visible = true; Databound(); } private void Export(string FileType, string FileName) { Response.Charset = "GB2312"; Response.ContentEncoding = Encoding.UTF7; Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString()); Response.ContentType = FileType; EnableViewState = false; StringWriter tw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(tw); GridView1.RenderControl(hw); Response.Write(tw.ToString()); Response.End(); } }