Пример #1
0
        /// <summary>
        /// 申请
        /// </summary>
        private void SubmitInput()
        {
            string[] strfile = FileUp(Request.Files);
            if (strfile[0] != "")
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), "jobflow", "<script>alert('提交申请失败原因:" + strfile[0] + "!');</script>", false);
            }
            else
            {
                //创建工作流
                this.lblnumbers.Text = Numbers(); //动态生成编号
                EtNet_Models.JobFlow jobmodel = new EtNet_Models.JobFlow();
                jobmodel.cname       = this.lblnumbers.Text;
                jobmodel.attachment  = (strfile[6] == "1" ? strfile[6] : "~/UploadFile/Job/defaultfile.txt");
                jobmodel.sort        = "01";
                jobmodel.auditsort   = "";
                jobmodel.auditstatus = "01";
                jobmodel.createtime  = DateTime.Now;                                  //默认是当前时间
                jobmodel.endtime     = DateTime.Now;
                jobmodel.founderid   = ((EtNet_Models.LoginInfo)Session["login"]).Id; //登录人员的id号
                jobmodel.savestatus  = "已提交";
                jobmodel.txt         = "";
                jobmodel.ruleid      = int.Parse(this.ddlapprovalrole.SelectedValue);

                // EtNet_BLL.JobFlowManager.Add(jobmodel);
                // int maxid = EtNet_BLL.JobFlowManager.Maxid();

                int maxid = EtNet_BLL.JobFlowManager.AddAndGetId(jobmodel);
                if (strfile[6] == "1")
                {
                    CreateJobFlowFile(strfile, maxid);
                }

                EtNet_Models.ApplyLeaveList model = new EtNet_Models.ApplyLeaveList();
                model.applydate     = DateTime.Now;
                model.starttime     = Convert.ToDateTime(this.iptstartdate.Value);
                model.endtime       = Convert.ToDateTime(this.iptenddate.Value);
                model.jobflowid     = maxid;
                model.leavepeopleid = ((EtNet_Models.LoginInfo)Session["login"]).Id; //登录人员的id号
                model.sort          = this.radsort.SelectedValue;
                model.remark        = Server.UrlDecode(this.iptremark.Value);
                model.txt           = ""; //审批人员填写的字段


                if (EtNet_BLL.ApplyLeaveListManager.Add(model))
                {
                    string stafflist = EtNet_BLL.ApprovalRuleManager.GetModel(int.Parse(this.ddlapprovalrole.SelectedValue)).idgourp.ToString();
                    CreateApproval(ddlauditsort.SelectedValue, stafflist, maxid);
                    SendInformation(maxid, stafflist.Split(','));

                    Response.Redirect("ShowLeaveForm.aspx");
                }
            }
        }
