public ActionResult AddOrUpdate(string json) { var rdto = new ResultMessages(); rdto.Message = ""; List<DocNo> jsArray = (List<DocNo>)JavaScriptConvert.DeserializeObject(json, typeof(List<DocNo>)); foreach(var dn in jsArray) { if(dn.Id==0) { dn.CreatDate = DateTime.Now; ctx.DocNos.InsertOnSubmit(dn); } else { var oriObj = ctx.DocNos.Single(r => r.Id == dn.Id); oriObj.DocNo1 = dn.DocNo1; oriObj.DocName = dn.DocName; oriObj.OrderNo = dn.OrderNo; oriObj.CreatDate = DateTime.Now; } } try { ctx.SubmitChanges(); rdto.Message = "新增成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "新增失败"; rdto.Result = false; } return Json(rdto); }
public ResultMessages Save(InfoMarket obj, int empId) { var rdto = new ResultMessages(); InfoMarket objOri; if(obj.Id!=0) { objOri = ctx.InfoMarkets.Single(r=>r.Id==obj.Id); objOri.CorpName = obj.CorpName; objOri.ClassName = obj.ClassName; objOri.Title = obj.Title; objOri.InfoFrom = obj.InfoFrom; objOri.Info = obj.Info; objOri.FileGuid = obj.FileGuid; objOri.FileName = obj.FileName; objOri.UpdateEmpId = empId; objOri.UpdateDate = DateTime.Now; } else { objOri = obj; ctx.InfoMarkets.InsertOnSubmit(objOri); } try { ctx.SubmitChanges(); rdto.Message = "更新成功"; rdto.Result = true; } catch { rdto.Message = "更新失败"; rdto.Result = false; } return rdto; }
public ActionResult Del_roles(string jsJson) { var rdto = new ResultMessages(); List<Role> jsArray = (List<Role>)JavaScriptConvert.DeserializeObject(jsJson, typeof(List<Role>)); for (int i = 0; i < jsArray.Count; i++) { Role role = jsArray[i]; try { Role ori = ctx.Roles.Single(r => r.Id == role.Id); ctx.Roles.DeleteOnSubmit(ori); ctx.SubmitChanges(); rdto.Message = "删除成功"; rdto.Result = true; } catch { rdto.Message = "删除失败"; rdto.Result = false; } } return Json(rdto); }
public ActionResult FormHandle(string operateCode,int formId) { var rdto = new ResultMessages(); if (operateCode == "Del") { var obj = ctx.InfoMarkets.Single(r => r.Id == formId); ctx.InfoMarkets.DeleteOnSubmit(obj); } else if (operateCode == "Pass") { var obj = ctx.InfoMarkets.Single(r => r.Id == formId); obj.IsPass = 1; } else if (operateCode == "Reject") { var obj = ctx.InfoMarkets.Single(r => r.Id == formId); obj.IsPass = 2; } try { ctx.SubmitChanges(); rdto.Message = "更新成功"; rdto.Result = true; } catch { rdto.Message = "更新失败"; rdto.Result = false; } return Json(rdto); }
//文档访问日志,写数据库 public ActionResult AccessLog(int fileId) { EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; ResultMessages rdto=new ResultMessages(); rdto.Result = true; var v = new FileReadLog(); v.FileId = fileId; v.ReaderId = ebi.Id; v.ActionId = 0; v.ReadDate = DateTime.Now; ctx.FileReadLogs.InsertOnSubmit(v); ctx.SubmitChanges(); return Json(rdto); }
//新增申请 public ActionResult Add(string json) { var rdto = new ResultMessages(); rdto.Message = ""; JavaScriptSerializer jss = new JavaScriptSerializer(); ReqInvite obj = jss.Deserialize<ReqInvite>(json); string maxFormNo = ctx.ReqInvites.Max(r => r.FormNo); string formNo = "Form_Invi_000001"; if (!string.IsNullOrEmpty(maxFormNo)) { formNo = "Form_Invi_" + (int.Parse(maxFormNo.Substring(10)) + 1000001).ToString().Substring(1); } obj.FormNo = formNo; EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; EmpDepPosition edp = ebi.EmpDepPos.Where(r => r.PosId <= 7).OrderByDescending(r => r.PosId).First(); obj.DeptId = edp.DeptId; obj.EmpId = ebi.Id; obj.ReqDate = DateTime.Now; try { ctx.ReqInvites.InsertOnSubmit(obj); ctx.SubmitChanges(); rdto.Message = "新增成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "新增失败"; rdto.Result = false; } if (obj.StatusId == 1)//写签核流程 { try { FlowSet fs = new FlowSet(); fs.SetSignFlow(formNo,ebi); rdto.Message = "保存且提交成功"; } catch (Exception ex) { rdto.Message = "表单已保存,但提交签核失败"; rdto.Result = false; } } return Json(rdto); }
//删除申请,含明细 public ActionResult Delete(string formNo) { var rdto = new ResultMessages(); ReqVehicleMains oriObj = ctx.ReqVehicleMains.Single(r => r.FormNo ==formNo); ctx.ReqVehicleSubs.DeleteAllOnSubmit(oriObj.ReqVehicleSubs); ctx.ReqVehicleMains.DeleteOnSubmit(oriObj); try { ctx.SubmitChanges(); rdto.Message = "删除成功"; rdto.Result = true; } catch { rdto.Message = "删除失败"; } return Json(rdto); }
//新增申请,含明细 public ActionResult Add(string json) { var rdto = new ResultMessages(); rdto.Message = ""; JavaScriptSerializer jss = new JavaScriptSerializer(); ReqEvectionMain o= jss.Deserialize<ReqEvectionMain>(json); string maxFormNo = ctx.ReqEvectionMains.Max(r => r.FormNo); string formNo = "Form_Evec_000001"; if (!string.IsNullOrEmpty(maxFormNo)) { formNo = "Form_Evec_" + (int.Parse(maxFormNo.Substring(10)) + 1000001).ToString().Substring(1); } o.FormNo = formNo; EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; o.EmpId =ebi.Id; o.ReqDate = DateTime.Now; try { ctx.ReqEvectionMains.InsertOnSubmit(o); ctx.SubmitChanges(); rdto.Message = "新增成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "新增失败"; rdto.Result = false; } if (o.StatusId == 1)//写签核流程 { try { FlowSet fs = new FlowSet(); fs.SetSignFlow(formNo,ebi); rdto.Message = "保存且提交成功"; } catch (Exception ex) { rdto.Message = "表单已保存,但提交签核失败"; rdto.Result = false; } } return Json(rdto); }
//删除 public ActionResult Delete(int id) { var rdto = new ResultMessages(); rdto.Message = ""; ExamQuestion oriObj = ctx.ExamQuestions.Single(r => r.Id == id); ctx.ExamQuestions.DeleteOnSubmit(oriObj); try { ctx.SubmitChanges(); rdto.Message = "删除成功"; rdto.Result = true; } catch { rdto.Message = "删除失败"; rdto.Result = false; } return Json(rdto); }
//保存值班计划 public ActionResult Add(string json) { var rdto = new ResultMessages(); rdto.Message = ""; List<Duty> jsArray = (List<Duty>)JavaScriptConvert.DeserializeObject(json, typeof(List<Duty>)); try { ctx.Duties.InsertAllOnSubmit(jsArray); ctx.SubmitChanges(); rdto.Message = "新增成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "新增失败"; rdto.Result = false; } return Json(rdto); }
//删除申请 public ActionResult Delete(string formNo) { var rdto = new ResultMessages(); rdto.Message = ""; ReqMeetingRoom oriObj = ctx.ReqMeetingRooms.Single(r => r.FormNo == formNo); ctx.ReqMeetingRooms.DeleteOnSubmit(oriObj); try { ctx.SubmitChanges(); rdto.Message = "删除成功"; rdto.Result = true; } catch { rdto.Message = "删除失败"; rdto.Result = false; } return Json(rdto); }
public ActionResult Add_roles(string jsJson) { JavaScriptSerializer jss = new JavaScriptSerializer(); Role role = jss.Deserialize<Role>(jsJson); var rdto = new ResultMessages(); try { ctx.Roles.InsertOnSubmit(role); ctx.SubmitChanges(); rdto.Message = "添加成功"; rdto.Result = true; } catch { rdto.Message = "添加失败"; rdto.Result = false; } return Json(rdto); }
public ActionResult Add(string json) { var rdto = new ResultMessages(); rdto.Message = ""; JavaScriptSerializer jss = new JavaScriptSerializer(); var obj = jss.Deserialize<Depts>(json); try { ctx.Depts.InsertOnSubmit(obj); ctx.SubmitChanges(); rdto.Message = "新增成功"; rdto.Result = true; } catch(Exception ex) { rdto.Message = "新增失败"; rdto.Result = false; } return Json(rdto); }
public ActionResult Delete(string json) { var rdto = new ResultMessages(); rdto.Message = ""; List<int> jsArray = (List<int>)JavaScriptConvert.DeserializeObject(json, typeof(List<int>)); IQueryable<DocNo> list = from r in ctx.DocNos where jsArray.ToArray().Contains(r.Id) select r; try { ctx.DocNos.DeleteAllOnSubmit(list); ctx.SubmitChanges(); rdto.Message = "删除成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "删除失败"; rdto.Result = false; } return Json(rdto); }
//添加员工基本资料 public ActionResult Add(string json) { var rdto = new ResultMessages(); rdto.Message = ""; JavaScriptSerializer jss = new JavaScriptSerializer(); Employee emp = jss.Deserialize<Employee>(json); emp.Password = "******";//默认密码:123456 try { ctx.Employees.InsertOnSubmit(emp); ctx.SubmitChanges(); rdto.Message = "新增成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "新增失败"; rdto.Result = false; } return Json(rdto); }
public ActionResult Delete(string json) { var rdto = new ResultMessages(); rdto.Message = ""; JavaScriptSerializer jss = new JavaScriptSerializer(); var obj = jss.Deserialize<Depts>(json); try { var oriObj = ctx.Depts.Single(r => r.Id == obj.Id); ctx.Depts.DeleteOnSubmit(oriObj); ctx.SubmitChanges(); rdto.Message = "删除成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "删除失败"; rdto.Result = false; } return Json(rdto); }
//删除申请,含明细 public ActionResult Delete(string formNo) { var rdto = new ResultMessages(); rdto.Message = ""; ReqEvectionMain oriObj = ctx.ReqEvectionMains.Single(r => r.FormNo == formNo); ctx.ReqEvectionSchedules.DeleteAllOnSubmit(oriObj.ReqEvectionSchedules); ctx.ReqEvectionVoyages.DeleteAllOnSubmit(oriObj.ReqEvectionVoyages); ctx.ReqEvectionFlighters.DeleteAllOnSubmit(oriObj.ReqEvectionFlighters); ctx.ReqEvectionMains.DeleteOnSubmit(oriObj); try { ctx.SubmitChanges(); rdto.Message = "删除成功"; rdto.Result = true; } catch { rdto.Message = "删除失败"; rdto.Result = false; } return Json(rdto); }
public ActionResult Update_roles(string jsJson) { JavaScriptSerializer jss = new JavaScriptSerializer(); Role role = jss.Deserialize<Role>(jsJson); var rdto = new ResultMessages(); try { Role oriRole = ctx.Roles.Single(r => r.Id == role.Id); oriRole.Name = role.Name; oriRole.Description = role.Description; ctx.SubmitChanges(); rdto.Message = "保存成功"; rdto.Result = true; } catch { rdto.Message = "保存失败"; rdto.Result = false; } return Json(rdto); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { var rdto = new ResultMessages(); rdto.Result = true; //var controllerName = filterContext.RouteData.Values["controller"].ToString(); //var actionName = filterContext.RouteData.Values["action"].ToString(); if (filterContext.HttpContext.Session["ebi"] == null && filterContext.HttpContext.Request.Cookies["empBasicInfo"] == null) { rdto.Result = false; rdto.ErrType = ErrorType.UnAuthentication;//未登录 } else if (!authorizeCore(filterContext))//根据验证判断进行处理 { rdto.Result = false; rdto.ErrType = ErrorType.UnAuthorization;//未授权 } if (!rdto.Result) { JavaScriptSerializer jss = new JavaScriptSerializer(); string s = jss.Serialize(rdto); filterContext.Result = new ContentResult { Content = s }; } }
//新增,含明细 public ActionResult Add(string json) { var rdto = new ResultMessages(); rdto.Message = ""; JavaScriptSerializer jss = new JavaScriptSerializer(); AuditionMain obj = jss.Deserialize<AuditionMain>(json); obj.ReqDate = DateTime.Now; EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; obj.EmpId = ebi.Id; try { ctx.AuditionMains.InsertOnSubmit(obj); ctx.SubmitChanges(); rdto.Message = "新增成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "新增失败"; rdto.Result = false; } return Json(rdto); }
public ActionResult Add(string json) { EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; var rdto = new ResultMessages(); rdto.Message = ""; JavaScriptSerializer jss = new JavaScriptSerializer(); var obj = jss.Deserialize<BirdayBless>(json); obj.FromId =ebi.Id; obj.BlessDate = DateTime.Now; try { ctx.BirdayBlesses.InsertOnSubmit(obj); ctx.SubmitChanges(); rdto.Message = "新增成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "新增失败"; rdto.Result = false; } return Json(rdto); }
public ActionResult Delete(string formNo) { var rdto = new ResultMessages(); rdto.Message = ""; try { //删除之前的签核数据 var list = from r in ctx.SignFlows where r.FormNo == formNo select r; ctx.SignFlows.DeleteAllOnSubmit(list); var oriObj = ctx.Weeklies.Single(r => r.FormNo ==formNo); ctx.Weeklies.DeleteOnSubmit(oriObj); ctx.SubmitChanges(); rdto.Message = "删除成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "删除失败"; rdto.Result = false; } return Json(rdto); }
//在线打卡 public ActionResult CardOnline() { EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; var rdto = new ResultMessages(); EmpDepPosition empDepPosition = ebi.EmpDepPos.First(); Depts depts = empDepPosition.Depts; if (",18,19,22,25,".IndexOf("," + empDepPosition.DeptId + ",") >= 0 || depts.Pid == 24 || depts.Pid == 39 || depts.Pid ==27) { string jobNo = ctx.Employees.Single(r => r.Id == ebi.Id).JobNo; var obj = new CardLog(); obj.JobNo = jobNo; obj.CardTime = DateTime.Now; obj.SysDate = DateTime.Now; obj.OperateId = ebi.Id; obj.Ip = Request.ServerVariables["REMOTE_ADDR"]; ctx.CardLogs.InsertOnSubmit(obj); try { ctx.SubmitChanges(); rdto.Result = true; rdto.Message =DateTime.Now.ToString("HH:mm:ss"); } catch (Exception ex) { rdto.Result = false; rdto.Message =ex.Message; } } else { rdto.Result = false; rdto.Message = "您没有权限在线打卡,请联系'行政部'或'技术部'确认!"; } return Json(rdto); }
//获得当前目录的父目录Id public ActionResult GetParentId(int? currId) { var rdto = new ResultMessages(); rdto.Result = true; int? pId = null; if(currId!=null) { pId =ctx.Files.Single(r => r.Id == currId).Pid; } rdto.Data = pId; return Json(rdto); }
//获取可编辑文档的写权限 public ActionResult ObtainWritable(int fileId) { var rdto = new ResultMessages(); var v = ctx.Files.Single(r => r.Id == fileId); if(v.StatusId==0)//未签出,改签出状态,写访问日志 { EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; v.LastUpdaterId = ebi.Id; v.LastUpdateTime = DateTime.Now; v.StatusId = 1; var fLog = new FileReadLog(); fLog.FileId = fileId; fLog.ReaderId = ebi.Id; fLog.ActionId =1; fLog.ReadDate = DateTime.Now; ctx.FileReadLogs.InsertOnSubmit(fLog); ctx.SubmitChanges(); rdto.Result = true; } else//已签出,返回被谁签出 { rdto.Result = false; var e = ctx.Employees.Single(r => r.Id == v.LastUpdaterId); rdto.Data = e.Id; rdto.Message =e.Name; } return Json(rdto); }
//打包下载全部文件 public ActionResult GetFileAll() { var rdto = new ResultMessages(); rdto.Result = true; EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; string destination = Server.MapPath("/PersonalFolder/" + ebi.Name); string destinationRar = Server.MapPath("/PersonalFolder/Rar/" + ebi.Name+".rar"); deleteFolder(destination); //递归删除文件夹 if (System.IO.File.Exists(destinationRar)) { System.IO.File.Delete(destinationRar); } System.IO.Directory.CreateDirectory(destination); IQueryable<File> list = from r in ctx.Files where r.FileClass == 0 && r.OwnerId == ebi.Id && r.Pid==null select r; foreach(var f in list) { if(f.Type=="dir") { string vDir = "/PersonalFolder/" + ebi.Name + "/" + f.Name; string dir = Server.MapPath(vDir); System.IO.Directory.CreateDirectory(dir); copyFolder(f.Id, vDir); } else { string orignFile = Server.MapPath("/PersonalFolder/" + f.RealName); string newFile = Server.MapPath("/PersonalFolder/" + ebi.Name + "/" + f.Name + "." + f.Type); if (System.IO.File.Exists(orignFile)) { System.IO.File.Copy(orignFile, newFile, true); } } } //压缩文件 string dRar = Server.MapPath("/PersonalFolder/Rar/" + ebi.Name); string rar = " a -ep1 -r " + dRar + " " + destination; ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\Program Files\WinRAR\Rar.exe", rar); startInfo.WindowStyle = ProcessWindowStyle.Hidden; System.Diagnostics.Process a = new Process(); try { a.StartInfo = startInfo; a.Start(); a.WaitForExit(); } catch (Exception ex) { rdto.Result = false; rdto.Message = ex.Message; } //deleteFolder(destination); //递归删除文件夹 return Json(rdto); }
//获得当前目录的授权上级目录Id public ActionResult GetAuthParentId(int? currId) { var rdto = new ResultMessages(); rdto.Result = true; int? pId = null; if (currId != null) { string strSql = @"declare @pId int,@cnt int,@parentId int; select @pId=pid from Files where Id={0}; if(@pId is not null) begin with t as( SELECT Id,Pid,Name,Type,RealName,Size,CreatTime,OwnerId, OrderNo,LastUpdateTime,LastUpdaterId,StatusId FROM Files f1 where Id=@pId union all select f2.* from Files f2,t where f2.Id=t.Pid) select @cnt=COUNT(0) from t inner join FileAuth fa on t.Id=fa.FileId where fa.ToId={1}; if(@cnt>0) select @parentId=@pId; end select @parentId pId;"; EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; var v = ctx.ExecuteQuery<int?>(strSql, currId, ebi.Id); pId = v.First(); } rdto.Data = pId; return Json(rdto); }
//更新,含明细 public ActionResult Update(string json) { var rdto = new ResultMessages(); rdto.Message = ""; JavaScriptSerializer jss = new JavaScriptSerializer(); try { AuditionMain obj = jss.Deserialize<AuditionMain>(json); AuditionMain oriObj = ctx.AuditionMains.Single(r => r.Id == obj.Id); oriObj.Name = obj.Name; oriObj.Address = obj.Address; oriObj.InfoOrigin = obj.InfoOrigin; oriObj.Position = obj.Position; oriObj.Phone = obj.Phone; oriObj.EMail = obj.EMail; oriObj.AuditionType = obj.AuditionType; oriObj.DeptId = obj.DeptId; oriObj.Remarks = obj.Remarks; foreach (var v in obj.AuditionSubs) { AuditionSub reqSub; if (v.Id > 0) { reqSub = oriObj.AuditionSubs.Single(r => r.Id == v.Id); } else { reqSub = new AuditionSub(); reqSub.Pid = oriObj.Id; oriObj.AuditionSubs.Add(reqSub); } reqSub.Interviewer = v.Interviewer; reqSub.Reminder = v.Reminder; reqSub.InterviewTime = v.InterviewTime; reqSub.Result = v.Result; reqSub.Remarks = v.Remarks; } ctx.SubmitChanges(); rdto.Message = "更新成功"; rdto.Result = true; } catch (Exception ex) { rdto.Message = "更新失败"; rdto.Result = false; } return Json(rdto); }
//上传文件,写数据库.注意:因上传文件使用的是form,故不能回传数据,否则会刷新页面 public ActionResult FileUpload(FormCollection collection) { var rdto = new ResultMessages(); rdto.Result = true; var f = Request.Files[0]; if (f != null && f.ContentLength > 0) { string destination; switch (Request.Form["fileClass"]) { case "0": destination = Server.MapPath("/PersonalFolder/"); break; case "1": destination = Server.MapPath("/ShareFolder/"); break; case "2": destination = Server.MapPath("/NoticeFolder/"); break; default: destination = Server.MapPath("/PersonalFolder/"); break; } string filename; if (!string.IsNullOrEmpty(Request.Form["docTitle"])) { filename = Server.UrlDecode(Request.Form["docTitle"]) + "." + Request.Form["docType"];//编码转换,解决乱码问题 } else { filename = f.FileName; filename = filename.Substring(filename.LastIndexOf(@"\")+1); } string newFileName =DateTime.Now.ToString("yyyyMMddhhmmss") + filename.Substring(filename.LastIndexOf(".")); try { File file = new File(); file.FileClass = int.Parse(Request.Form["fileClass"]); if (!string.IsNullOrEmpty(Request.Form["docID"])) { file = ctx.Files.Single(r => r.Id == int.Parse(Request.Form["docID"])); file.LastUpdateTime = DateTime.Now; EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; file.LastUpdaterId = ebi.Id; } else { EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; file.OwnerId = ebi.Id; if (!string.IsNullOrEmpty(Request.Form["pid"])) { file.Pid = int.Parse(Request.Form["pid"]); } file.RealName = newFileName; file.Type = filename.Substring(filename.LastIndexOf(".") + 1); file.CreatTime = DateTime.Now; ctx.Files.InsertOnSubmit(file); } file.Name = filename.Substring(0, filename.LastIndexOf(".")); file.Size = f.ContentLength; file.StatusId = 0; if (!string.IsNullOrEmpty(Request.Form["statusId"])) { file.StatusId = int.Parse(Request.Form["statusId"]); } f.SaveAs(destination + file.RealName); //写数据库 ctx.SubmitChanges(); } catch (Exception ex) { rdto.Result = false; rdto.Message = ex.Message; } } //JavaScriptSerializer jss = new JavaScriptSerializer(); //Response.Write(jss.Serialize(rdto)); Response.Write("{success:'true',fn:'noMatter'}"); return null; }
//也可以在客户端构造签核节点,而传递一个json数据 //表单签核 public ActionResult FormSign(int id, string comment, int isPass) { var rdto = new ResultMessages(); rdto.Message = ""; try { SignFlow oriSignFlow = ctx.SignFlows.Single(r => r.Id == id); if(oriSignFlow.IsCurrent!=1) { rdto.Message = "在您之前已有其他人签核该节点,您的签核将忽略!"; rdto.Result = false; } else { var parallelSignFlows = ctx.SignFlows.Where(r => r.FormNo == oriSignFlow.FormNo && r.OrderNo == oriSignFlow.OrderNo&&r.IsCurrent==1); foreach(SignFlow sf in parallelSignFlows) { sf.Comment = oriSignFlow.Checker + "已签核,系统自动忽略该节点"; sf.IsPass = isPass; sf.IsCurrent = 0; } oriSignFlow.Comment = comment; EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo; oriSignFlow.Checker = ebi.Name; oriSignFlow.CheckDate = DateTime.Now; oriSignFlow.IsPass = isPass; oriSignFlow.IsCurrent = 0; var nextSignFlows = ctx.SignFlows.Where(r => r.FormNo == oriSignFlow.FormNo && r.OrderNo == oriSignFlow.OrderNo + 1); bool hasNext = nextSignFlows.Count()>0; if (isPass == 1 && hasNext)//该节点通过,还存在下一个节点:将下一个节点置为 待签状态 { foreach(SignFlow sf in nextSignFlows) { sf.IsCurrent = 1; } } else if (isPass == 1)//该节点通过,不存在下一个节点:将表单置为 全通过状态 { switch (oriSignFlow.FormNo.Substring(0, 9)) { case "Form_Week"://周报 Weekly reqWeek = ctx.Weeklies.Single(r => r.FormNo == oriSignFlow.FormNo); reqWeek.StatusId = 2; break; case "Form_Vehi"://用车申请 ReqVehicleMains reqVehi = ctx.ReqVehicleMains.Single(r => r.FormNo == oriSignFlow.FormNo); reqVehi.StatusId = 2;//全通过 break; case "Form_Evec"://出差申请 var reqEvec = ctx.ReqEvectionMains.Single(r => r.FormNo == oriSignFlow.FormNo); reqEvec.StatusId = 2;//全通过 break; case "Form_Over"://加班申请 var reqOver = ctx.ReqOvertimes.Single(r => r.FormNo == oriSignFlow.FormNo); reqOver.StatusId = 2;//全通过 break; case "Form_Vaca"://请假申请 var reqVaca = ctx.ReqVacationMains.Single(r => r.FormNo == oriSignFlow.FormNo); reqVaca.StatusId = 2;//全通过 break; case "Form_Meet"://会议室申请 var reqMeet = ctx.ReqMeetingRooms.Single(r => r.FormNo == oriSignFlow.FormNo); reqMeet.StatusId = 2;//全通过 break; case "Form_Perc"://采购申请 var reqPerh = ctx.ReqPerchaseMains.Single(r => r.FormNo == oriSignFlow.FormNo); reqPerh.StatusId = 2;//全通过 break; case "Form_Rece"://商务接待申请 var reqRece = ctx.ReqReceptions.Single(r => r.FormNo == oriSignFlow.FormNo); reqRece.StatusId = 2;//全通过 break; case "Form_Invi"://招聘申请 var reqInvi = ctx.ReqInvites.Single(r => r.FormNo == oriSignFlow.FormNo); reqInvi.StatusId = 2;//全通过 break; default: break; } } else//该节点退件:将表单置为 退件状态 { switch (oriSignFlow.FormNo.Substring(0, 9)) { case "Form_Week"://周报 Weekly reqWeek = ctx.Weeklies.Single(r => r.FormNo == oriSignFlow.FormNo); reqWeek.StatusId = 3; break; case "Form_Vehi"://用车申请 var reqVehi = ctx.ReqVehicleMains.Single(r => r.FormNo == oriSignFlow.FormNo); reqVehi.StatusId = 3;//退件 break; case "Form_Evec"://出差申请 var reqEvec = ctx.ReqEvectionMains.Single(r => r.FormNo == oriSignFlow.FormNo); reqEvec.StatusId = 3;//退件 break; case "Form_Over"://加班申请 var reqOver = ctx.ReqOvertimes.Single(r => r.FormNo == oriSignFlow.FormNo); reqOver.StatusId = 3;//退件 break; case "Form_Vaca"://请假申请 var reqVaca = ctx.ReqVacationMains.Single(r => r.FormNo == oriSignFlow.FormNo); reqVaca.StatusId = 3;//退件 break; case "Form_Meet"://会议室申请 var reqMeet = ctx.ReqMeetingRooms.Single(r => r.FormNo == oriSignFlow.FormNo); reqMeet.StatusId = 3;//退件 break; case "Form_Perh"://采购申请 var reqPerh = ctx.ReqPerchaseMains.Single(r => r.FormNo == oriSignFlow.FormNo); reqPerh.StatusId = 3;//退件 break; case "Form_Rece"://商务接待申请 var reqRece = ctx.ReqReceptions.Single(r => r.FormNo == oriSignFlow.FormNo); reqRece.StatusId = 3;//退件 break; case "Form_Invi"://招聘申请 var reqInvi = ctx.ReqInvites.Single(r => r.FormNo == oriSignFlow.FormNo); reqInvi.StatusId = 3;//退件 break; default: break; } } ctx.SubmitChanges(); rdto.Message = "签核成功"; rdto.Result = true; } } catch (Exception ex) { rdto.Message = "签核失败"; rdto.Result = false; } return Json(rdto); }