public JsonResult Check(string UserName, int approveID, int status, string memo, string nextapprove, string company, string number, string ExpStatus) { using (TransactionScope sc = new TransactionScope()) { try { string curName = Server.UrlDecode(Request.Cookies["Name"].Value); string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); int TotalStep = db.T_ExpenseApproveConfig.ToList().Count; T_ExpenseApprove approve = db.T_ExpenseApprove.SingleOrDefault(a => a.ID == approveID && a.ApproveStatus == -1 && (a.ApproveName == curName || a.ApproveName == Nickname)); if (approve == null) { return(Json(new { State = "Faile", Message = "该数据已审核" }, JsonRequestBehavior.AllowGet)); } approve.ApproveStatus = status; approve.ApproveDate = DateTime.Now; approve.Remark = memo; T_Expense model = db.T_Expense.Find(approve.Reunbursement_id); if (nextapprove != null && nextapprove != "") { model.Cashier = nextapprove; } if (ExpStatus != null && ExpStatus != "") { model.ExpStatus = ExpStatus; } int Step = model.Step; Step++; if (status == 2) { model.Status = 2; model.Step = 0; db.SaveChanges(); } else { if (TotalStep == Step) { if (company == "==请选择==") { return(Json(new { State = "Faile", Message = "请选择公司" }, JsonRequestBehavior.AllowGet)); } model.Status = status; model.SpendingCompany = company; model.SpendingNumber = number; //实付 string codes1 = "KF-FK-"; string date1 = DateTime.Now.ToString("yyyyMMdd"); //查找当前已有的编号 List <T_PP> list1 = db.T_PP.Where(a => a.BillCode.Contains(date1)).OrderByDescending(c => c.ID).ToList(); if (list1.Count == 0) { codes1 += date1 + "-" + "0001"; } else { string old = list1[0].BillCode.Substring(15); int newcode = int.Parse(old) + 1; codes1 += date1 + "-" + newcode.ToString().PadLeft(4, '0'); } //实付 T_PP pp = new T_PP { BillCode = codes1, BillCompany = model.Reun_Bank, BillFromCode = model.Reun_Code, BillMoney = Convert.ToDouble(model.Reun_Cost), BillType = "报销申请", CreateTime = DateTime.Now, CreatUser = UserName, PayMoney = Convert.ToDouble("-" + model.Reun_Cost) }; db.T_PP.Add(pp); db.SaveChanges(); } else { if (status != 2) { T_ExpenseApproveConfig ModelConFig = db.T_ExpenseApproveConfig.SingleOrDefault(a => a.Step == Step); T_ExpenseApprove newApprove = new T_ExpenseApprove(); newApprove.ApproveStatus = -1; if (Step == 4) { newApprove.ApproveName = model.Cashier; nextapprove = model.Cashier; } else { newApprove.ApproveName = ModelConFig.ApproveUser; nextapprove = ModelConFig.ApproveUser; } newApprove.ApproveDate = null; newApprove.Reunbursement_id = approve.Reunbursement_id; db.T_ExpenseApprove.Add(newApprove); T_User u = db.T_User.FirstOrDefault(a => a.Nickname.Equals(nextapprove)); model.ExpenseNextApprove = u.ID; model.Status = 0; } } model.Step = Step; db.SaveChanges(); } ModularByZP(); sc.Complete(); return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet)); } } }
public JsonResult Check(string UserName, int approveID, int status, string memo, string nextapprove, string BorrowerFrom, string company, string number) { using (TransactionScope sc = new TransactionScope()) { try { int TotalStep = db.T_BorrowApproveConfig.ToList().Count; string curName = Server.UrlDecode(Request.Cookies["Name"].Value); string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); T_BorrowApprove approve = db.T_BorrowApprove.SingleOrDefault(a => a.ID == approveID && a.ApproveStatus == -1 && (a.ApproveName == curName || a.ApproveName == Nickname)); if (approve == null) { return(Json(new { State = "Faile", Message = "该数据已审核" }, JsonRequestBehavior.AllowGet)); } approve.ApproveStatus = status; approve.ApproveTime = DateTime.Now; approve.Memo = memo; T_Borrow model = db.T_Borrow.Find(approve.Pid); if (!string.IsNullOrEmpty(BorrowerFrom)) { model.BorrowerFrom = BorrowerFrom; } int Step = model.BorrowStep; Step++; if (status == 2) { model.BorrowState = 2; model.BorrowStep = Step; db.SaveChanges(); } else { if (TotalStep == Step) { model.BorrowState = status; model.SpendingCompany = company; model.SpendingNumber = number; //应收 string codes = "KF-YS-"; string date = DateTime.Now.ToString("yyyyMMdd"); //查找当前已有的编号 List <T_AR> list = db.T_AR.Where(a => a.BillCode.Contains(date)).OrderByDescending(c => c.ID).ToList(); if (list.Count == 0) { codes += date + "-" + "0001"; } else { string old = list[0].BillCode.Substring(15); int newcode = int.Parse(old) + 1; codes += date + "-" + newcode.ToString().PadLeft(4, '0'); } //应收 T_AR ar = new T_AR { BillCode = codes, BillCompany = model.BorrowerFrom, BillFromCode = model.BorrowCode, BillMoney = Convert.ToDouble(model.BorrowMoney), BillType = "借支申请", CreateTime = DateTime.Now, CreatUser = UserName, ReceivedMony = Convert.ToDouble(model.BorrowMoney) }; //实付 string codes1 = "KF-FK-"; string date1 = DateTime.Now.ToString("yyyyMMdd"); //查找当前已有的编号 List <T_PP> list1 = db.T_PP.Where(a => a.BillCode.Contains(date1)).OrderByDescending(c => c.ID).ToList(); if (list1.Count == 0) { codes1 += date1 + "-" + "0001"; } else { string old = list1[0].BillCode.Substring(15); int newcode = int.Parse(old) + 1; codes1 += date1 + "-" + newcode.ToString().PadLeft(4, '0'); } //实付 T_PP pp = new T_PP { BillCode = codes1, BillCompany = model.BorrowerFrom, BillFromCode = model.BorrowCode, BillMoney = Convert.ToDouble(model.BorrowMoney), BillType = "借支申请", CreateTime = DateTime.Now, CreatUser = model.BorrowName, PayMoney = Convert.ToDouble("-" + model.BorrowMoney) }; db.T_PP.Add(pp); db.T_AR.Add(ar); db.SaveChanges(); } else { T_BorrowApprove newApprove = new T_BorrowApprove(); newApprove.ApproveStatus = -1; if (UserName == "子轩" && model.BorrowStep == 2) { newApprove.ApproveName = "三疯"; model.Cashier = nextapprove; } else if (UserName == "三疯" && model.BorrowStep == 3) { newApprove.ApproveName = model.Cashier; nextapprove = model.Cashier; } else { newApprove.ApproveName = nextapprove; } newApprove.ApproveTime = null; newApprove.Pid = approve.Pid; db.T_BorrowApprove.Add(newApprove); T_User u = db.T_User.FirstOrDefault(a => a.Nickname.Equals(nextapprove)); model.BorrowNextApprove = u.ID; model.BorrowState = 0; } model.BorrowStep = Step; db.SaveChanges(); } List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "借支").ToList(); if (ModularNotaudited.Count > 0) { foreach (var item in ModularNotaudited) { db.T_ModularNotaudited.Remove(item); } db.SaveChanges(); } ModularByZP(); sc.Complete(); return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet)); } } }