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   ******************************************/
        /// 
        /// bound the query list.
        /// 
        private void Databound()
        {
            GridView1.DataSource = GetProjectListByRole();
            GridView1.DataBind();
            UpdateSession();
            //    btnSubmit.Enabled = false;
            ClearProjDetailData();
            ClearProjData();
            PanelApprove.Visible = false;
        }
        /// 
        /// 通过判断当前用户的身份,确定返回不同的项目列表
        /// 
        /// 
        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;
        }
        /// 
        /// 绑定当前项目信息到页面的项目基本信息区
        /// 
        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;
       }
        /// 
        /// set data from shift object to page
        /// 
        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();
     }
        /// 
        /// set data from shift object to page
        /// 
        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;
        }
        /// 
        /// 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();
            PanelApprove.Visible = true;
        }
        /// 
        /// 进度编辑/计划
        /// 
        /// 
        /// 
        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 "通过" + " ";
        return "未通过" + "
";
        return "未通过" + " "; ;
    }
    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);
        }
    }
   
}
"; ;
    }
    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);
        }
    }
   
}