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 ******************************************/
///
/// 只可以提交当前年月的项目
///
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;
}
///
/// bound the query list.
///
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();
}
///
/// 通过判断当前用户的身份,确定返回不同的项目列表
///
///
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;
}
///
/// 绑定当前项目信息到页面的项目基本信息区
///
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;
}
///
/// 页面的项目基本信息区的信息回传给项目实例
///
///
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.新增考核通过;
}
}
* */
}
///
/// 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默认为”未提交‘
}
/************************************** 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)
{
}
///
/// 保存项目基本信息
///
///
///
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("");
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);
}
///
/// delete the project and details
///
///
///
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;
}
///
/// 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()
{
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 ;
//--审核按钮
}
///
/// project detail
///
///
///
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 "通过" + "
";
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.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();
}
}