/// <summary>
 ///
 /// </summary>
 /// <param name="ID"></param>
 protected void ShowInitInfor(string ID)
 {
     try
     {
         cashorder_model = cashorder_bll.GetModel(int.Parse(ID));
         //预算报告名称
         TB_Name.Text = cashorder_model.NAMES;
         //报告审批人
         DDL_AssignChecker.SelectedValue = cashorder_model.Checker;
         //所属项目
         if (null != cashorder_model.ProjectID && !cashorder_model.ProjectID.ToString().Equals("9999"))
         {
             RBL_project.SelectedValue = "1";
             DDL_Project.Visible       = true;
             DDL_Project.SelectedValue = cashorder_model.ProjectID.ToString();
         }
         else
         {
             RBL_project.SelectedValue = "0";
             DDL_Project.Visible       = false;
         }
         //预算金额
         TB_BudgetAmount.Text = cashorder_model.BudgetAmount.ToString();
         //预算金额单位
         RB_BudgetAmount.SelectedValue = cashorder_model.BAUNIT.ToString().Equals("万元") ? "1" : "0";
     }
     catch
     { }
 }
        /// <summary>
        /// 显示详情
        /// </summary>
        /// <param name="ID"></param>
        protected void ShowInfor(string ID)
        {
            try
            {
                order_model = order_bll.GetModel(int.Parse(ID));

                if (null != order_model.Note && !order_model.Note.ToString().Equals(""))
                {
                    LB_Notes.Text = order_model.Note.ToString();
                }
                else
                {
                    LB_Notes.Text = " 暂无预算报告!";
                }
            }
            catch
            { }
        }
        /// <summary>
        /// 确定事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button_sumbit_click(object sender, EventArgs e)
        {
            try
            {
                Model.USER_Users user_model = (Model.USER_Users)Session["USER_Users"];

                if (null != Request["ID"] && !Request["ID"].ToString().Equals(""))//表示是修改
                {
                    cashorder_model = cashorder_bll.GetModel(int.Parse(Request["ID"].ToString()));
                    //预算报告的名称
                    cashorder_model.NAMES = TB_Name.Text.Trim().ToString();
                    //所属项目
                    if (RBL_project.SelectedValue.ToString().Equals("1"))//表示有所属项目
                    {
                        cashorder_model.ProjectID = int.Parse(DDL_Project.SelectedValue.ToString());
                    }
                    else
                    {
                        cashorder_model.ProjectID = 9999;//表示暂无所属项目
                    }
                    //申请时间
                    cashorder_model.ADDTIME = DateTime.Now;
                    //预算金额
                    cashorder_model.BudgetAmount = decimal.Parse(TB_BudgetAmount.Text.Trim().ToString());
                    //预算金额单位
                    cashorder_model.BAUNIT = RB_BudgetAmount.SelectedItem.Text.ToString();
                    //审核状态
                    cashorder_model.Status = 0;
                    //预算报告的文件路径
                    if (FileUpload_list.FileName.Length > 2)
                    {
                        string[] content = fileup.UpFile_COMMONS(FileUpload_list, "/AllFileUp/fileup", "");
                        //1-成功;0-失败;2-类型不支持;3-大小不符合;文件的路径;文件名称;文件类型;图标;大小;操作结果
                        if (content[0] == "0")
                        {
                            tag.Text = "文件上传失败,请重新上传!";
                            return;
                        }
                        else if (content[0] == "2")
                        {
                            tag.Text = "系统不允许此类文件上传,文件上传失败,请重新上传!";
                            return;
                        }
                        else if (content[0] == "3")
                        {
                            tag.Text = "文件上传大小不符合,文件上传失败,请重新上传!";
                            return;
                        }

                        //备注信息
                        cashorder_model.Note = cashorder_model.Note + "<br>" + user_model.REALNAME + " " + DateTime.Now + "上传预算报告:<a href='" + content[1].ToString() + "' target='_blank'>" + FileUpload_list.FileName.ToString() + "</a><br>";

                        cashorder_model.BudgetList = content[1];
                    }
                    //指定审批人
                    cashorder_model.Checker = DDL_AssignChecker.SelectedValue.ToString();

                    //添加操作
                    cashorder_bll.Update(cashorder_model);

                    ////如果操作者和审批人是同一个人就不需要再发送了。
                    //if (((Model.USER_Users)Session["USER_Users"]).ID.Equals(cashorder_model.Checker.ToString()))
                    //{

                    //}
                    /*给业务申请者发信息*/
                    Model.FaceShowMessage mFaceShowMessage = new Dianda.Model.FaceShowMessage();
                    BLL.FaceShowMessage   bFaceShowMessage = new Dianda.BLL.FaceShowMessage();

                    mFaceShowMessage.DATETIME  = DateTime.Now;
                    mFaceShowMessage.FromTable = "预算申请";
                    mFaceShowMessage.IsRead    = 0;
                    mFaceShowMessage.NewsID    = null;
                    mFaceShowMessage.NewsType  = "预算申请";
                    mFaceShowMessage.ReadTime  = null;
                    mFaceShowMessage.DELFLAG   = 0;
                    mFaceShowMessage.ProjectID = cashorder_model.ProjectID;
                    mFaceShowMessage.Receive   = cashorder_model.Checker.ToString();
                    mFaceShowMessage.URLS      = ((Model.USER_Users)Session["USER_Users"]).REALNAME + "(" + ((Model.USER_Users)Session["USER_Users"]).USERNAME.ToString() + ")编辑预算申请<a href='/Admin/budgetManage/budgetmanage.aspx?Status=" + cashorder_model.Status.ToString() + "&role=manager' target='_self' title='编辑时间:" + DateTime.Now + "'>  点击处理</a>";
                    bFaceShowMessage.Add(mFaceShowMessage);
                    /*给业务申请者发信息*/
                }
                else//新建
                {
                    //ID
                    cashorder_model.ID = cashorder_bll.GetMaxId();
                    //预算报告的名称
                    cashorder_model.NAMES = TB_Name.Text.Trim().ToString();
                    //所属项目
                    if (RBL_project.SelectedValue.ToString().Equals("1"))//表示有所属项目
                    {
                        cashorder_model.ProjectID = int.Parse(DDL_Project.SelectedValue.ToString());
                    }
                    else
                    {
                        cashorder_model.ProjectID = 9999;
                    }
                    //申请时间
                    cashorder_model.ADDTIME = DateTime.Now;
                    //预算金额
                    cashorder_model.BudgetAmount = decimal.Parse(TB_BudgetAmount.Text.Trim().ToString());
                    //预算金额单位
                    cashorder_model.BAUNIT = RB_BudgetAmount.SelectedItem.Text.ToString();
                    //申请人
                    cashorder_model.Applyuser = user_model.ID;
                    //审核状态
                    cashorder_model.Status = 0;
                    //删除标记
                    cashorder_model.Delflag = 0;
                    //预算报告的文件路径
                    if (TB_Name.Text.Trim().ToString().Equals(""))
                    {
                        tag.Text = "预算报告名称不能为空!";
                        return;
                    }
                    else if (TB_BudgetAmount.Text.Trim().ToString().Equals(""))
                    {
                        tag.Text = "预算金额不能为空!";
                        return;
                    }
                    else if (FileUpload_list.FileName.Length <= 0)
                    {
                        tag.Text = "上传预算报告项不能为空!";
                        return;
                    }
                    if (FileUpload_list.FileName.Length > 2)
                    {
                        string[] content = fileup.UpFile_COMMONS(FileUpload_list, "/AllFileUp/fileup", "");
                        //1-成功;0-失败;2-类型不支持;3-大小不符合;文件的路径;文件名称;文件类型;图标;大小;操作结果
                        if (content[0] == "0")
                        {
                            tag.Text = "文件上传失败,请重新上传!";
                            return;
                        }
                        else if (content[0] == "2")
                        {
                            tag.Text = "系统不允许此类文件上传,文件上传失败,请重新上传!";
                            return;
                        }
                        else if (content[0] == "3")
                        {
                            tag.Text = "文件上传大小不符合,文件上传失败,请重新上传!";
                            return;
                        }

                        cashorder_model.BudgetList = content[1];
                    }
                    //资金卡数目
                    cashorder_model.CarNums = 0;
                    //指定审批人
                    cashorder_model.Checker = DDL_AssignChecker.SelectedValue.ToString();
                    //备注信息
                    cashorder_model.Note = user_model.REALNAME + " " + DateTime.Now + "上传预算报告:<a href='" + cashorder_model.BudgetList.ToString() + "' target='_blank'>" + FileUpload_list.FileName.ToString() + "</a><br>";

                    //添加操作
                    cashorder_bll.Add(cashorder_model);

                    /*给业务申请者发信息*/
                    Model.FaceShowMessage mFaceShowMessage = new Dianda.Model.FaceShowMessage();
                    BLL.FaceShowMessage   bFaceShowMessage = new Dianda.BLL.FaceShowMessage();

                    mFaceShowMessage.DATETIME  = DateTime.Now;
                    mFaceShowMessage.FromTable = "预算申请";
                    mFaceShowMessage.IsRead    = 0;
                    mFaceShowMessage.NewsID    = null;
                    mFaceShowMessage.NewsType  = "预算申请";
                    mFaceShowMessage.ReadTime  = null;
                    mFaceShowMessage.DELFLAG   = 0;
                    mFaceShowMessage.ProjectID = cashorder_model.ProjectID;
                    mFaceShowMessage.Receive   = cashorder_model.Checker.ToString();
                    mFaceShowMessage.URLS      = ((Model.USER_Users)Session["USER_Users"]).REALNAME + "(" + ((Model.USER_Users)Session["USER_Users"]).USERNAME.ToString() + ")提交预算申请<a href='/Admin/budgetManage/budgetmanage.aspx?Status=" + cashorder_model.Status.ToString() + "&role=manager' target='_self' title='提交时间:" + DateTime.Now + "'>  点击处理</a>";
                    bFaceShowMessage.Add(mFaceShowMessage);
                    /*给业务申请者发信息*/
                }

                string coutws = "<script language=\"javascript\" type=\"text/javascript\">alert(\"操作成功!现在进入列表页面\"); location.href = \"budgetmanage.aspx?pageindex=" + Request["pageindex"] + "\";</script>";
                Response.Write(coutws);
            }
            catch
            { }
        }
