ProductHeaderController.cs 5.68 KB
using Autofac.Core;
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 Hh.Mes.Service.WebService.Configure;
using Microsoft.AspNetCore.Mvc;
using System;
using WebMvc.Aop;

namespace WebMvc
{
    /// <summary>
	/// 产品表
	/// </summary>
    [Area("configure")]
    public class ProductHeaderController : BaseController
    {
        private readonly ProductService productHeaderService;

        public ProductHeaderController(IAuth authUtil, ProductService app) : base(authUtil)
        {
            productHeaderService = app;
            productHeaderService.sysWebUser = authUtil.GetCurrentUser().User;
        }

        #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_product_header entity)
        {
            //下拉弹出框
            var keyword = Request.Form["keyword"];
            if (!string.IsNullOrEmpty(keyword))
            {
                entity.productCodeOrProductName = keyword.ToString();
            }
            return Serialize(productHeaderService.GetProductHeaderList(pageRequest, entity));
        }


        /// <summary>
        /// 加载及分页查询
        /// </summary>
        /// <param name="pageRequest">表单请求信息</param>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string LoadDesc(PageReq pageRequest, base_product_detail entity)
        {
            return Serialize(productHeaderService.LoadDesc(pageRequest, entity));
        }
        #endregion

        #region 提交数据
        /// <summary>
        /// 新增数据
        /// </summary>
        /// <param name="entity">新增实例</param>
        /// <returns></returns>
        [HttpPost]
        [XSSFilter]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Ins(base_product_header entity)
        {
            var result = productHeaderService.Ins(entity);
            return Serialize(result);
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="entity">修改实例</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        [XSSFilter]
        public string Upd(base_product_header entity)
        {
            var result = productHeaderService.Upd(entity);
            return Serialize(result);
        }

        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string DelByIds(Guid[] ids)
        {
            var result = productHeaderService.DelByIds(ids);
            return Serialize(result);
        }
        #endregion

        #region 明细表提交数据
        /// <summary>
        /// 新增数据
        /// </summary>
        /// <param name="entity">新增实例</param>
        /// <returns></returns>
        [HttpPost]
        [XSSFilter]
        [ServiceFilter(typeof(OperLogFilter))]
        public string InsDesc(base_product_detail entity)
        {

            return Serialize(productHeaderService.InsDesc(entity));
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="entity">修改实例</param>
        /// <returns></returns>
        [HttpPost]
        [XSSFilter]
        [ServiceFilter(typeof(OperLogFilter))]
        public string UpdDesc(base_product_detail entity)
        {

            return Serialize(productHeaderService.UpdDesc(entity));
        }

        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string DelByIdsDesc(int[] ids)
        {

            return Serialize(productHeaderService.DelByIdsDesc(ids));
        }
        #endregion

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


        #region 自定义方法
        /// <summary>
        /// 获取已经绑定的 工艺产品
        /// </summary>
        public string GetProductByProcessCode(string processCode)
        {
            return Serialize(productHeaderService.GetProductByProductCode(processCode));
        }

        /// <summary>
        /// 工艺路线和 产品的关系表
        /// </summary>
        [HttpPost]
        [XSSFilter]
        public string OperateProduct(string processCode, string processName, string productCode, Guid processHeadKeys, string lineCode, bool checkeds)
        {
            return Serialize(productHeaderService.OperateProduct(processCode, processName, productCode, processHeadKeys,lineCode, checkeds));
        }


        /// <summary>
        /// 产品明细 分配 物料
        /// </summary>
        [HttpPost]
        [XSSFilter]
        public string AssignMaterial(string materialCodes, Guid proHeadKeys, bool checkeds)
        {
            return Serialize(productHeaderService.AssignMaterial(materialCodes, proHeadKeys, checkeds));
        }
        #endregion
    }
}