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)); } } }
//详情数据加载 public JsonResult GetDetail(int ID, string UserName) { T_User MOD_User = db.T_User.FirstOrDefault(a => a.Nickname == UserName); //真名 string name = MOD_User.Name; string result = ""; //主表 T_Borrow mod = db.T_Borrow.Find(ID); mainItem list = new mainItem(); list.ID = mod.ID; list.BorrowName = mod.BorrowName; list.BorrowerFrom = mod.BorrowerFrom; list.BorrowerDep = mod.BorrowerDep; list.BorrowReason = mod.BorrowReason; list.BorrowMoney = mod.BorrowMoney; list.BorrowDate = mod.BorrowDate; list.BorrowState = mod.BorrowState; list.BorrowSettementState = mod.BorrowSettementState; list.BorrowCode = mod.BorrowCode; list.BorrowAccountID = mod.BorrowAccountID; list.BorrowBank = mod.BorrowBank; list.BorrowNeedDate = mod.BorrowNeedDate; list.BorrowAccountName = mod.BorrowAccountName; list.BorrowNextApprove = mod.BorrowNextApprove; list.BorrowStep = mod.BorrowStep; list.BorrowAccountName = mod.BorrowAccountName; list.IsVoucher = mod.IsVoucher; string modJson = JsonConvert.SerializeObject(list, Lib.Comm.setTimeFormat()); //审核记录 IQueryable <T_BorrowApprove> mod_Approve = db.T_BorrowApprove.Where(a => a.Pid == ID); string approve = JsonConvert.SerializeObject(mod_Approve, Lib.Comm.setTimeFormat()); T_BorrowApprove Approve = db.T_BorrowApprove.FirstOrDefault(s => !s.ApproveTime.HasValue && s.Pid == ID); if (Approve == null) { Approve = db.T_BorrowApprove.FirstOrDefault(s => s.ApproveTime.HasValue && s.Pid == ID); } //用于判断是不是我审核 0不是 1是 int myCheck = 0; T_BorrowApprove MyApprove = db.T_BorrowApprove.FirstOrDefault(a => a.Pid == ID && a.ApproveName == UserName && a.ApproveTime == null); if (MyApprove != null) { myCheck = 1; } //财务主管? //int Cashier = 0; int curStep = int.Parse(mod.BorrowStep.ToString()); //取最后一步 int Step = db.T_BorrowApproveConfig.ToList().Count; //如果不是最后1 步,就显示选择下拉框 List <SelectListItem> getCheckMan = new List <SelectListItem>(); T_BorrowApproveConfig approveusers; mod.BorrowStep = mod.BorrowStep + 1; if (UserName == "子轩" && mod.BorrowStep == 3) { mod.BorrowStep = mod.BorrowStep + 1; approveusers = db.T_BorrowApproveConfig.FirstOrDefault(a => a.Step == mod.BorrowStep); } else { approveusers = db.T_BorrowApproveConfig.FirstOrDefault(a => a.Step == mod.BorrowStep); } //var approveusers = db.T_BorrowApproveConfig.FirstOrDefault(a => a.Step == mod.BorrowStep + 1); if (approveusers != null) { //如果是动态获取当前部门主管 if (approveusers.ApproveUser.Equals("部门主管")) { List <SelectListItem> items = new List <SelectListItem>(); items.Add(new SelectListItem { Text = "请选择", Value = "9999" }); getCheckMan = items; } //如果还有其他的审核组或者动态绑定的数据 再增加else //如果是固定的某些人 else { string[] array = approveusers.ApproveUser.Split(','); List <SelectListItem> items = new List <SelectListItem>(); foreach (var item in array) { T_User user = db.T_User.FirstOrDefault(a => a.Nickname.Equals(item)); if (user != null) { items.Add(new SelectListItem { Text = user.Nickname, Value = user.ID.ToString() }); } } getCheckMan = items; } } else { getCheckMan = null; } //支付 List <SelectListItem> listBorrowForm = Lib.Comm.BorrowForm; string theBorrowForm = JsonConvert.SerializeObject(listBorrowForm, Lib.Comm.setTimeFormat()); //审核人 string CheckManJson = JsonConvert.SerializeObject(getCheckMan, Lib.Comm.setTimeFormat()); //公司 List <SelectListItem> listCompany = Com.ExpenseCompany(); string theCompany = JsonConvert.SerializeObject(listCompany, Lib.Comm.setTimeFormat()); result += "{\"Main\":[" + modJson + "],\"Approve\":" + approve + ",\"myCheck\":" + myCheck + ",\"Step\":" + Step + ",\"approveId\":" + Approve.ID + ",\"CheckList\":" + CheckManJson + ",\"theBorrowForm\":" + theBorrowForm + ",\"listCompany\":" + theCompany + "}"; return(Json(result, JsonRequestBehavior.AllowGet)); }