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("删除成功");
}
}
}