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);
 | ||
|         }
 | ||
|     }
 | ||
|    
 | ||
| }
 | ||
|   |