using Hh.Mes.Common.Redis;
using Hh.Mes.Common.Request;
using Hh.Mes.POJO.Entity;
using Hh.Mes.Service;
using Hh.Mes.Service.Configure;
using Hh.Mes.Service.SystemAuth;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Linq;
using WebMvc.Aop;
namespace WebMvc
{
/// <summary>
/// 线体表
/// </summary>
[Area("configure")]
public class LineController : BaseController
{
private readonly LineService lineService;
private readonly Lazy<RedisBase> cli;
public LineController(IAuth authUtil,LineService line) : base(authUtil)
{
lineService = line;
lineService.sysWebUser = authUtil.GetCurrentUser().User;
cli = new Lazy<RedisBase>();
}
#region 视图功能
/// <summary>
/// 默认视图Action
/// </summary>
/// <returns></returns>
[ResponseCache(Duration = 60)]
public ActionResult Index()
{
return View();
}
#endregion
#region 获取数据
/// <summary>
/// 加载及分页查询
/// </summary>
/// <param name="pageRequest">表单请求信息</param>
/// <param name="entity">请求条件实例</param>
/// <returns></returns>
[HttpPost]
public string Load(PageReq pageRequest, base_line entity)
{
return Serialize(lineService.GetLineList(pageRequest, entity));
}
/// <summary>
/// 获取产线信息
/// </summary>
/// <returns></returns>
[HttpGet]
public string GetLineInfo()
{
var lineInfo = lineService.GetList().Select(x=>new { Id=x.id, LineName=x.lineName }).ToList();
return Serialize(lineInfo);
}
[HttpGet]
public string GetTreeList()
{
var data = lineService.GetTreeList();
return Serialize(data);
}
#endregion
#region 提交数据
/// <summary>
/// 新增数据
/// </summary>
/// <param name="entity">新增实例</param>
/// <returns></returns>
[HttpPost]
[ServiceFilter(typeof(OperLogFilter))]
[XSSFilter]
public string Ins(base_line entity)
{
var response = lineService.Ins(entity);
cli.Value.redisClient.Del("base_line");
return Serialize(response);
}
/// <summary>
/// 修改数据
/// </summary>
/// <param name="entity">修改实例</param>
/// <returns></returns>
[HttpPost]
[ServiceFilter(typeof(OperLogFilter))]
[XSSFilter]
public string Upd(base_line entity)
{
var response =lineService.Upd(entity);
cli.Value.redisClient.Del("base_line");
return Serialize(response);
}
[HttpPost]
[ServiceFilter(typeof(OperLogFilter))]
public string DelByIds(int[] ids)
{
var response = lineService.DelByIds(ids);
cli.Value.redisClient.Del("base_line");
return Serialize(response);
}
#endregion
#region 导出数据
/// <summary>
/// 导出数据
/// </summary>
/// <param name="entity">请求条件实例</param>
/// <returns></returns>
[HttpPost]
public string Export(base_line entity)
{
return Serialize(lineService.ExportData( entity));
}
#endregion
#region 自定义方法
#endregion
}
}