using Infrastructure; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using WebApp; using WebRepository; namespace WebMvc { /// <summary> /// 库存表 /// </summary> [Area("inventory")] public class InventoryController : BaseController { private readonly InventoryApp _app; public InventoryController(IAuth authUtil, InventoryApp app) : base(authUtil) { _app = app.SetLoginInfo(_loginInfo); } #region 视图功能 /// <summary> /// 默认视图Action /// </summary> /// <returns></returns> [Authenticate] [ServiceFilter(typeof(OperLogFilter))] 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, Inventory entity) { return JsonHelper.Instance.Serialize(_app.Load(pageRequest, entity)); } #endregion #region 提交数据 /// <summary> /// 新增数据 /// </summary> /// <param name="Table_entity">新增实例</param> /// <returns></returns> [HttpPost] [ServiceFilter(typeof(OperLogFilter))] public string Ins(Inventory Table_entity) { try { _app.Ins(Table_entity); } catch (Exception ex) { Result.Status = false; Result.Message = ex.Message; } return JsonHelper.Instance.Serialize(Result); } /// <summary> /// 修改数据 /// </summary> /// <param name="Table_entity">修改实例</param> /// <returns></returns> [HttpPost] [ServiceFilter(typeof(OperLogFilter))] public string Upd(Inventory Table_entity) { try { _app.Upd(Table_entity); } catch (Exception ex) { Result.Status = false; Result.Message = ex.Message; } return JsonHelper.Instance.Serialize(Result); } [HttpPost] [ServiceFilter(typeof(OperLogFilter))] public string DelByIds(int[] ids) { try { _app.DelByIds(ids); } catch (Exception ex) { Result.Status = false; Result.Message = ex.Message; } return JsonHelper.Instance.Serialize(Result); } #endregion #region 导出数据 /// <summary> /// 导出数据 /// </summary> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public string Export(Inventory entity) { return JsonHelper.Instance.Serialize(_app.ExportData(entity)); } #endregion #region 导出模板 /// <summary> /// 导出模板 /// </summary> /// <returns></returns> [HttpPost] public string GetTemplate() { var result = new TableData(); List<Inventory> listInventory = new List<Inventory>(); Inventory entity = _app.FindSingle(u => u.Id > 0); if (entity != null) { listInventory.Add(entity); } else { listInventory.Add(new Inventory()); } result.data = listInventory; result.count = listInventory.Count; return JsonHelper.Instance.Serialize(result); } #endregion #region 导入数据 /// <summary> /// 导入数据 /// </summary> /// <param name="excelfile">表单提交的文件信息</param> /// <returns></returns> [HttpPost] public string Import(IFormFile excelfile) { try { Response result = _app.ImportIn(excelfile); if (!result.Status) { Result.Status = false; Result.Message = result.Message; } } catch (Exception ex) { Result.Status = false; Result.Message = ex.Message; } return JsonHelper.Instance.Serialize(Result); } #endregion #region 自定义方法 /// <summary> /// 库存直接出库 /// </summary> /// <param name="Table_entitys">新增实例</param> /// <returns></returns> [HttpPost] [ServiceFilter(typeof(OperLogFilter))] public string GoodsOut(List<Inventory> Table_entitys,string station) { return JsonHelper.Instance.Serialize(_app.TaskOutNoBack(Table_entitys, station)); } /// <summary> /// 盘点加载无任务状态的物料 /// </summary> /// <param name="pageRequest">表单请求信息</param> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public string CheckLoad(PageReq pageRequest, Inventory entity) { return JsonHelper.Instance.Serialize(_app.CheckLoad(pageRequest, entity)); } /// <summary> /// 查找未放满的容器 /// </summary> /// <param name="materialCode">物料编号</param> /// <returns></returns> [HttpPost] public string FindInventory(string materialCode) { return JsonHelper.Instance.Serialize(_app.FindInventoryApp(materialCode)); } #endregion } }