/// <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"); } } }
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; } }
/// <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"); } }
//审核不通过 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); } } }