Пример #2
0
        protected void rptapplyleaveform_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            switch (e.CommandName)
            {
            case "edit":
                int jobflowid = int.Parse(e.CommandArgument.ToString());
                EtNet_Models.JobFlow model = EtNet_BLL.JobFlowManager.GetModel(jobflowid);
                if (model != null && model.savestatus == "草稿")
                {
                    Response.Redirect("ModifyLeaveForm.aspx?id=" + e.CommandArgument.ToString());
                }
                else
                {
                    LoadLeaveFormData();
                    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "edit", "<script>alert('不能修改该请假单!')</script>", false);
                }

                break;

            case "search":
                Response.Redirect("SearchLeaveForm.aspx?id=" + e.CommandArgument.ToString());
                break;

            case "del":
                int jfid = int.Parse(e.CommandArgument.ToString());
                EtNet_Models.JobFlow jfmodel = EtNet_BLL.JobFlowManager.GetModel(jfid);

                if (jfmodel == null || jfmodel.auditstatus != "01")
                {
                    LoadLeaveFormData();
                    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "del", "<script>alert('删除失败,单据已删除或审核员已审核!')</script>", false);
                }
                else
                {
                    string strSql = " jobflowid = " + e.CommandArgument.ToString();
                    EtNet_BLL.AuditJobFlowManager.Delete(strSql);
                    int id = int.Parse(EtNet_BLL.ApplyLeaveListManager.GetList(strSql).Rows[0]["id"].ToString());
                    EtNet_BLL.ApplyLeaveListManager.Delete(id);
                    DelFile(Convert.ToInt32(e.CommandArgument.ToString()));         //删除上传的附件
                    EtNet_BLL.JobFlowFileManager.Delete(Convert.ToInt32(e.CommandArgument.ToString()));
                    //删除工作流
                    EtNet_BLL.JobFlowManager.Delete(Convert.ToInt32(Convert.ToInt32(e.CommandArgument.ToString())));
                    LoadLeaveFormData();
                    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "del", "<script>alert('删除成功!')</script>", false);
                }
                break;



            case "refresh":
                int refreshjfid = int.Parse(e.CommandArgument.ToString());
                EtNet_Models.JobFlow refreshmodel = EtNet_BLL.JobFlowManager.GetModel(refreshjfid);
                if (refreshmodel != null && (refreshmodel.auditstatus == "01" || refreshmodel.auditstatus == "03"))
                {
                    string strfresh = " jobflowid = " + e.CommandArgument.ToString();
                    EtNet_BLL.AuditJobFlowManager.Delete(strfresh);    //删除审核人员的数据,请假单回到草稿状态
                    refreshmodel.savestatus  = "草稿";
                    refreshmodel.auditstatus = "01";

                    string leaveformid = EtNet_BLL.ApplyLeaveListManager.GetList(strfresh).Rows[0]["id"].ToString();     //更具工作流id值获取请假单的id值
                    EtNet_Models.ApplyLeaveList leavemodel = EtNet_BLL.ApplyLeaveListManager.GetModel(int.Parse(leaveformid));
                    leavemodel.txt = "";
                    EtNet_BLL.ApplyLeaveListManager.Update(leavemodel);

                    string strname = refreshmodel.cname;    //请假单单编号
                    if (EtNet_BLL.JobFlowManager.Update(refreshmodel))
                    {
                        Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "reone", "<script>alert('成功收回单据号为" + strname + "的请假单!')</script>", false);
                    }
                }
                else
                {
                    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "retwo", "<script>alert('该请假单不能回收,原因可能已删除审核人员在审核或审核已通过!')</script>", false);
                }


                LoadLeaveFormData();
                break;
            }
        }
