platform/Project/ProjectMain.aspx.cs

1000 lines
40 KiB
C#
Raw Permalink 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.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 view.App_Code;
using DeiNiu.wms.Logical;
using DeiNiu.Utils;
public partial class ProjectMain : PageBase
{
private LProject _logic;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (lem == null) return ;
_logic = new LProject();
initializeControles();
Databound();
}
SessionSeting();
Validbtncontrols(rdblstMonth.SelectedValue=="0");
CurrentMonthSubmit();
}
/***************************************** private methods ******************************************/
/// <summary>
/// 只可以提交当前年月的项目
/// </summary>
void CurrentMonthSubmit()
{
this.btnpdToApprove.Visible = Convert.ToInt32(this.btnYear.Text) == DateTime.Today.Year && rdblstMonth.Items.FindByValue(DateTime.Today.Month.ToString()).Selected;
btnpd2approve.Visible = btnpdToApprove.Visible;
}
void Validbtncontrols(bool visible)
{
btn_addNew.Visible = visible;
btnPrjToApprove.Visible = visible;
btnDelete.Visible = visible;
}
/// <summary>
/// bound the query list.
/// </summary>
private void Databound()
{
GridView1.DataSource = _logic.GetAllProjectDetail(lem.GetEmployee.ID,btnYear.Text, rdblstMonth.SelectedValue).DefaultView;
GridView1.DataBind();
UpdateSession();
// ProjectDataBind();
// ProjectDetailDataBind();
// btnSubmit.Enabled = false;
ClearProjDetailData();
ClearProjData();
}
/// <summary>
/// 通过判断当前用户的身份,确定返回不同的项目列表
/// </summary>
/// <returns></returns>
void initializeControles()
{
btnYear.Text = DateTime.Today.Year.ToString();
// this.TxtBtnYear.Text = btnYear.Text;
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());
drplstProjDept.DataSource = lem.GetEmployee.GetDepartments();
drplstProjDept.DataTextField = "DEP_NAME";
drplstProjDept.DataValueField = "ID";
drplstProjDept.DataBind();
}
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 == ProjectStatus.新增未提交) && rdblstMonth.Items[0].Selected; //只可删除自己新增的。
txtProjMem4delete.Visible = rdblstMonth.Items[0].Selected; // 可以删除任何项目状态
lbprjmem4Delete.Visible = txtProjMem4delete.Visible;
btnDelete.Visible = txtProjMem4delete.Visible;
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);
// btnDelete.Visible = true;
}
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) ; //项目进度
if (txtProjPercent.Text != string.Empty) _logic.GetProject.pj_percent = Convert.ToInt32(txtProjPercent.Text) ; //项目权重
_logic.GetProject.pj_type = drplstProjType.SelectedValue;
_logic.GetProject.pj_status = _logic.GetProject.pj_status == String.Empty ? ProjectStatus. : _logic.GetProject.pj_status;
_logic.GetProject.pj_mem4del = txtProjMem4delete.Text;
_logic.GetProject.pj_dept = Convert.ToInt32(drplstProjDept.SelectedValue);
if (_logic.GetProject.pj_nextDept == 0)
_logic.GetProject.pj_nextDept = -1;
else
_logic.GetProject.pj_nextDept = _logic.GetProject.pj_nextDept;
/*
* _logic.GetProject.pj_nextDept = _logic.GetProject.pj_nextDept == 0 ? -1 ; _logic.GetProject.pj_nextDept;
* _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.新增考核通过;
}
}
* */
}
/// <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默认为”未提交
}
/************************************** protected methods (event listeners) ********************************/
protected void btnAddnew_Click(object sender, EventArgs e)
{
chgOperTxt(true);
_logic.Initialize();
ClearProjData();
ProjectDetail.Visible = true;
btnSaveNewProj.Enabled = true;
validProjControles();
ProjectMonthDetail.Visible = false;
}
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.)) return;
if (_logic.GetProject.pj_status.Equals(ProjectStatus.)) return;
//检查项目状态有没有变化,变化则不允许保存。
if(_logic.GetProject.pj_status.Equals(ProjectStatus.)||_logic.GetProject.pj_status.Equals(ProjectStatus.))
{
LProject lp = new LProject();
lp.GetProject.ID =_logic.GetProject.ID;
lp.GetProject.getModel();
if(!lp.GetProject.pj_status.Equals(_logic.GetProject.pj_status))
{
// Response.Write("<script>alert('项目 " +_logic.GetProject.pj_name + "已经被审批,保存失败。')</script>");
ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('项目 " + _logic.GetProject.pj_name + "已经被审批,保存失败。');", true);
ProjectDataBind();
return;
}
}
SetProjectDataBack();
if (_logic.GetProject.pj_name == string.Empty || _logic.GetProject.pj_name.Trim().Length == 0) return;
if (_logic.GetProject.pj_percent==0) return;
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)
{
if(txtProjMem4delete.Text ==null ) return;
if (_logic.GetProject.pj_status.Equals(ProjectStatus.) || _logic.GetProject.pj_status.Equals(ProjectStatus.))
{
ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('项目 " + _logic.GetProject.pj_name + " 项目已经完成,不可以删除。');", true);
return;
}
if (_logic.GetProject.pj_status.Equals(ProjectStatus.))
{
LDepartment dep = new LDepartment(_logic.GetProject.pj_dept);
if ( (dep.GetDepartment.dep_manager != lem.GetEmployee.ID) &&(dep.GetDepartment.dep_mastdept != 0))
{
return;
}
}
if (!_logic.GetProject.pj_status.Equals(ProjectStatus.) )
{
_logic.GetProject.pj_mem4del = txtProjMem4delete.Text;
_logic.GetProject.pj_status = DeiNiu.Utils.ProjectStatus.;
_logic.GetProject.Update();
}
else if (_logic.GetProject.pj_status.Equals(ProjectStatus.) || _logic.GetProject.pj_status.Equals(ProjectStatus.))
{
_logic.Delete();
}
ClearProjData();
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;
}
protected void SetDropDownlistSelection(DropDownList drdlst,string value)
{
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()
{
bool canEditSubmit;
canEditSubmit = _logic.GetProject.pj_status.Equals(ProjectStatus.) || !_logic.GetProject.pj_status.EndsWith("已分配") && !_logic.GetProject.pj_status.EndsWith("审通过") && !_logic.GetProject.pj_status.Equals(ProjectStatus.)
&&!_logic.GetProject.pj_status.EndsWith("核通过")||
_logic.GetProject.pj_status.EndsWith("未通过") || _logic.GetProject.pj_status.Equals(string.Empty);
txtProjectName.ReadOnly = !canEditSubmit;
// drpdProjlisFromYear.Enabled = divEditProject.Visible;
//drplstProjFromMonth.Enabled = divEditProject.Visible;
// drplstProjectToYear.Enabled = divEditProject.Visible;
// drlstProjToMonth.Enabled = divEditProject.Visible;
drplstProjType.Enabled = canEditSubmit;
txtPrjDesc.ReadOnly = !canEditSubmit;
// txtProjProgress.ReadOnly = !divEditProject.Visible; //项目进度
txtProjPercent.ReadOnly = !canEditSubmit; //项目权重
SetDropDownlistSelection(drplstProjType, _logic.GetProject.pj_type);
// txtProjMem4delete.ReadOnly = !canEditSubmit; //新增未提交;
// lbprjmem4Delete.Visible = divEditProject.Visible;
drplstProjDept.Enabled = canEditSubmit;
bool canNotDel = _logic.GetProject.pj_status.Equals(ProjectStatus.) ||
_logic.GetProject.pj_status.Equals(ProjectStatus.) ||
_logic.GetProject.pj_status == String.Empty ||
_logic.GetProject.pj_status.StartsWith("删减") ||
_logic.GetProject.pj_status.Equals(ProjectStatus.);
bool canDel = !canNotDel;
canDel = canDel && this.rdblstMonth.Items[0].Selected;
txtProjMem4delete.Visible = canDel;
lbprjmem4Delete.Visible = canDel;
// if (btnDelete.Visible)
btnDelete.Visible = canDel;
}
void validPdControles()
{
//--monthly detail.
projMonthDetailEdit.Visible = _logic.GetProjectDetail.pd_status.Equals(ProjectDetailStatus.) ||
!_logic.GetProjectDetail.pd_status.EndsWith("核通过") &&
!_logic.GetProjectDetail.pd_status.EndsWith("审通过") ||
_logic.GetProjectDetail.pd_status.Equals(string.Empty);
projMonthDetailEdit.Visible = projMonthDetailEdit.Visible &&
!(_logic.GetProject.pj_status.Equals(ProjectStatus.) ||
_logic.GetProject.pj_status.Equals(ProjectStatus.) ||
_logic.GetProject.pj_status.StartsWith("删减") &&
(!_logic.GetProject.pj_status.Equals(ProjectStatus.) &&
!_logic.GetProject.pj_status.EndsWith("未通过")) ||
_logic.GetProject.pj_status.StartsWith("新增") &&
(!_logic.GetProject.pj_status.Equals(ProjectStatus.)) ||
_logic.GetProjectDetail.pd_status.EndsWith("未提交") ||
_logic.GetProjectDetail.pd_status.EndsWith("未通过") ||
_logic.GetProject.pj_status.StartsWith("删减"));
projMonthDetailEdit.Visible = projMonthDetailEdit.Visible ||
_logic.GetProject.pj_status.Equals(ProjectStatus.);
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)
{
if (_logic.GetProject.pj_status.Equals(ProjectStatus.)) return;
if (_logic.GetProject.pj_status.Equals(ProjectStatus.)) return;
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();
}
void bindProjectNote()
{
}
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= 审批未通过>";
}
/// <summary>
/// 月度提交
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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.GetProject.pj_status.Equals(ProjectStatus.)) continue; //冻结的项目不可以提交。
if (_logic.GetProject.pj_status.Equals(ProjectStatus.)) continue;
if (_logic.GetProject.pj_status.Equals(ProjectStatus.)) continue;
if (_logic.GetProject.pj_status.StartsWith("删减") && (!_logic.GetProject.pj_status.Equals(ProjectStatus.) && !_logic.GetProject.pj_status.EndsWith("未通过"))) continue;
if (_logic.GetProject.pj_status.StartsWith("新增") && (!_logic.GetProject.pj_status.Equals(ProjectStatus.) && !_logic.GetProject.pj_status.EndsWith("未通过"))) continue;
if (_logic.GetProjectDetail.pd_status.EndsWith("未提交") || _logic.GetProjectDetail.pd_status.EndsWith("未通过") || _logic.GetProject.pj_status.StartsWith("删减"))
{
_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 (_logic.GetProject.pj_status.EndsWith("未提交") || _logic.GetProject.pj_status.EndsWith("未通过"))
{
if (_logic.GetProject.pj_status.StartsWith("删减"))
{
_logic.GetProject.pj_status = ProjectStatus.;
}
if (_logic.GetProject.pj_status.StartsWith("新增"))
{
_logic.GetProject.pj_status = ProjectStatus.;
}
_logic.GetProject.Update();
}
else
{
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.;
_logic.GetProjectDetail.Update();
_logic.GetProject.Update();
}
if (dep.GetDepartment.dep_mastdept == 0) //没有上级部门
{
if (_logic.GetProject.pj_status.Equals(ProjectStatus.))
_logic.GetProject.pj_status = ProjectStatus.;
else if (_logic.GetProject.pj_status.Equals(ProjectStatus.))
_logic.GetProject.pj_status = ProjectStatus.;
else
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.;
_logic.GetProject.Update();
_logic.GetProjectDetail.Update();
continue; //超级领导自我审批
}
continue;
}
//正常情况下提交本部门领导批准
if (_logic.GetProject.pj_status.EndsWith("未提交")||_logic.GetProject.pj_status.EndsWith("未通过"))
{
if(_logic.GetProject.pj_status.StartsWith("删减"))
{
_logic.GetProject.pj_status = ProjectStatus.;
}
if (_logic.GetProject.pj_status.StartsWith("新增"))
{
_logic.GetProject.pj_status = ProjectStatus.;
}
}
else
{
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.;
_logic.GetProjectDetail.Update();
}
_logic.GetProject.Update();
}
}
Databound();
}
protected void btnpd2approve_Click(object sender, EventArgs e)
{
btnSubmit_Click( sender, e);
if (_logic.GetProject.pj_status.Equals(ProjectStatus.)) return;
if (_logic.GetProject.pj_status.Equals(ProjectStatus.)) return;
if (_logic.GetProject.pj_status.StartsWith("删减") && (!_logic.GetProject.pj_status.Equals(ProjectStatus.) && !_logic.GetProject.pj_status.EndsWith("未通过"))) return;
if (_logic.GetProject.pj_status.StartsWith("新增") && ( !_logic.GetProject.pj_status.Equals(ProjectStatus.))) return;
if (_logic.GetProjectDetail.pd_status.EndsWith("未提交") || _logic.GetProjectDetail.pd_status.EndsWith("未通过") || _logic.GetProject.pj_status.StartsWith("删减"))
{
_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 (_logic.GetProject.pj_status.EndsWith("未提交") || _logic.GetProject.pj_status.EndsWith("未通过"))
{
if (_logic.GetProject.pj_status.StartsWith("删减"))
{
_logic.GetProject.pj_status = ProjectStatus.;
}
if (_logic.GetProject.pj_status.StartsWith("新增"))
{
_logic.GetProject.pj_status = ProjectStatus.;
}
_logic.GetProject.Update();
}
else
{
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.;
_logic.GetProjectDetail.Update();
_logic.GetProject.Update();
}
if (dep.GetDepartment.dep_mastdept == 0) //没有上级部门
{
if (_logic.GetProject.pj_status.Equals(ProjectStatus.))
_logic.GetProject.pj_status = ProjectStatus.;
else if (_logic.GetProject.pj_status.Equals(ProjectStatus.))
_logic.GetProject.pj_status = ProjectStatus.;
else
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.;
_logic.GetProject.Update();
_logic.GetProjectDetail.Update();
//超级领导自我审批
}
Databound();
return;
}
//正常情况下提交本部门领导批准
if (_logic.GetProject.pj_status.EndsWith("未提交") || _logic.GetProject.pj_status.EndsWith("未通过"))
{
if (_logic.GetProject.pj_status.StartsWith("删减"))
{
_logic.GetProject.pj_status = ProjectStatus.;
}
if (_logic.GetProject.pj_status.StartsWith("新增"))
{
_logic.GetProject.pj_status = ProjectStatus.;
}
}
else
{
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.;
_logic.GetProjectDetail.Update();
}
_logic.GetProject.Update();
}
Databound();
}
protected void btnpj2approve_Click(object sender, EventArgs e)
{
if (_logic.GetProject.pj_status.Equals(ProjectStatus.)) return; //冻结的项目不可以提交。
if (_logic.GetProject.pj_status.Equals(ProjectStatus.)) return;
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();
//超级领导自我审批
}
}
//正常情况下提交本部门领导批准
_logic.GetProject.Update();
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.;
_logic.GetProjectDetail.Update();
}
Databound();
}
protected void btnFileUpload_Click(object sender, EventArgs e)
{
 
Session["uploadCode"] = new Random().Next();
string fileCode = Session["uploadCode"].ToString();
string fileType = ((int)FileType.ProjectDetail).ToString();
string fileInfo = _logic.GetProjectDetail.ID.ToString();
string fileUPload = " window.showModalDialog('../upload/fileUpload.aspx?'+Math.random() +'=" + fileCode + "&fileType=" + fileType + "&fileInfo=" + fileInfo + "&id=" + lem.GetEmployee.ID + "' )";
ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", fileUPload, true);
   
 
 
}
protected void btnFileUploadReferesh_Click1(object sender, EventArgs e)
{
GVFiles.DataSource = _logic.GetProjectDetail.GetFiles();
GVFiles.DataBind();
}
protected void GVFiles_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
LFile fileObj = new LFile();
if (GVFiles != null)
{
if (GVFiles.DataKeys != null)
{
string id = GVFiles.DataKeys[e.RowIndex].Value.ToString();
fileObj.Initialize(int.Parse(id));
fileObj.GetFilesmgr.Delete();
GVFiles.DataSource = _logic.GetProjectDetail.GetFiles();
GVFiles.DataBind();
}
}
/*
_logic.GetRole.dr = false;
_logic.GetRole.Update();
*/
}
// 查看附件
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 TxtBtnYear_TextChanged(object sender, EventArgs e)
{
// btnYear.Text = TxtBtnYear.Text;
rdblstMonth.SelectedItem.Selected = false;
rdblstMonth.Items[0].Selected = true;
Databound();
}
protected void btnpj2approve_Click1(object sender, EventArgs e)
{
}
protected void Page_Init()
{
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[1].Visible = false;
GridView1.Columns[GridView1.Columns.Count -1].Visible = false;
Databound();
Export("application/ms-excel", "项目列表.xls");
GridView1.AllowPaging = true;
GridView1.Columns[1].Visible = true;
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();
}
 
}