MaterialController.cs 4.08 KB
using Autofac.Core;
using Hh.Mes.Common.Json;
using Hh.Mes.Common.Request;
using Hh.Mes.POJO.Entity;
using Hh.Mes.Service;
using Hh.Mes.Service.Configure;
using Hh.Mes.Service.Material;
using Hh.Mes.Service.SystemAuth;
using Microsoft.AspNetCore.Mvc;
using System;
using WebMvc.Aop;

namespace WebMvc
{
    /// <summary>
	/// 物料表
	/// </summary>
    [Area("material")]
    public class MaterialController : BaseController
    {
        private readonly MaterialCallService service;
        
        
        public MaterialController(IAuth authUtil, MaterialCallService app) : base(authUtil)
        {
            service = app;
            service.sysWebUser = authUtil.GetCurrentUser().User;
        }

        #region 视图功能
        /// <summary>
        /// 默认视图Action
        /// </summary>
        /// <returns></returns>
        [ResponseCache(Duration = 60)]
        public ActionResult Index()
        {
            return View();
        }

        /// <summary>
        /// 默认视图Action
        /// </summary>
        /// <returns></returns>
        public ActionResult NewIndex()
        {
            ViewBag.dicUrl = service.GetMaterialUrl();
            return View();
        }
        #endregion




        #region 获取数据
        /// <summary>
        /// 加载及分页查询
        /// </summary>
        /// <param name="pageRequest">表单请求信息</param>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string Load(PageReq pageRequest, base_material entity)
        {
            var keyword = Request.Form["keyword"];
            if (!string.IsNullOrEmpty(keyword))
            {
                entity.codeOrName = keyword.ToString();
            }
            return Serialize(service.GetMaterialList(pageRequest, entity));
        }


        [HttpGet]
        public string GetTreeList()
        {
            var data = service.GetTreeList();
            return Serialize(data);
        }
        #endregion

        /// <summary>
        /// 新增数据
        /// </summary>
        /// <param name="entity">新增实例</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Ins(base_material entity)
        {
            return Serialize(service.Ins(entity));
        }


        /// <summary>
        /// 修改数据
        /// </summary>
        [HttpPost]
        [XSSFilter]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Upd(base_material entity)
        {
            var response = service.Upd(entity);
            return Serialize(response);
        }

        /// <summary>
        /// 删除数据
        /// </summary>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string DelByIds(Guid[] ids)
        {
            var response = service.DelByIds(ids);
            return Serialize(response);
        }


        #region 导出数据
        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string Export(base_material entity)
        {
            entity.Exel = true;
            return Serialize(service.GetMaterialList(null, entity));
        }
        #endregion


        /// <summary>
        /// 编辑使用比率表数据
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        [HttpPost]
        [XSSFilter]
        [ServiceFilter(typeof(OperLogFilter))]
        public string EditRate(base_material_rate entity)
        {
            var response=service.EditRate(entity); 
            return Serialize(response);
        }

        /// <summary>
        /// 查询物料使用比例表数据
        /// </summary>
        [HttpGet]
        [ServiceFilter(typeof(OperLogFilter))]
        public string GetMaterialRateByCode(Guid materialKeys)
        {
            var response = service.GetMaterialRateByCode(materialKeys);
            return Serialize(response);
        }
    }
}