Пример #3
0
        /// <summary>
        /// 保存申请
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ibtnSave_Click(object sender, ImageClickEventArgs e)
        {
            if (IsCanModifyUp())
            {
                string[] strfile = FileUp(Request.Files);
                if (strfile[0] != "")
                {
                    Page.ClientScript.RegisterStartupScript(Page.GetType(), "jobflow", "<script>alert('提交申请失败原因:" + strfile[0] + "!');</script>", false);
                }
                else
                {
                    EtNet_Models.JobFlow jobmodel = new EtNet_Models.JobFlow();
                    jobmodel.cname       = this.lblnumbers.Text;
                    jobmodel.sort        = "01";
                    jobmodel.auditsort   = "";
                    jobmodel.auditstatus = "01";
                    jobmodel.createtime  = DateTime.Now;                                  //默认是当前时间
                    jobmodel.endtime     = DateTime.Now;
                    jobmodel.founderid   = ((EtNet_Models.LoginInfo)Session["login"]).Id; //登录人员的id号
                    jobmodel.savestatus  = "草稿";
                    jobmodel.txt         = "";
                    jobmodel.id          = int.Parse(Request.QueryString["id"].ToString());
                    //未选审核规则字段值为“1”
                    jobmodel.ruleid = (this.ddlapprovalrole.SelectedIndex == 0) ? 1 : int.Parse(this.ddlapprovalrole.SelectedValue);

                    //判断是否有附件
                    if (strfile[6] == "1")
                    {
                        jobmodel.attachment = "1";
                    }
                    else
                    {
                        bool hasflie = SerchFile(int.Parse(Request.QueryString["id"].ToString()));
                        if (hasflie)
                        {
                            jobmodel.attachment = "1";
                        }
                        else
                        {
                            jobmodel.attachment = "~/UploadFile/Job/defaultfile.txt";
                        }
                    }

                    EtNet_BLL.JobFlowManager.Update(jobmodel);

                    //添加新上传的附件
                    if (strfile[6] == "1")
                    {
                        CreateJobFlowFile(strfile, int.Parse(Request.QueryString["id"].ToString()));
                    }


                    EtNet_Models.ApplyLeaveList model = new EtNet_Models.ApplyLeaveList();
                    model.applydate     = DateTime.Now;
                    model.starttime     = Convert.ToDateTime(this.iptstartdate.Value);
                    model.endtime       = Convert.ToDateTime(this.iptenddate.Value);
                    model.jobflowid     = int.Parse(Request.QueryString["id"].ToString());
                    model.leavepeopleid = ((EtNet_Models.LoginInfo)Session["login"]).Id; //登录人员的id号
                    model.sort          = this.radsort.SelectedValue;                    //请假的类型
                    model.remark        = Server.UrlDecode(this.iptremark.Value);
                    model.txt           = "";                                            //审批人员填写的字段
                    model.id            = int.Parse(Session["QJDId"].ToString());

                    if (EtNet_BLL.ApplyLeaveListManager.Update(model))
                    {
                        Response.Redirect("ShowLeaveForm.aspx");
                    }
                }
            }
            else
            {
                Response.Redirect("../Error.aspx?error=2");
            }
        }