Beispiel #4
0
        /// <summary>
        /// 确定事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button_sumbit_click(object sender, EventArgs e)
        {
            try
            {
                Model.USER_Users user_model = (Model.USER_Users)Session["USER_Users"];
                string           ID         = Request["ID"].ToString();
                DataTable        UserIDdt   = new DataTable();
                bool             TnF        = false;
                tag.Text = "";

                if (RBL_check.SelectedValue == "")
                {
                    tag.Text = "请选择审批权限!";
                    return;
                }

                order_model = order_bll.GetModel(int.Parse(ID));

                //审核状态,如果审核状态是1,表示当前预算报告是审核通过后,由“预算管理”人员进来重新修改的
                //此时修改需要向(财务、秘书、审批过的分管领导(给于同意的)、申请人)发送信息
                if (order_model.Status == 1)
                {
                    TnF = true;
                    string UserIDStr   = "";                            //用户id字符串
                    string UserNameStr = "";                            //用户名字符串
                    UserIDStr = order_model.Applyuser;                  //申请人id
                    if (!string.IsNullOrEmpty(order_model.TEMP1))
                    {
                        UserIDStr += "," + order_model.TEMP1;                               //上一审批人id
                    }
                    string   CheckerHistory = order_model.CheckerHistory.TrimStart(';');    //审核的历史记录
                    string[] CHarr          = CheckerHistory.Split(';');
                    //找出所有审核过的人员
                    for (int i = 0; i < CHarr.Length; i++)
                    {
                        string[] s = CHarr[i].Split(':');
                        UserNameStr += s[0] + ",";
                    }
                    UserNameStr = UserNameStr.TrimEnd(',');
                    UserIDStr   = UserIDStr.Replace(",", "','");
                    UserNameStr = UserNameStr.Replace(",", "','");

                    string sql = "select distinct a.id from USER_Users a " +
                                 " left outer join USER_Groups b on a.groups like '%'+b.id+'%' " +
                                 " where (b.tags='普通组' and b.name in ('财务','秘书'))" +
                                 " or a.id in ('" + UserIDStr + "') or a.username in ('" + UserNameStr + "')";
                    UserIDdt = pageControl.doSql(sql).Tables[0];
                }
                //室主任审批
                if (RBL_check.SelectedValue.Equals("1"))
                {
                    //专项资金
                    int special;
                    if (int.TryParse(DDL_SpecialFundsID.SelectedValue.ToString(), out special))
                    {
                        order_model.SpecialFundsID = special;
                    }
                    //order_model.SpecialFundsID = int.Parse(DDL_SpecialFundsID.SelectedValue.ToString());
                    //指定经费审批人
                    order_model.AssignChecker = DDL_AssignChecker.SelectedValue.ToString();
                }

                //实际确认预算金额
                if (tr_BudgetAmount.Visible == true)
                {
                    order_model.ActualAmount = decimal.Parse(TB_ActualAmount.Text.Trim().ToString());
                }
                //实际确认预算金额单位
                order_model.AAUNIT = RB_AAUNIT.SelectedValue.ToString();
                if (FileUpload_list.FileName.Length > 2)
                {
                    string[] content = fileup.UpFile_COMMONS(FileUpload_list, "/AllFileUp/fileup", "");
                    //1-成功;0-失败;2-类型不支持;3-大小不符合;文件的路径;文件名称;文件类型;图标;大小;操作结果
                    if (content[0] == "0")
                    {
                        tag.Text = "文件上传失败,请重新上传!";
                        return;
                    }
                    else if (content[0] == "2")
                    {
                        tag.Text = "系统不允许此类文件上传,文件上传失败,请重新上传!";
                        return;
                    }
                    else if (content[0] == "3")
                    {
                        tag.Text = "文件上传大小不符合,文件上传失败,请重新上传!";
                        return;
                    }

                    //备注信息
                    order_model.Note = order_model.Note + "<br>" + user_model.REALNAME + " " + DateTime.Now + "上传预算报告:<a href='" + content[1].ToString() + "' target='_blank'>" + FileUpload_list.FileName.ToString() + "</a><br>";

                    order_model.BudgetList = content[1];
                }


                string check = ""; //审核结果
                if (RBL_check.SelectedIndex == 0)
                {
                    if (RBL_Checker.SelectedValue == "0")
                    {
                        check = "3"; //如果是分管领导审核通过  那么把状态  status改为 3 (分管领导审核通过)    陈雨 2012年7月20日12:31:34
                    }
                    else if (RBL_Checker.SelectedValue == "2")
                    {
                        check = "23";
                    }
                }
                else
                {
                    check = RBL_Checker.SelectedValue.ToString();
                }

                order_model.Status = int.Parse(check);

                string checkvalue = RBL_Checker.SelectedItem.Text.ToString();

                if (check.Equals("3"))//表示需要继续审核
                {
                    //如果有一下审批人,那么则要将原来的审批人变成上一审批人存储起来,因为需要发送信息
                    order_model.TEMP1 = order_model.Checker;
                    //下一审核人
                    order_model.Checker = DDL_Checker.SelectedValue.ToString();
                    //如果是继续审核则显示指定的下一审批人
                    checkvalue = checkvalue + "(" + DDL_Checker.SelectedItem.ToString() + ")";
                }
                else
                {
                    //预算审批人
                    order_model.Checker = user_model.ID;
                    if (check.Equals("1"))//如果是审核通过,需要发送新建资金卡的通知
                    {
                        Dianda.Model.Cash_Message cashmessage_model = new Dianda.Model.Cash_Message();
                        Dianda.BLL.Cash_Message   cashmessage_bll   = new Dianda.BLL.Cash_Message();

                        //资金卡名称,加入的就是预算报告
                        cashmessage_model.CardName = "《" + order_model.NAMES.ToString() + "》的新建资金卡通知!";
                        //持卡人
                        cashmessage_model.CardholderID = "";
                        //项目的ID
                        cashmessage_model.ProjectID = order_model.ProjectID;
                        //初始金额
                        cashmessage_model.LimitNums = (order_model.ActualAmount) * (order_model.AAUNIT.Equals("元") ? 1 : 10000);
                        //填写的时间
                        cashmessage_model.DATETIME = Convert.ToDateTime(DateTime.Now.ToString());
                        //发出这个消息的用户的ID
                        cashmessage_model.SendUserID = user_model.ID;
                        //备注说明
                        cashmessage_model.Notes = "预算报告:‘" + order_model.NAMES.ToString() + "’的新建资金卡通知!发送人:" + user_model.REALNAME;
                        //是否已经阅读
                        cashmessage_model.IsRead = 0;
                        //消息的状态
                        cashmessage_model.Status = 1;
                        //所属预算报告
                        cashmessage_model.SFOrderID = order_model.ID;

                        Session["Cash_Message_temps"] = cashmessage_model;

                        //向信息表中添加一条新建资金卡的记录
                        cashmessage_bll.Add(cashmessage_model);
                    }
                    else//如果是不通过并且有上一审批人,就要把审批人改回成上一审批人
                    {
                        if (null != order_model.TEMP1 && !order_model.TEMP1.Equals(""))//说明有上一审批人,则退回到上一审批人
                        {
                            order_model.Checker = order_model.TEMP1;
                        }
                    }
                }
                //历史审核结果
                order_model.CheckerHistory = order_model.CheckerHistory + ";" + user_model.USERNAME.ToString() + ":" + checkvalue;

                //审核时间
                order_model.CheckTime = DateTime.Now;
                //备注信息
                order_model.TEMP2 = Overviews.Value.ToString();

                //执行审批操作
                order_bll.Update(order_model);

                /************************给业务申请者发信息***********************/

                //  1).首先给预算申请者发送信息
                Model.FaceShowMessage mFaceShowMessage = new Dianda.Model.FaceShowMessage();
                BLL.FaceShowMessage   bFaceShowMessage = new Dianda.BLL.FaceShowMessage();

                mFaceShowMessage.DATETIME  = DateTime.Now;
                mFaceShowMessage.FromTable = "预算审批";
                mFaceShowMessage.IsRead    = 0;
                mFaceShowMessage.NewsID    = null;
                mFaceShowMessage.NewsType  = "预算审批";
                mFaceShowMessage.ReadTime  = null;
                mFaceShowMessage.DELFLAG   = 0;
                mFaceShowMessage.ProjectID = order_model.ProjectID;

                if (TnF)
                {
                    mFaceShowMessage.URLS = user_model.REALNAME + "(" + user_model.USERNAME.ToString() + ")修改了已通过审核的预算申请<a href='/Admin/budgetManage/budgetmanage.aspx?role=lister' target='_self' title='编辑时间:" + DateTime.Now + "'>  点击查看</a>";
                    if (UserIDdt.Rows.Count > 0)
                    {
                        foreach (DataRow dr in UserIDdt.Rows)
                        {
                            mFaceShowMessage.Receive = dr["id"].ToString();
                            bFaceShowMessage.Add(mFaceShowMessage);
                        }
                    }
                }
                else
                {
                    //这里接受者应该是这个预算的申请者
                    mFaceShowMessage.Receive = order_model.Applyuser;//(区别在这里: 接收人不一样)
                    //这里的URL要带上审批的状态,以便查看时直接进入该状态下的列表中
                    mFaceShowMessage.URLS = ((Model.USER_Users)Session["USER_Users"]).REALNAME + "(" + ((Model.USER_Users)Session["USER_Users"]).USERNAME.ToString() + ")审批了您的预算申请<a href='/Admin/budgetManage/budgetmanage.aspx?Status=" + order_model.Status.ToString() + "' target='_self' title='审批时间:" + DateTime.Now + "'>  点击查看</a>";
                    bFaceShowMessage.Add(mFaceShowMessage);

                    //  2).如果有下一审核人则要给下一审核人发送信息
                    if (check.Equals("0"))//表示需要继续审核 
                    {
                        //这里接受者应该是选择的下一审批人
                        mFaceShowMessage.Receive = order_model.Checker;//(区别在这里: 接收人不一样)
                        //这里的URL要带上审批的状态,以便查看时直接进入该状态下的列表中,并且指定的下一审核人肯定是领导权限的,也就是有审核权限的,所以需要带上role
                        mFaceShowMessage.URLS = ((Model.USER_Users)Session["USER_Users"]).REALNAME + "(" + ((Model.USER_Users)Session["USER_Users"]).USERNAME.ToString() + ")给您发送预算审批<a href='/Admin/budgetManage/budgetmanage.aspx?Status=" + order_model.Status.ToString() + "&role=manager' target='_self' title='发送时间:" + DateTime.Now + "'>  点击处理</a>";
                        bFaceShowMessage.Add(mFaceShowMessage);

                        //  3).如果有下一审核人则要给上一审核人发送信息

                        //这里接受者应该是选择的上一审批人
                        mFaceShowMessage.Receive = order_model.TEMP1;//(区别在这里: 接收人不一样,TEMP1暂存了上一审批人)
                        //这里的URL要带上审批的状态,以便查看时直接进入该状态下的列表中,并且指定的下一审核人肯定是领导权限的,也就是有审核权限的,所以需要带上role
                        mFaceShowMessage.URLS = ((Model.USER_Users)Session["USER_Users"]).REALNAME + "(" + ((Model.USER_Users)Session["USER_Users"]).USERNAME.ToString() + ")审批了您发送的预算报告<a href='/Admin/budgetManage/budgetmanage.aspx?Status=" + order_model.Status.ToString() + "&role=manager' target='_self' title='审批时间:" + DateTime.Now + "'>  点击查看</a>";
                        bFaceShowMessage.Add(mFaceShowMessage);
                    }

                    //  4).如果有没有下一审核人并且审核通过,需要给指定经费审核人发送信息
                    if (check.Equals("1"))//表示需要审核通过
                    {
                        //这里接受者应该是选择的下一审批人
                        mFaceShowMessage.Receive = order_model.AssignChecker;//(区别在这里: 接收人不一样)
                        //这里的URL要带上审批的状态,以便查看时直接进入该状态下的列表中
                        mFaceShowMessage.URLS = ((Model.USER_Users)Session["USER_Users"]).REALNAME + "(" + ((Model.USER_Users)Session["USER_Users"]).USERNAME.ToString() + ")将您指定为 " + order_model.NAMES + " 的经费审批人<a href='/Admin/budgetManage/budgetmanage.aspx?Status=" + order_model.Status.ToString() + "&role=lister' target='_self' title='指定时间:" + DateTime.Now + "'>  点击查看</a>";
                        bFaceShowMessage.Add(mFaceShowMessage);
                    }

                    //  5).如果审核不通过,需要给指定经费审核人发送信息
                    if (check.Equals("2"))//表示需要审核不通过
                    {
                        //这里返回给创建人
                        mFaceShowMessage.Receive = order_model.Applyuser;
                        //这里的URL要带上审批的状态,以便查看时直接进入该状态下的列表中
                        mFaceShowMessage.URLS = ((Model.USER_Users)Session["USER_Users"]).REALNAME + "(" + ((Model.USER_Users)Session["USER_Users"]).USERNAME.ToString() + ")将您的申请预算 " + order_model.NAMES + " 审核不通过<a href='/Admin/budgetManage/budgetmanage.aspx?Status=2' target='_self' title='退回时间:" + DateTime.Now + "'>  点击查看</a>";
                        bFaceShowMessage.Add(mFaceShowMessage);
                    }
                    /************************给业务申请者发信息************************/
                }

                string coutws = "<script language=\"javascript\" type=\"text/javascript\">alert(\"操作成功!现在进入列表页面\"); location.href = \"budgetmanage.aspx?pageindex=" + Request["pageindex"] + "&Status=" + Request["Status"].ToString() + "&role=" + Request["role"].ToString() + "\";</script>";
                Response.Write(coutws);
            }
            catch
            {
            }
        }