platform/Project/ProjectCenter.aspx.cs

1017 lines
36 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 ******************************************/
/// <summary>
/// bound the query list.
/// </summary>
private void Databound()
{
GridView1.DataSource = getProjects();
GridView1.DataBind();
UpdateSession();
// ProjectDataBind();
// ProjectDetailDataBind();
// btnSubmit.Enabled = false;
ClearProjDetailData();
ClearProjData();
intializeProjectMasterDept();
}
/// <summary>
/// 根据条件取相应的项目信息
/// </summary>
/// <returns></returns>
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;
}
/// <summary>
/// 通过判断当前用户的身份,确定返回不同的项目列表
/// </summary>
/// <returns></returns>
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("<strong>","").Replace("</strong>",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));
}
}
/// <summary>
/// 绑定部门及用户
/// </summary>
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 = "<em>" + row["dep_name"] + "</em>";
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(".<strong>" + emrow["em_name"].ToString() +"</strong>" , 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;
}
/// <summary>
/// 绑定当前项目信息到页面的项目基本信息区
/// </summary>
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;
}
/// <summary>
/// 页面的项目基本信息区的信息回传给项目实例
///
/// </summary>
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 = "";
}
/// <summary>
/// set data from shift object to page
/// </summary>
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);
}
/// <summary>
/// set data from shift object to page
/// </summary>
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)
{
}
/// <summary>
/// 保存项目基本信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
/// <summary>
/// delete the project and details
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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;
}
/// <summary>
/// edit project detail
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
*/
}
 
/// <summary>
/// 显示项目基本信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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;
}
/// <summary>
/// 进度编辑/计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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 ;
}
/// <summary>
/// project detail
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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 "通过" + "<img src=../Images/tick.png border=0 border=0 title= 审批通过>";
return "未通过" + "<img src=../Images/cross.png border=0 border=0 title= 审批未通过>"; ;
}
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();
}
}