Пример #4
0
        //审核不通过
        protected void btnRefuse_Click(object sender, EventArgs e)
        {
            int    jobflowid   = int.Parse(Request.QueryString["jobflowid"].ToString()); //工作流的id
            string comparedata = " reviewerid=" + ((EtNet_Models.LoginInfo)Session["login"]).Id + " AND jobflowid=" + jobflowid.ToString();

            if (EtNet_BLL.AuditJobFlowManager.GetList(comparedata).Rows.Count == 0)
            {
                //该工作流被收回或删除导致审批提交失败
                Response.Redirect("../AuditError.aspx?error=0");
            }
            else if (EtNet_BLL.JobFlowManager.GetModel(jobflowid).auditstatus == "03" || EtNet_BLL.JobFlowManager.GetModel(jobflowid).auditstatus == "04")
            {
                //该工作流是审核方式是选审或会签所以在提交审核时,工作流已由他人审核通过
                Response.Redirect("../AuditError.aspx?error=1");
            }
            else
            {
                string    ruletxt = ""; //审核的分类
                DataTable tbl     = EtNet_BLL.ViewBLL.ViewApplyLeaveListManager.getOneList(jobflowid);
                if (tbl.Rows.Count == 1)
                {
                    ruletxt = tbl.Rows[0]["rulesort"].ToString();
                    //修改请假单
                    EtNet_Models.ApplyLeaveList model = new EtNet_Models.ApplyLeaveList();
                    model.applydate     = DateTime.Parse(tbl.Rows[0]["applydate"].ToString());
                    model.endtime       = DateTime.Parse(tbl.Rows[0]["leaveendtime"].ToString());
                    model.id            = int.Parse(tbl.Rows[0]["id"].ToString());
                    model.jobflowid     = int.Parse(tbl.Rows[0]["jobflowid"].ToString());
                    model.leavepeopleid = int.Parse(tbl.Rows[0]["founderid"].ToString());
                    model.remark        = tbl.Rows[0]["remark"].ToString();
                    model.sort          = tbl.Rows[0]["applyleavesort"].ToString();
                    model.starttime     = DateTime.Parse(tbl.Rows[0]["leavestarttime"].ToString());
                    model.txt           = tbl.Rows[0]["applyleavetxt"].ToString() + ((EtNet_Models.LoginInfo)Session["login"]).Cname + "的审核意见:" + Server.UrlDecode(this.treacomment.Value.Trim()) + "| ";
                    EtNet_BLL.ApplyLeaveListManager.Update(model);

                    //修改当前审核人的记录
                    EtNet_Models.AuditJobFlow auditmodel = null;
                    string    auditstr     = " jobflowid=" + jobflowid.ToString() + " AND reviewerid=" + ((EtNet_Models.LoginInfo)Session["login"]).Id;
                    DataTable audittbl     = EtNet_BLL.AuditJobFlowManager.GetList(auditstr);   // 查找到当前审核人员的记录
                    int       num          = int.Parse(audittbl.Rows[0]["numbers"].ToString()); //当前审核人员编号
                    string    mainreviewer = audittbl.Rows[0]["mainreviewer"].ToString();       //当前审核人是不是最终审核人

                    auditmodel              = new EtNet_Models.AuditJobFlow();
                    auditmodel.auditoperat  = "拒绝";
                    auditmodel.audittime    = DateTime.Now;
                    auditmodel.id           = int.Parse(audittbl.Rows[0]["id"].ToString());
                    auditmodel.jobflowid    = int.Parse(audittbl.Rows[0]["jobflowid"].ToString());
                    auditmodel.mainreviewer = audittbl.Rows[0]["mainreviewer"].ToString();
                    auditmodel.nowreviewer  = "P"; //能查找到工作流记录,但不能进行审核操作
                    auditmodel.numbers      = int.Parse(audittbl.Rows[0]["numbers"].ToString());
                    auditmodel.operatstatus = "已审核";
                    auditmodel.reviewerid   = int.Parse(audittbl.Rows[0]["reviewerid"].ToString());
                    EtNet_BLL.AuditJobFlowManager.Update(auditmodel);

                    EtNet_Models.JobFlow jobflowmodel = new EtNet_Models.JobFlow();
                    jobflowmodel = EtNet_BLL.JobFlowManager.GetModel(jobflowid);

                    //依据不同的审核类型进行操作
                    switch (ruletxt)
                    {
                    case "单审":
                    case "会签":
                        jobflowmodel.endtime     = DateTime.Now;
                        jobflowmodel.auditstatus = "03";     //工作流的审核状态为“被拒绝”
                        EtNet_BLL.JobFlowManager.Update(jobflowmodel);

                        break;

                    case "选审":
                        string    st     = " jobflowid=" + jobflowid.ToString();
                        DataTable tbla   = EtNet_BLL.AuditJobFlowManager.GetList(st);
                        bool      refuse = true;

                        for (int j = 0; j < tbla.Rows.Count; j++)
                        {
                            if (tbla.Rows[j]["auditoperat"].ToString() != "拒绝")
                            {
                                refuse = false;     //还有其他审核人员未审
                                break;
                            }
                        }
                        if (refuse)
                        {
                            jobflowmodel.endtime     = DateTime.Now;
                            jobflowmodel.auditstatus = "03";     // 工作流的审核状态为被拒绝
                            EtNet_BLL.JobFlowManager.Update(jobflowmodel);
                        }
                        else
                        {
                            jobflowmodel.auditstatus = "02";     // 工作流的审核状态为进行中
                            EtNet_BLL.JobFlowManager.Update(jobflowmodel);
                        }

                        break;
                    }


                    string strad = "拒绝编号为" + jobflowmodel.cname + "的单据申请";
                    SendInfo(strad, jobflowmodel.id);
                    Response.Redirect("../AuditJobFlow.aspx");
                }
                else
                {
                    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "audit", "<script> alert('审批出错!')</script>", false);
                }
            }
        }