namespace YLErp.Web.Controllers { public class correlationController : BaseController { [MyAuthorize("基础参数管理-资产相关性")] public ActionResult correlationList() { return View(); } [HttpPost] public JsonResult correlationGroupQuery(CorrelationReq req) { var bll = new correlationBLL(); var sList = bll.SearchGroupList(req); return Json(sList); } /// /// 批量编辑相关性 /// [HttpPost] public JsonResult EditcorData(List optdatas) { var bll = new correlationBLL(); if (optdatas == null) { return JsonError("请修改相关性后提交"); } var corids = optdatas.Select(o => o.id).ToList(); var oldcors = yldb.correlation.Where(c => corids.Contains(c.id) && c.LiveState == "Live").ToList(); oldcors = oldcors.Where(o => o.Correlation != optdatas.FirstOrDefault(op => op.id == o.id).Correlation).ToList(); oldcors.ForEach(c => { c.DayLastState = CorrelationTable.OldState; c.State = valuedate.历史使用; }); //yldb.SaveChanges(); oldcors.ForEach(oldcor => { var addcor = oldcor.Clone(); addcor.Correlation = optdatas.FirstOrDefault(o => o.id == oldcor.id).Correlation; addcor.OptDate = DateTime.Now; addcor.LiveState = "Live"; addcor.DayLastState = CorrelationTable.LatestState; addcor.State = valuedate.当前使用; addcor.OptId = CurUser.UserId; addcor.OptName = CurUser.UserName; addcor.ValueDate = DateTime.Now.Date; yldb.correlation.Add(addcor); }); yldb.SaveChanges(); return JsonSuccess("保存相关性成功"); } public ActionResult correlationView(string enid) { var intid = DecryptInt(enid); var r = yldb.correlation.Find(intid); return View(r); } public ActionResult correlationEdit(string enid) { if (string.IsNullOrEmpty(enid) || enid == "0") { return View(new CorrelationTable()); } var intid = DecryptInt(enid); var r = yldb.correlation.AsNoTracking().FirstOrDefault(n => n.id == intid); if (r == null) { return ShowError("数据不存在"); } return View(r); } [HttpPost] public JsonResult correlationEditJson(CorrelationReq req) { var id = 0; if (!string.IsNullOrEmpty(req.EncryptId)) { id = DecryptInt(req.EncryptId); } try { var r = Savecorrelation(id); return JsonSuccess("更新成功", r); } catch (Exception ex) { return JsonError(ex.Message); } } [HttpPost] public async Task correlationEdit(CorrelationReq req) { var id = DecryptInt(req.EncryptId); var r = await Savecorrelation(id); return Redirect("~/correlation/correlationView/?id=" + r.EncryptId); } private async Task Savecorrelation(int? id) { CorrelationTable r; var bll = new correlationBLL(); var isAddNew = id == null || id == 0; if (isAddNew) { r = new CorrelationTable { ValueDate = DateTime.Now.Date, OptDate = DateTime.Now, OptId = CurUser.UserId, OptName = CurUser.UserName }; } else { r = yldb.correlation.Find(id); } await TryUpdateModelAsync(r); if (isAddNew) { var error = bll.InsertCorrelation(r); if (!string.IsNullOrEmpty(error)) { throw new Exception(error); } } yldb.SaveChanges(); return r; } // [MyAuthorize("相关性数据表-相关性数据表编辑")] [HttpPost] public JsonResult Deletecorrelation(string id) { var intid = DecryptInt(id); var r = yldb.correlation.Find(intid); if (r == null) { return JsonError("找不到数据"); } yldb.correlation.Remove(r); yldb.SaveChanges(); return JsonSuccess("删除成功"); } } }