154 lines
4.8 KiB
C#
154 lines
4.8 KiB
C#
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);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量编辑相关性
|
|
/// </summary>
|
|
[HttpPost]
|
|
public JsonResult EditcorData(List<CorrelationTable> 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<ActionResult> correlationEdit(CorrelationReq req)
|
|
{
|
|
var id = DecryptInt(req.EncryptId);
|
|
var r = await Savecorrelation(id);
|
|
return Redirect("~/correlation/correlationView/?id=" + r.EncryptId);
|
|
}
|
|
|
|
private async Task<CorrelationTable> 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("删除成功");
|
|
}
|
|
}
|
|
}
|