1000 lines
40 KiB
C#
1000 lines
40 KiB
C#
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();
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|