/// <summary> /// 拒绝审核 /// </summary> private void Refuse() { int jobflowid = int.Parse(Request.QueryString["jobflowid"].ToString()); //工作流的id string comparedata = " reviewerid=" + ((PJOAModels.LoginInfo)Session["login"]).Id + " AND jobflowid=" + jobflowid.ToString(); if (PJOABLL.AuditJobFlowManager.GetList(comparedata).Rows.Count == 0) { //该工作流被收回或删除导致审批提交失败 Response.Redirect("../AuditError.aspx?error=0"); } else if (PJOABLL.JobFlowManager.GetModel(jobflowid).auditstatus == "03" || PJOABLL.JobFlowManager.GetModel(jobflowid).auditstatus == "04") { //该工作流是审核方式是选审或会签所以在提交审核时,工作流已由他人审核通过 Response.Redirect("../AuditError.aspx?error=1"); } else { string ruletxt = ""; //审核的分类 DataTable tbl = PJOABLL.ViewBLL.ViewApplySealManager.getlist(jobflowid); if (tbl.Rows.Count == 1) { ruletxt = tbl.Rows[0]["rulesort"].ToString(); //修改公章申请单 PJOAModels.ApplySeal model = new PJOAModels.ApplySeal(); model.applicantid = int.Parse(tbl.Rows[0]["applicantid"].ToString()); model.applydate = DateTime.Parse(tbl.Rows[0]["applydate"].ToString()); model.borrowsendtime = DateTime.Parse(tbl.Rows[0]["borrowsendtime"].ToString()); model.borrowstarttime = DateTime.Parse(tbl.Rows[0]["borrowstarttime"].ToString()); model.id = int.Parse(tbl.Rows[0]["id"].ToString()); model.jobflowid = int.Parse(tbl.Rows[0]["jobflowid"].ToString()); model.remark = tbl.Rows[0]["remark"].ToString(); model.sort = int.Parse(tbl.Rows[0]["sealsort"].ToString()); model.txt = tbl.Rows[0]["sealtxt"].ToString() + ((PJOAModels.LoginInfo)Session["login"]).Cname + "的审核意见:" + Server.UrlDecode(this.treacomment.Value.Trim()) + "|"; PJOABLL.ApplySealManager.Update(model); //修改当前审核人的记录 PJOAModels.AuditJobFlow auditmodel = null; string auditstr = " jobflowid=" + jobflowid.ToString() + " AND reviewerid=" + ((PJOAModels.LoginInfo)Session["login"]).Id; DataTable audittbl = PJOABLL.AuditJobFlowManager.GetList(auditstr); // 查找到当前审核人员的记录 int num = int.Parse(audittbl.Rows[0]["numbers"].ToString()); //当前审核人员编号 string mainreviewer = audittbl.Rows[0]["mainreviewer"].ToString(); //当前审核人是不是最终审核人 auditmodel = new PJOAModels.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()); PJOABLL.AuditJobFlowManager.Update(auditmodel); PJOAModels.JobFlow jobflowmodel = new PJOAModels.JobFlow(); jobflowmodel = PJOABLL.JobFlowManager.GetModel(jobflowid); //依据不同的审核类型进行操作 switch (ruletxt) { case "单审": case "会签": jobflowmodel.endtime = DateTime.Now; jobflowmodel.auditstatus = "03"; //工作流的审核状态为“被拒绝” PJOABLL.JobFlowManager.Update(jobflowmodel); break; case "选审": string st = " jobflowid=" + jobflowid.ToString(); DataTable tbla = PJOABLL.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"; // 工作流的审核状态为被拒绝 PJOABLL.JobFlowManager.Update(jobflowmodel); } else { jobflowmodel.auditstatus = "02"; // 工作流的审核状态为进行中 PJOABLL.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); } } }
/// <summary> /// 创建审批序列 /// </summary> /// <param name="auditsort">审批的类型单审,选审或是会签</param> /// <param name="staff">审核人员的列表</param> /// <param name="id">工作流的id号</param> private void CreateApproval(string auditsort, string stafflist, int id) { string[] staff = null; int len = 0; //审批人员的个数 PJOAModels.AuditJobFlow model = null; if (stafflist.IndexOf(",") == -1) { staff = new string[1]; staff[0] = stafflist; len = 1; } else { staff = stafflist.Split(','); len = staff.Length; } switch (auditsort) { case "单审": for (int i = 0; i < staff.Length; i++) { model = new PJOAModels.AuditJobFlow(); model.auditoperat = "未操作"; model.operatstatus = "未审核"; model.audittime = new DateTime(1900, 1, 1); if (i == 0) { model.nowreviewer = "T"; //第一个审核的人员 } else { model.nowreviewer = "F"; } if ((i + 1) == len) { model.mainreviewer = "T"; //最终审核的人员 } else { model.mainreviewer = "F"; } model.numbers = i + 1; model.jobflowid = id; model.reviewerid = int.Parse(staff[i]); PJOABLL.AuditJobFlowManager.Add(model); } break; case "选审": case "会签": for (int i = 0; i < staff.Length; i++) { model = new PJOAModels.AuditJobFlow(); model.audittime = new DateTime(1900, 1, 1); model.nowreviewer = "T"; model.mainreviewer = "T"; model.numbers = 1; model.jobflowid = id; model.auditoperat = "未操作"; model.operatstatus = "未审核"; model.reviewerid = int.Parse(staff[i]); PJOABLL.AuditJobFlowManager.Add(model); } break; } }