785 lines
28 KiB
Plaintext
785 lines
28 KiB
Plaintext
using System;
|
||
using System.Data;
|
||
using System.Transactions;
|
||
using System.Web.UI;
|
||
using System.Web.UI.HtmlControls;
|
||
using System.Web.UI.WebControls;
|
||
using DeiNiu.wms.Logical;
|
||
using DeiNiu.Utils;
|
||
|
||
|
||
|
||
public partial class ProjectApprove : PageBase
|
||
{
|
||
private LProject _logic;
|
||
private string authType = "";
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
|
||
|
||
// divPreApproveSubmit.Visible = authType.Equals("100"); //副职登录
|
||
// divApproveSubmit.Visible = authType.Equals("200"); //正职登录
|
||
// emId = Master.lem.GetEmployee.ID; masterpage has not been initialized yet
|
||
|
||
authType = Request.QueryString[0] ;
|
||
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 = GetProjectListByRole();
|
||
GridView1.DataBind();
|
||
UpdateSession();
|
||
// btnSubmit.Enabled = false;
|
||
ClearProjDetailData();
|
||
ClearProjData();
|
||
PanelApprove.Visible = false;
|
||
}
|
||
/// <summary>
|
||
/// 通过判断当前用户的身份,确定返回不同的项目列表
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
DataView GetProjectListByRole()
|
||
{
|
||
if(authType.Equals("100")) //预审、审核
|
||
{
|
||
if (lem.CanShenHe || lem.CanYuShen) // 分析当前用户所在组的项目操作权限
|
||
{
|
||
return _logic.Get4ApproveList(lem.GetCanApproveDeptList(),btnYear.Text, rdblstMonth.SelectedValue).DefaultView;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if (authType.Equals("200"))
|
||
if (lem.CanKaoHe ) // 考核
|
||
{
|
||
DataView dv = _logic.GetProjectsByYearMonth(btnYear.Text, rdblstMonth.SelectedValue).DefaultView;
|
||
dv.RowFilter = "pj_status in('" + ProjectStatus.新增审核通过 + "','" + ProjectStatus.项目完成 + "','" +ProjectStatus.删减审核通过+ "') and pd_status not in ('"
|
||
+ ProjectDetailStatus.考核通过 + "','" +ProjectDetailStatus.考核未通过 +"')" +
|
||
" or pd_status in('" + ProjectDetailStatus.审核通过 + "')";
|
||
return dv;
|
||
|
||
}
|
||
|
||
if (authType.Equals("300"))
|
||
if (lem.CanKaoHe) // 考核历史记录
|
||
{
|
||
DataView dv = _logic.GetKaoHeHistoryProjectsByYearMonth(btnYear.Text, rdblstMonth.SelectedValue).DefaultView;
|
||
dv.RowFilter = "pj_status in('" + ProjectStatus.新增审核通过 + "','" + ProjectStatus.项目完成 + "')";
|
||
return dv;
|
||
|
||
}
|
||
|
||
return new DataView();
|
||
}
|
||
|
||
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());
|
||
|
||
drplstProjDept.DataSource = lem.GetEmployee.GetDepartments();
|
||
drplstProjDept.DataTextField = "DEP_NAME";
|
||
drplstProjDept.DataValueField = "ID";
|
||
drplstProjDept.DataBind();
|
||
|
||
|
||
}
|
||
|
||
private void SessionSeting()
|
||
{
|
||
if (IsPostBack)
|
||
{
|
||
|
||
_logic = (LProject)Session[appScope.PagelevelObj];
|
||
}
|
||
}
|
||
|
||
private void UpdateSession()
|
||
{
|
||
|
||
Session[appScope.PagelevelObj] = _logic;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 绑定当前项目信息到页面的项目基本信息区
|
||
/// </summary>
|
||
void ProjectDataBind()
|
||
{
|
||
ProjectDetail.Visible = 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;
|
||
validControles();
|
||
ApproveListBind(_logic.GetProject.ID);
|
||
|
||
SetDropDownlistSelection(drplstProjDept, _logic.GetProject.pj_dept.ToString() );
|
||
divApproveScore.Visible = false;
|
||
}
|
||
|
||
void ApproveListBind(int id)
|
||
{
|
||
RepeaterApproveList.DataSource = _logic.PaObj.GetApproveListByTastkId(id);
|
||
RepeaterApproveList.DataBind();
|
||
panelApprovelist.Visible = true;
|
||
}
|
||
/// <summary>
|
||
/// set data from shift object to page
|
||
/// </summary>
|
||
private void ProjectDetailDataBind()
|
||
{
|
||
ProjectMonthDetail.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;
|
||
ApproveListBind(_logic.GetProjectDetail.ID);
|
||
//bind the files
|
||
|
||
GVFiles.DataSource = _logic.GetProjectDetail.GetFiles();
|
||
GVFiles.DataBind();
|
||
validControles();
|
||
MonthlyScore();
|
||
}
|
||
void MonthlyScore()
|
||
{
|
||
|
||
divApproveScore.Visible = true;
|
||
txtSystemScore.Text = (Convert.ToDouble(_logic.GetProject.pj_percent*_logic.GetProjectDetail.pd_percent)/100).ToString();
|
||
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// set data from shift object to page
|
||
/// </summary>
|
||
private void ClearProjDetailData()
|
||
{
|
||
ProjectMonthDetail.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();
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
/************************************** protected methods (event listeners) ********************************/
|
||
|
||
|
||
protected void DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e)
|
||
{
|
||
}
|
||
|
||
|
||
|
||
|
||
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_Sorting(object sender, GridViewSortEventArgs e)
|
||
{
|
||
}
|
||
|
||
|
||
|
||
|
||
/***************************************** internal methods ********************************************/
|
||
|
||
|
||
|
||
private void ClearProjData()
|
||
{
|
||
ProjectDetail.Visible = 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 = "";
|
||
|
||
}
|
||
|
||
|
||
|
||
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();
|
||
PanelApprove.Visible = true;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 进度编辑/计划
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
|
||
if (GridView1.DataKeys != null)
|
||
{
|
||
string id = GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString();
|
||
_logic.Initialize(int.Parse(id));
|
||
}
|
||
Databound();
|
||
ProjectDetailDataBind();
|
||
PanelApprove.Visible = true;
|
||
}
|
||
void validControles()
|
||
{
|
||
txtProjectName.ReadOnly = true;
|
||
drpdProjlisFromYear.Enabled = false ;
|
||
drplstProjFromMonth.Enabled = false;
|
||
drplstProjectToYear.Enabled = false;
|
||
drlstProjToMonth.Enabled = false;
|
||
drplstProjType.Enabled = false;
|
||
txtPrjDesc.ReadOnly = true;
|
||
txtProjProgress.ReadOnly = true; //项目进度
|
||
txtProjPercent.ReadOnly = true; //项目权重
|
||
SetDropDownlistSelection(drplstProjType, _logic.GetProject.pj_type);
|
||
txtProjMem4delete.ReadOnly = true; //新增未提交;
|
||
// lbprjmem4Delete.Visible = false;
|
||
drplstProjDept.Enabled = false;
|
||
|
||
//--monthly detail.
|
||
|
||
txtPdName.ReadOnly = true;
|
||
txtPdStartDate.ReadOnly = true;
|
||
txtPdEndDate.ReadOnly = true;
|
||
txtPrjProgress.ReadOnly = true;
|
||
txtPdActualEndDate.ReadOnly = true;
|
||
txtPdPlanTarget.ReadOnly = true;
|
||
txtPdFinishTarget.ReadOnly = true;
|
||
txtPdPercent.ReadOnly = true;
|
||
txtPdMem.ReadOnly = true;
|
||
txtPdName.ReadOnly = true;
|
||
txtPdStartDate.ReadOnly = true;
|
||
txtPdEndDate.ReadOnly = true;
|
||
txtPrjProgress.ReadOnly = true;
|
||
txtPdActualEndDate.ReadOnly = true;
|
||
txtPdPlanTarget.ReadOnly = true;
|
||
txtPdFinishTarget.ReadOnly = true;
|
||
txtPdPercent.ReadOnly = true;
|
||
txtPdMem.ReadOnly = true;
|
||
//--审核按钮
|
||
btnApprove.Visible = true;
|
||
btnReject.Visible = true;
|
||
|
||
}
|
||
|
||
|
||
protected void rdblstMonth_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
Databound();
|
||
}
|
||
protected void btnYear_Click(object sender, EventArgs e)
|
||
{
|
||
rdblstMonth.SelectedItem.Selected = false;
|
||
rdblstMonth.Items[0].Selected = true;
|
||
Databound();
|
||
|
||
|
||
|
||
}
|
||
|
||
void bindProjectNote()
|
||
{
|
||
|
||
}
|
||
|
||
protected void btnApprove_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
|
||
|
||
}
|
||
protected void btnReject_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
if (ProjectDetail.Visible) //项目审核
|
||
{
|
||
//判断项目是否已经完成审批,防止在对月度审批时对项目误操作
|
||
if (_logic.GetProject.pj_status.Equals(ProjectStatus.新增考核通过))
|
||
{
|
||
if (authType.Equals("100")) //预审、审核
|
||
{ ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('项目 " + _logic.GetProject.pj_name +
|
||
" 已经考核通过,不需要再审批,操作失败。');", true);
|
||
return;
|
||
}
|
||
|
||
}
|
||
|
||
if (_logic.GetProject.pj_status.Equals(ProjectStatus.新增审核通过))
|
||
{
|
||
if (authType.Equals("100")) //预审、审核
|
||
|
||
{ ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('项目 " + _logic.GetProject.pj_name
|
||
+ " 已经审核通过, 操作失败');", true);return;
|
||
}
|
||
if (authType.Equals("200")) //考核,此情况甚少出现,因为尚未结束项目
|
||
if (!lem.CanKaoHe)
|
||
{
|
||
ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('项目 " + _logic.GetProject.pj_name
|
||
+ " 已经审核通过,您要有考核的权利才能进行考核,操作失败');", true); return;
|
||
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
//更新项目状态
|
||
if (lem.CanKaoHe)
|
||
{
|
||
if (_logic.GetProject.pj_status.StartsWith("新增"))
|
||
_logic.GetProject.pj_status = ProjectStatus.新增考核未通过;
|
||
if (_logic.GetProject.pj_status.StartsWith("删减"))
|
||
_logic.GetProject.pj_status = ProjectStatus.删减审核未通过;
|
||
|
||
}
|
||
|
||
else if (lem.CanShenHe)
|
||
{
|
||
if (_logic.GetProject.pj_status.StartsWith("新增"))
|
||
_logic.GetProject.pj_status = ProjectStatus.新增审核未通过;
|
||
if (_logic.GetProject.pj_status.StartsWith("删减"))
|
||
_logic.GetProject.pj_status = ProjectStatus.删减审核未通过;
|
||
}
|
||
else if (lem.CanYuShen)
|
||
{
|
||
if (_logic.GetProject.pj_status.StartsWith("新增"))
|
||
_logic.GetProject.pj_status = ProjectStatus.新增预审未通过;
|
||
if (_logic.GetProject.pj_status.StartsWith("删减"))
|
||
_logic.GetProject.pj_status = ProjectStatus.删减预审未通过;
|
||
}
|
||
_logic.PaObj.pa_id = _logic.GetProject.ID;
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
//更新项目月度明细状态
|
||
if (lem.CanKaoHe)
|
||
{
|
||
|
||
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.考核未通过;
|
||
|
||
}
|
||
|
||
else if (lem.CanShenHe)
|
||
{
|
||
|
||
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.审核未通过;
|
||
|
||
}
|
||
else if (lem.CanYuShen)
|
||
{
|
||
|
||
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.预审未通过;
|
||
}
|
||
_logic.PaObj.pa_id = _logic.GetProjectDetail.ID;
|
||
|
||
_logic.GetProject.pj_status = ProjectStatus.项目未完成;
|
||
|
||
}
|
||
|
||
|
||
// using (TransactionScope trans = new TransactionScope())
|
||
{
|
||
try
|
||
{
|
||
if (!ProjectDetail.Visible)
|
||
_logic.GetProjectDetail.Update();
|
||
//更新项目主体下一个审批部门
|
||
|
||
//更新项目主体下一个审批部门
|
||
_logic.GetProject.pj_nextDept = -1;
|
||
_logic.GetProject.Update();
|
||
//记录考核动作
|
||
|
||
_logic.PaObj.pa_dept = _logic.GetProject.pj_dept;
|
||
_logic.PaObj.pa_emp = lem.GetEmployee.ID;
|
||
_logic.PaObj.pa_isProj = !ProjectDetail.Visible;
|
||
_logic.PaObj.pa_mem = txtApproveMem.Text.Trim();
|
||
_logic.PaObj.pa_pass = false;
|
||
_logic.PaObj.Add();
|
||
|
||
// trans.Complete();
|
||
}
|
||
catch (MyException)
|
||
{
|
||
throw;
|
||
}
|
||
catch (Exception)
|
||
{
|
||
throw new Exception("出现异常,项目审批反馈失败。");
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
ApproveListBind(_logic.GetProject.ID);
|
||
GridView1.SelectedIndex = -1;
|
||
Databound();//重新绑定数据
|
||
txtApproveMem.Text = "";
|
||
// ApproveListBind(_logic.GetProject.ID);
|
||
// ProjectMonthDetail.Visible = false;
|
||
// ProjectDetail.Visible = false;
|
||
// PanelApprove.Visible = false;
|
||
}
|
||
protected void btnApprove_Click1(object sender, EventArgs e)
|
||
{
|
||
|
||
|
||
|
||
LDepartment dept = new LDepartment( );
|
||
dept.Initialize(_logic.GetProject.pj_nextDept);
|
||
|
||
if (ProjectDetail.Visible) //项目审核
|
||
{
|
||
|
||
|
||
|
||
//判断项目是否已经完成审批,防止在对月度审批时对项目误操作
|
||
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.新增审核通过)|| _logic.GetProject.pj_status.Equals(ProjectStatus.删减审核通过))
|
||
{
|
||
if (authType.Equals("100")) //预审、审核
|
||
|
||
{ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('项目 " + _logic.GetProject.pj_name
|
||
+ " 已经审核通过,不可以再次审批,操作失败。');", true);
|
||
return;
|
||
}
|
||
|
||
if (!lem.CanKaoHe) //考核
|
||
{
|
||
ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof (UpdatePanel), "alert",
|
||
"alert('项目 " + _logic.GetProject.pj_name
|
||
+ " 已经审核通过,您要有考核的权利才能进行考核,操作失败。');", true);
|
||
return;
|
||
}
|
||
|
||
|
||
}
|
||
|
||
//更新项目状态
|
||
if (lem.CanKaoHe && authType.Equals("200") )
|
||
{
|
||
if (_logic.GetProject.pj_status.StartsWith("新增"))
|
||
_logic.GetProject.pj_status = ProjectStatus.新增考核通过;
|
||
if (_logic.GetProject.pj_status.StartsWith("删减"))
|
||
_logic.GetProject.pj_status = ProjectStatus.删减考核通过;
|
||
|
||
_logic.GetProject.pj_nextDept = -1;
|
||
}
|
||
|
||
else if (lem.CanShenHe)
|
||
{
|
||
if (_logic.GetProject.pj_status.StartsWith("新增"))
|
||
_logic.GetProject.pj_status = ProjectStatus.新增审核通过;
|
||
if (_logic.GetProject.pj_status.StartsWith("删减"))
|
||
// _logic.GetProject.pj_status = ProjectStatus.删减审核通过;
|
||
{
|
||
_logic.GetProject.pj_master = -1;
|
||
_logic.GetProject.pj_dept = -1;
|
||
_logic.GetProject.pj_status = ProjectStatus.项目未分配;
|
||
}
|
||
|
||
_logic.GetProject.pj_nextDept = dept.GetDepartment.dep_mastdept;
|
||
}
|
||
|
||
else if (lem.CanYuShen)
|
||
{
|
||
if (_logic.GetProject.pj_status.StartsWith("新增"))
|
||
_logic.GetProject.pj_status = ProjectStatus.新增预审通过;
|
||
if (_logic.GetProject.pj_status.StartsWith("删减"))
|
||
_logic.GetProject.pj_status = ProjectStatus.删减预审通过;
|
||
|
||
_logic.GetProject.pj_nextDept = dept.GetDepartment.dep_mastdept;
|
||
}
|
||
_logic.PaObj.pa_id = _logic.GetProject.ID;
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
/*
|
||
bool canNotApprove = _logic.GetProject.pj_status.Equals(ProjectStatus.项目冻结) ||
|
||
_logic.GetProject.pj_status.Equals(ProjectStatus.项目完成) ||
|
||
_logic.GetProject.pj_status.StartsWith("删减") ||
|
||
_logic.GetProject.pj_status.StartsWith("新增") &&
|
||
(! _logic.GetProject.pj_status.Equals(ProjectStatus.新增审核通过) ||
|
||
|
||
! _logic.GetProject.pj_status.Equals(ProjectStatus.新增考核通过));
|
||
*/
|
||
bool canNotApprove = _logic.GetProject.pj_status.Equals(ProjectStatus.项目冻结) ||
|
||
_logic.GetProject.pj_status.Equals(ProjectStatus.项目未分配);
|
||
|
||
|
||
if(canNotApprove )
|
||
{
|
||
ScriptManager.RegisterStartupScript(Master.UpdatePanelMaster, typeof(UpdatePanel), "alert", "alert('项目 " + _logic.GetProject.pj_name
|
||
+ " 不可以月度审批,操作失败。');", true);
|
||
return;
|
||
}
|
||
|
||
|
||
|
||
|
||
//更新项目明细状态
|
||
if (lem.CanKaoHe)
|
||
{
|
||
|
||
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.考核通过;
|
||
_logic.GetProject.pj_nextDept = -1;
|
||
_logic.GetProject.pj_score = Convert.ToDecimal(txtSystemScore.Text); //单月项目。
|
||
// _logic.GetProject.pj_finishDate = DateTime.Now.ToShortDateString();
|
||
|
||
|
||
}
|
||
|
||
else if (lem.CanShenHe)
|
||
{
|
||
|
||
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.审核通过;
|
||
|
||
_logic.GetProject.pj_nextDept = dept.GetDepartment.dep_mastdept;
|
||
|
||
_logic.GetProject.pj_status = ProjectStatus.项目完成;
|
||
// _logic.GetProject.pj_score = Convert.ToDecimal(txtSystemScore.Text); //单月项目。
|
||
_logic.GetProject.pj_finishDate = DateTime.Now.ToShortDateString();
|
||
_logic.GetProject.pj_score = _logic.GetProjectDetail.pd_percent;
|
||
|
||
|
||
}
|
||
else if (lem.CanYuShen)
|
||
{
|
||
|
||
_logic.GetProjectDetail.pd_status = ProjectDetailStatus.预审通过;
|
||
_logic.GetProject.pj_nextDept = dept.GetDepartment.dep_mastdept;
|
||
}
|
||
|
||
_logic.PaObj.pa_id = _logic.GetProjectDetail.ID;
|
||
// _logic.PaObj.pa_score = txtApproveScore.Text.Length>0 ? Convert.ToInt32(txtApproveScore.Text) : Convert.ToInt32(txtSystemScore.Text);
|
||
_logic.PaObj.pa_score=Convert.ToDecimal(txtSystemScore.Text);
|
||
|
||
}
|
||
|
||
// using (TransactionScope trans = new TransactionScope())
|
||
{
|
||
try
|
||
{
|
||
if (!ProjectDetail.Visible)
|
||
_logic.GetProjectDetail.Update();
|
||
//更新项目主体下一个审批部门
|
||
|
||
_logic.GetProject.Update();
|
||
//记录考核动作
|
||
_logic.PaObj.pa_dept = _logic.GetProject.pj_dept;
|
||
|
||
_logic.PaObj.pa_emp = lem.GetEmployee.ID;
|
||
|
||
_logic.PaObj.pa_isProj = ProjectDetail.Visible;
|
||
_logic.PaObj.pa_mem = txtApproveMem.Text.Trim();
|
||
_logic.PaObj.pa_pass = true;
|
||
_logic.PaObj.Add();
|
||
|
||
// trans.Complete();
|
||
}
|
||
catch (MyException)
|
||
{
|
||
throw;
|
||
}
|
||
catch (Exception)
|
||
{
|
||
throw new Exception("出现异常,项目审批失败。");
|
||
}
|
||
|
||
|
||
}
|
||
|
||
ApproveListBind(_logic.GetProject.ID);
|
||
txtApproveMem.Text = "";
|
||
GridView1.SelectedIndex = -1;
|
||
Databound();//重新绑定数据
|
||
|
||
// ProjectMonthDetail.Visible = false;
|
||
// ProjectDetail.Visible = false;
|
||
// PanelApprove.Visible = false;
|
||
}
|
||
|
||
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 TxtBtnYear_TextChanged(object sender, EventArgs e)
|
||
{
|
||
|
||
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);
|
||
}
|
||
}
|
||
|
||
}
|
||
|