public JsonResult Check(string CurUser, int approveId, int status, string memo, decimal usedMoney = 0) { var Approve = db.T_FreezeApprove.Find(approveId); var model = db.T_Freeze.FirstOrDefault(s => s.ID == Approve.freezeID); int step = model.Step; var configNextModel = db.T_FreezeConfig.FirstOrDefault(s => s.Step > step); Approve.ApproveTime = DateTime.Now; Approve.Memo = memo; try { //同意 if (status == 3) { Approve.ApproveStatus = 3; //是否存在下一级 if (configNextModel != null) { model.Step = configNextModel.Step; model.state = 1; var approveModel = new T_FreezeApprove(); approveModel.ApproveName = configNextModel.ApproveUser; approveModel.ApproveStatus = -1; approveModel.freezeID = model.ID; db.T_FreezeApprove.Add(approveModel); } else { if (usedMoney > model.freezeMoney) { return(Json(new { State = "Faile", Message = "使用金额不能大于冻结金额" }, JsonRequestBehavior.AllowGet)); } model.state = 2; model.usedMoney = usedMoney; model.surplusMoney = model.freezeMoney - model.usedMoney; } } //不同意 else { Approve.ApproveStatus = 4; model.state = 4; model.Step = db.T_FreezeConfig.OrderBy(s => s.Step).First().Step; } var i = db.SaveChanges(); if (i > 0) { string RetreatAppRoveSql = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_FreezeApprove where freezeID in ( select ID from T_Freeze where isDelete=0 ) and ApproveStatus=-1 and ApproveTime is null GROUP BY ApproveName "; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = CurUser; for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资金冻结未审核" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "资金冻结未审核"; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { State = "Faile", Message = "操作失败" }, 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_Freeze mod = db.T_Freeze.Find(ID); mainItem list = new mainItem(); list.ID = mod.ID; list.shopName = mod.shopName; list.alipay = mod.alipay; list.freezeMoney = mod.freezeMoney; list.freezeReason = mod.freezeReason; list.remark = mod.remark; list.userName = mod.userName; list.datetime = mod.datetime; list.state = mod.state; list.usedMoney = mod.usedMoney; list.surplusMoney = mod.surplusMoney; string modJson = JsonConvert.SerializeObject(list, Lib.Comm.setTimeFormat()); //审核记录 IQueryable <T_FreezeApprove> mod_Approve = db.T_FreezeApprove.Where(a => a.freezeID == ID); string approve = JsonConvert.SerializeObject(mod_Approve, Lib.Comm.setTimeFormat()); T_FreezeApprove Approve = db.T_FreezeApprove.FirstOrDefault(s => !s.ApproveTime.HasValue && s.freezeID == ID); if (Approve == null) { Approve = db.T_FreezeApprove.FirstOrDefault(s => s.ApproveTime.HasValue && s.freezeID == ID); } //用于判断是不是我审核 0不是 1是 int myCheck = 0; T_FreezeApprove MyApprove = db.T_FreezeApprove.FirstOrDefault(a => a.freezeID == ID && a.ApproveName == name && a.ApproveTime == null); if (MyApprove != null) { myCheck = 1; } //财务主管? int Cashier = 0; int curStep = int.Parse(mod.Step.ToString()); //取最后一步 int lastStep = db.T_FreezeConfig.OrderByDescending(s => s.Step).First().Step; if (lastStep == curStep) { Cashier = 1; } //付款银行 List <SelectListItem> listPayBank = Lib.Comm.PayBank; string ThePaymentBank = JsonConvert.SerializeObject(listPayBank, Lib.Comm.setTimeFormat()); result += "{\"Main\":[" + modJson + "],\"Approve\":" + approve + ",\"myCheck\":" + myCheck + ",\"Cashier\":" + Cashier + ",\"approveId\":" + Approve.ID + "}"; return(Json(result, JsonRequestBehavior.AllowGet)); }